Рубрика «криптография» - 89

Bitcoin взял рубеж в $500 за 1 BTC

Сегодня произошло еще одно памятное событие, курс Bitcoin вырос до очередной рекордной отметки — 500$ = 1 BTC
Читать полностью »

TorChat

TorChat — это анонимный кроссплатформенный мессенджер, использующий сеть Tor и шифрующий переписку. В данной статье рассмотрен протокол, используемый TorChat, и улучшения, внесённые в реализацию TorChat на Python.
Читать полностью »

Никогда не повторяйте этого дома: модификация алгоритма шифрования HC 128
HC-128 (pdf) — финалист европейского проекта eSTREAM, поточный шифр с довольно большим внутренним состоянием
(2 независимых массива по 512 32битных слов). Он очень шустрый если шифровать большие потоки, но, поскольку инициализация этих массивов занимает приличное время, не сильно эффективен в пакетном режиме. Справа 6 основных функций, которые в нём используются. Он не перегружен страшными длинными массивами констант, его реализация (под катом) по сравнению с другими выглядит простой и более-менее понятной. Началось всё с того, что меня зацепили две функции f1 и f2
Читать полностью »

Неявные предикатыРечь здесь пойдёт о некоторых аспектах компьютерной безопасности, связанных с запутыванием кода программы. Именно это мне было интересно в связи с разработкой обфускатора .NET приложений – программы для защиты .NET кода от взлома. Есть и другая – тёмная сторона: запутыванием кода очень интересуются разработчики вирусов и других нехороших штук, но нам они неинтересны.

Эмуляторы

Итак, Вы придумали супер алгоритм для запутывания кода программы. При декомпиляции код выглядит просто вырвиглазно и никто точно такое анализировать не будет. Казалось: победа! Но нет. Естественно обфусцированный код никто анализировать не будет… руками. Хакер поймёт как вы код запутывали и напишет «распутывалку». Если Ваш алгоритм был достаточно силён, то хакеру придётся писать собственный эмулятор, но и это не такая проблема как может показаться на первый взгляд – в сети есть доступные эмуляторы и даже специально написанные именно для целей взлома.

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

if ((x*x & 1) == 0)
  good_code
else
  мусор

«Но это же как раз одна из тех запутывалок, которые хакер и собирается обходить с помощью эмулятора» — скажете Вы и будете правы. А что если придумать тысячу подобных фокусов? О, это решение, если у Вас есть легион программистов, каждый из которых придумывает трюки не похожие на трюки других. В реальности это не так. В реальности Вы думаете неделю и придумываете тридцать трюков, а хакер смотрит на код один день и находит все тридцать трюков, потому что тридцать – это не так уж много.

Читать полностью »

armadillo

Лет семь назад попал в руки крякеров архив с сорцом генератора ключей для протектора под названием Armadillo. Просто кое-кому из благодарных пользователей продукта захотелось проверить его на прочность. А где еще получишь бесплатный аудит такого интересного кода, как не на крякерском форуме.

Этот генератор нужен был для того, чтобы при покупке клиентом вашей программы, защищенной Armadillo, мерчант смог сам автоматически сгенерировать для неё лицензионный ключ. Так же, он использовался в самой Armadillo и, если б была возможность узнать секрет, то можно было бы сделать кейген для неё самой. Что делало аудит кода вдвойне интересным.

Итак, вот он, оригинальный, добытый путём титанических усилий, архив. (исходник на C)

Попробуйте без подсказок понять, в чем именно сокрыта уязвимость. Там хоть и куча кода, но он хорошо читаем. Не получилось? А если глянуть на 528 строчку?
Читать полностью »

На волне последних скандалов с АНБ пришло осознание того, что, в конечном итоге, никому нельзя верить — рано или поздно может оказаться, что Ваши данные на сервере X, как оказалось, прослушивались некой организацией, хотя на словах говорилось о полном шифровании всех данных пользователя.

image

Читать полностью »

Сообщество собрало больше 60 000 долларов на открытый независимый аудит TrueCryptПо статистике с официального сайта, программа для работы с зашифрованными разделами и файлами TrueCrypt была скачана почти тридцать миллионов раз. Это один из самых, если не самый массовый криптографический инструмент, доступный простому смертному и в то же время обладающий богатыми и глубокими возможностями.

В следующем году TrueCrypt исполнится десять лет. Несмотря на столь солидный возраст, за всё это время так и не был проведён формальный независимый аудит кода программы. Как и во многих других проектах Open Source разработчики постоянно работают над новым функционалом и исправлением ошибок, но не находят времени, денег и возможностей для подобных мероприятий. У TrueCrypt есть и другие проблемы — не совсем ясная и понятная лицензия, нет официального репозитория кода на Гитхабе или другой подобной площадке, не формализован процесс компиляции и сборки, из-за чего нельзя гарантировать идентичность работы программы на разных платформах.

Всё это, а так же откровения Эдварда Сноудена о тотальной слежке и закладках АНБ в криптографическом софте, которые бросают тень в том числе и на TrueCrypt, вдохновило Кеннета Уайта, программиста и специалиста по биотехнологиям, и Мэтью Грина, профессора Университета Джона Хопкинса и криптолога, начать краудфандинговую кампанию, цель которой — провести полный аудит кода TrueCrypt, привести в порядок его лицензию, разработать и документировать стандартный алгоритм сборки бинарников на всех платформах и создать публичный репозиторий кода. Идею поддержала и команда разработчиков TrueCrypt.
Читать полностью »

6 ноября мы дали старт новому этапу ежегодной программы поддержки научных кадров России, направленной на развитие научных разработок и исследовательских проектов в области криптографии и информационной безопасности.

Читать полностью »

Утопающие не собираются спасать себя самостоятельно, поэтому предлагаем вам сделать четыре простых шага к увеличению безопасности посетителей вашего сайта.
image
Начитавшись откровений Сноудена, решили немного поработать. Расскажу про наш опыт реализации, последствия и реакцию пользователей.

Шаг 1. Без регистрации

Читать полностью »

Аппаратная поддержка алгоритма AES современными процессорами
Компанией Intel в 2008 г. были предложены новые команды для x86 архитектуры, которые добавили поддержку на аппаратном уровне симметричного алгоритма шифрование AES(Advanced Encryption Standard). На данный момент AES — один из самых популярных алгоритмов блочного шифрования. Поэтому аппаратная реализация должна привести к повышению производительности программ использующих этот алгоритм шифрования(OpenSSL, The Bat, TrueCrypt ...). Новое расширение команд получило название AES-NI. Оно содержит в себе следующие инструкции:

  • AESENC — Выполнить один раунд шифрования AES,
  • AESENCLAST- Выполнить последний раунд шифрования AES,
  • AESDEC — Выполнить один раунд расшифрования AES,
  • AESDECLAST — Выполнить последний раунд расшифрования AES,
  • AESKEYGENASSIST — Поспособствовать в генерации раундового ключа AES,
  • AESIMC — Обратный Mix Columns.

Так как про сам алгоритм шифрования AES было уже было сказано многое, то в этом посте рассмотрим, как можно воспользоваться этими инструкциями.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js