Pull to refresh

Старые протоколы, которыми можно пользоваться и сегодня

Reading time13 min
Views11K
Устали от тяжёлых веб-страниц, всплывающих окон, мерцающих баннеров, N-факторной аутентификации, слежки за пользователями и аналитики? Тогда вы можете попробовать поработать с протоколами, которые не менялись последние тридцать лет.


Примерно тридцать лет назад люди видели онлайн-страницы так.
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments23

Скучно о работе дешифрации NGFW

Reading time11 min
Views11K

Если вы хотите окончательно испортить первое свидание – поговорите с девушкой о дешифрации. Да и в случае последующих – тоже не стОит.

Наша встреча с вами не первая, поэтому в этом тексте речь снова пойдет о дешифрации.
Да, я вновь расскажу об SSL. Могу обрадовать себя и вас тем, что это второй и последний материал на эту тему. Возможно.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments22

Ломаем модифицированный AES-256

Reading time9 min
Views58K
Недавно в институте я столкнулся с любопытной криптографической задачей, которой хотел бы поделиться с Сообществом. Одним предложением задачу могу обозначить, как "Атака на LSX-шифр, не содержащий нелинейной компоненты, на основе открытых текстов". Так как русскоязычных примеров решения таких учебных «головоломок» встречается немного, а сама задача рекомендована для начинающих свой путь специалистов, я считаю, что такая статья может быть интересна юному криптоаналитику. Пожалуйте под кат.
image

Читать дальше →
Total votes 43: ↑42 and ↓1+41
Comments4

Кратко с реализацией о AES 128 ECB

Reading time5 min
Views10K

Если вбить в яндекс 'aes 128 ecb mode', найдутся хорошие статьи ребят на "хабре": раз и два — толковые и одновременно слишком подробные.


Рассказ об алгоритме в картинках находится здесь (который также можно найти по ссылкам в одной из статей ребят выше).


Кратко об алгоритме: 1) создаем объект с 16-байтным state и массивом 16-байтных ключей; 2) пишем примитивы для объекта (они же трансформации); 3) запускаем n раз (где n — кол-во раундов). Все трансформации делаем симметричными — для зашифровки и расшифровки одновременно. Расшифровка в терминах алгоритма — это зашифровка наоборот.


Структура:


using byte_t = unsigned char;
struct aes128 {
  aes128(const std::string& text, const std::string& cipher, bool decrypt = false)
    : state({begin(text), end(text)}), keys({{begin(cipher), end(cipher)}}), decrypt(decrypt) {}
  aes128() = default;
  aes128(const aes128&) = default;

  std::vector<byte_t> state;
  std::vector<std::vector<byte_t>> keys;
  bool decrypt;
}
Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments8

Как устроен AES

Reading time7 min
Views290K

О чём эта статья



Долгое время я считал, что криптографические алгоритмы шифрования и хеширования, вроде AES и MD5, устроены очень сложно и написать их совсем не просто, даже имея под рукой полную документацию. Запутанные реализации этих алгоритмов на разных языках программирования только укрепляли это мнение. Но недавно у меня появилось много свободного времени и я решил разобраться в этих алгоритмах и написать их. Оказалось, что они очень просто устроены и для их реализации нужно совсем немного времени.

В этой статье я напишу как устроен алгоритм шифрования AES (которого иногда называют Rijndael) и напишу его на JavaScript. Почему на JavaScript? Чтобы запустить программу на этом языке, нужен только браузер в котором вы читаете эту статью. Чтобы запустить программу, скажем, на C, нужен компилятор и найдётся совсем мало желающих, готовых потратить время на компиляцию кода из какой то статьи. В конце есть ссылка по которой можно скачать архив с html страницей и несколькими js файлами — это пример реализации AES на JavaScript.

Читать дальше →
Total votes 120: ↑115 and ↓5+110
Comments45

На что способен мозг студента, познающего компьютерный мир

Reading time7 min
Views24K
Доброго времени суток.

Закончив писать очередной скрипт на Bash, понял, что всё должно быть совершенно иначе, однако всё работало. Хочу вам показать, какие непотребства и костыли написал я, дабы решить задачу, но пока не имея вагона знаний. Иначе говоря, карикатура на программирование.
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments30

Создаем плагин региона для Oracle Application Express

Reading time8 min
Views7.5K
Данная статья предназначается всем тем, кто плотно работает с Oracle Application Express (в просторечии — APEX, а то и просто апекс). А так же тем, кто что-то слышал и подумывает начать использовать его в работе. После прочтения статьи, я надеюсь, у вас прибавится желания сделать это.

Вводная информация


Предполагается, что читатель знаком (или познакомится вскоре после прочтения) хотя бы в общих чертах со следующими вещами:

  • Что такое SQL и PL/SQL, и чем они друг от друга отличаются
  • Какие объекты бывают в СУБД Oracle и зачем они нужны (таблицы, пакеты, вью)
  • Основные компоненты приложения апекса: страница, регион, итем, процесс и т. д., как их создавать и удалять
  • Основы администрирования апекса: как создать в оракле таблицу, пакет, вью и как потом сделать их доступными для своего приложения
  • Как использовать значение итема в качестве параметра SQL-запроса

Ничего сверхсложного в этих пунктах нет, всеми этими вещами на базовом уровне можно более-менее овладеть за месяц неспешной работы. Пример предназначен для пятой версии апекса, которая вышла чуть меньше года назад.
Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments0

Термодатчик из звуковой карты

Reading time6 min
Views6.9K

Всем привет!

Как-то раз зимой у меня сгорел греющий кабель в водопроводе (он не даёт замёрзнуть воде в трубах, проложенных близко к поверхности). Кабель конечно пришлось заменить, водопровод отогрелся и снова заработал, однако возникло жгучее желание "что-то с этим сделать". Хотя бы узнавать о его неисправности заранее, а в лучшем случае - ещё и автоматически отогревать. Идея в общем-то несложная: надо мерять температуру трубы и включать обогрев (при помощи любого электрического обогревателя), если она мёрзнет. Всё просто, но датчика температуры под рукой нет. Конечно, можно его заказать на всем известном китайском сайте, или на не менее известном российском, но это совершенно неспортивно. Потому попробуем изготовить датчик из имеющихся под рукой компонентов. Для этого нам понадобится: звуковая карта (наверняка найдётся в компьютере), два jack-разъёма (от наушников или микрофонов), один терморезистор и пара резисторов.

Disclaimer: всё нижеизложенное просьба воспринимать как забавный способ размять мозги и развлечься. Само собой, "по-хорошему" надо обзавестись нормальным датчиком, а не придумывать велосипед. Однако мне было интересно собрать что-то не очень типичное, а заодно и разобраться в генерации и анализе звука в коде.

Читать далее
Total votes 33: ↑31 and ↓2+29
Comments22

Видео с Positive Hack Days 2012 — в открытом доступе

Reading time9 min
Views26K
image

30 и 31 мая в техноцентре Digital October прошел международный форум Positive Hack Days 2012, посвященный вопросам практической безопасности. Полторы тысячи человек, десятки докладов и мастер-классов, масштабные соревнования СTF, насыщенная конкурсная программа — все это PHDays. Сейчас уже можно с полной ответственностью заявить, что нам удалось смешать особый коктейль из представителей интернет-сообщества, профессионалов в области ИБ и хакеров из разных стран мира и что коктейль получился вкусным.

Сегодня мы, как и обещали, публикуем записи докладов и мастер-классов с PHDays 2012. Среди гигабайтов видео, посвященного информационной безопасности, есть вещь, как говорится, посильнее «Фауста» Гёте — доклад Брюса Шнайера, легенды мировой криптографии. Приятного просмотра!
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments17

Защита от DDoS на уровне веб-сервера

Reading time5 min
Views46K
Статистика DDoS-атак показывает неизменный рост и смещение вектора с сетевого уровня на уровень приложений.

image

Если у Вас есть небольшой сайт на сервере с минимальными характеристиками, то положить его можно любым вполне легальным средством стресс-тестирования. (Не рекомендую этого никому делать т.к. IP-адрес легко вычисляется и экспериментатор может влететь на возмещение ущерба.) Поэтому сайт без защиты от DDoS очень скоро будет выглядеть так же дико, как компьютер с Windows-98 без анивирусника.
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments4

Сравниваем TCO покупки «железа» и аренды облака

Reading time25 min
Views29K


Представьте, что в ресторане вам предложили попробовать новый соус к вашему любимому блюду, отметив, что так оно становится в два раза вкуснее. В таком случае вам не останется ничего, кроме как сделать это. Ведь иначе определить, почему официант оценил свои субъективные чувства как «в два раза вкуснее», а не, например, в три, никак не удастся. Когда речь заходит о расходах на ИТ-инфраструктуру, мало кто готов положиться в этом вопросе на чьи-либо чувства или интуицию. Для выбора «в два раза более вкусного варианта» потребуется найти достоверный и надежный метод оценки экономической эффективности.

Особенно важен такой расчет, если вам необходимо убедить руководство, в том числе финансового директора, в правильности вашего решения.

Цель этой статьи — разобраться в методике TCO для разных вариантов получения права пользования ИТ-инфраструктурой и провести соответствующие расчеты, дабы выявить наиболее экономически эффективную альтернативу.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments56

Deprecated! Автоматизация получения сведений из ЕГРЮЛ с помощью Freepascal

Reading time9 min
Views10K


В своей работе (юридической) я готов автоматизировать всё, что только поддаётся этому. Но пока прокачанные нейросетями роботы из утопии Германа Грефа не появились и не отняли всю работу у рядовых юристов, рутина надолго останется нашим главным спутником. Автоматизация этой рутины — то, чем я периодически занимаюсь на протяжении последних лет, будь то многочисленные таблицы в excel с кучей формул, позволяющих быстро распечатать сотню однотипных документов-рассылок в word'е, ну или автоматически генерируемые отчеты. Но есть и такие вещи, которые простыми формулами и подстановками не сделаешь. Здесь на помощь приходит программирование, которым я увлекаюсь с детства, и так уж вышло, что началось это с delphi. Сейчас мне проще, чем в C# или python, осваивать которые начал недавно, сделать быстро какой-то проект в среде Lazarus, используя freepascal. И да, я на полном серьёзе считаю, что возможностей этой среды более, чем достаточно. Поэтому автоматизировать ЕГРЮЛ, как вы догадались, предстоит с помощью паскаля.

Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments15

Прогрессивная загрузка XML страниц

Reading time14 min
Views3.4K
Прогрессивная загрузка XML страниц — это загрузка с одновременным показом уже загруженных и обработанных частей XML страницы пока XSLT шаблон всё ещё обрабатывает остальные части.

image


У нас есть очень большой XML. Это статья с очень большим количеством комментариев. На медленном и нестабильном мобильном интернете её загрузки можно и не дождаться. Во время загрузки случается обрыв связи и XML остаётся не догруженным. Казалось бы можно просто обновить страницу и браузер бы просто догрузил недостающую часть. Но нет. Браузер грузит страницу заново и снова это не удаётся и мы видим ошибку вместо страницы.


Но выход из этой ситуации есть. Мы разделим XML на маленькие кусочки которые будут успевать загрузиться на медленном канале и попадут в кеш. Бонусом мы получаем защиту от недогруза и прогрессивную загрузку.

Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments0

Flash +.РФ. Что делать?

Reading time3 min
Views3.8K
Собственно, проблема.
Флэш-ролик не может обратиться к ресурсам на сервере, если размещен на сайте с международным именем (в частности, РФ). Замечено в браузере Firefox под Windows.
Не очень приятный глюк, особенно с учетом распространенности данного браузера и данной платформы… Беглый взгляд по форумам не принес желаемых результатов, и пришлось взяться за исследования. Итак, подробности…
Читать дальше →
Total votes 88: ↑60 and ↓28+32
Comments75

Результаты продвижения «Великолепной восьмёрки приложений»

Reading time3 min
Views6K
Сегодня мы хотим поделиться результатами продвижения восьмерки приложений под Windows 8. Напомним, что победители новогоднего конкурса приложений получили приз — продвижение приложений силами компаний Майкрософт в период новогодних праздников.

Что включал в себя приз


Приз включал в себя 4 млн показов в онлайне, бесплатные рекламные показы от AdDuplex, промо на microsoft.com и площадках партнёров:

1. Приложения будут размещены на специальной странице конкурса на ресурсе microsoft.com.
2. Каждое приложение получит минимум 4млн показов и будет продвигаться в следующих цифровых каналах коммуникации:
— в поиске (Yandex и Google);
— в самой популярной сети ВКонтакте;
— на мобильных версиях 36 популярных сайтов;
— на социальных ресурсах Microsoft ВКонтакте и на Facebook для более 55 тыс.подписчиков и их друзей;
3. Упоминание в спец проектах Майкрософт, посвященных Windows 8:
— Afisha.ru
— Timeout print
— Cosmo.ru
— Maximonline.ru
— Spletnik.ru
— Woman.ru
4. Приз от AdDuplex — по 250 000 показов рекламы в сети AdDuplex.
Результаты продвижения, выводы
Total votes 26: ↑14 and ↓12+2
Comments16

Черные списки рунета в действии. Как снизить риск для своего сайта

Reading time6 min
Views30K
image Законопроект №89417-6, принятый 10 июля 2012 года Государственной Думой РФ, ознаменовал новую эпоху развития рунета. У властей наконец-то появился механизм, позволяющий блокировать неугодные сайты руками провайдеров доступа к интернету. К сожалению, как и у большинства законов принятых в последние 4 года, реализация исполнения была продумана чуть менее чем полностью, что привело к блокировке вполне невинных сайтов. Сегодня, по прошествии чуть более двух лет, по данным сайта rublacklist.net незаконно блокируется доступ к 58940 доменным именам, не содержащим никакого противоправного контента. Вопрос о том, почему это происходит, и о способах избежать такой ситуации мы и рассмотрим в данной статье.
Ваш сайт попал под блокировку - кто виноват?
Total votes 69: ↑57 and ↓12+45
Comments63

Хранимые процедуры, функции и триггеры на Java

Reading time14 min
Views7.7K

Всем привет! Сегодня мы расскажем о полезной возможности СУБД Ред База Данных - создании внешних подпрограмм, то есть процедур, функций и триггеров на языке Java. Например, язык PSQL не позволяет работать с объектами файловой системы или сети, а Java запросто решает такие задачи и существенно расширяет возможности встроенного языка.

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments13

xbmcswift2 — микро-фреймворк для написания плагинов к Kodi (XBMC)

Reading time7 min
Views7.1K

Вступление


Это, так сказать, «бонусная» статья в моей серии статей о плагинах к медиацентру Kodi (XBMC). Прежде всего, необходимо отметить, что, начиная с версии 14.0, популярный медиацентр меняет название с XBMC на Kodi. О причинах смены названия можно почитать на официальном сайте и форуме, и для нашей статьи они не принципиальны. Однако дальше в статье будет использоваться новое название — Kodi.
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments0

Ускорение WordPress. Тотальный разбор плагинов для кэширования. Личный опыт (часть 1)

Reading time14 min
Views19K

Что делать, если сайт на WordPress грузится медленно? Ответ на самом деле прост – настрой кеширование. Можно ещё заниматься оптимизацией изображений, настройкой lazy loading и прочими хитростями. Но кеширование всё равно остаётся ключевым способом ускорения любого сайта на Вордпресс. Кажется, всё просто, зайди в Google, напиши "WordPress cache", найди статью, где больше всего картинок, скачай упомянутый в статье плагин и выстави настройки согласно скриншотам. При любом раскладе твой сайт сразу начнет работать в разы быстрей.

Но дьявол, как обычно, кроется в деталях. В интернете есть самые разные обзоры и сравнения плагинов кеширования. И за столько лет кто-то же должен был выдать идеальный рецепт? Но нет. Все эти обзоры сводятся к тезису: «мы сделали 10 одинаковых сайтов, установили плагины с дефолтными настройками и смотрим, где страница загрузилась быстрее». При этом все забывают, что нюансов при оптимизации кеширования вагон и маленькая тележка. Похоже, эта статья первая, которая примет во внимание реальное поведение пользователей на сайте, вместо сравнения скорости загрузки одной страницы в тепличных условиях.

Используя бестселлеры с Themeforest или, те же конструкторы, вроде Elementor, WP Backery и прочие, сайт обречен на 5-15 секунд TTFB (time for first byte, время ответа сайта) при загрузке КАЖДОЙ страницы. С одной страницы может быть несколько сотен обращений к базе данных, выполняться большое число php-функций, подключаться множество библиотек. Естественно, что такая скорость недопустима, она влечет за собой понижение в поисковой выдаче, "отказы" посетителей, сливы бюджетов на рекламу и так далее. С этим нужно что-то делать.

Читать далее
Total votes 17: ↑15 and ↓2+13
Comments7
1
23 ...