Шифр простой замены


Теория

Криптография бывает двух типов: криптография, которая помешает читать ваши файлы вашей младшей сестре, и криптография, которая помешает читать ваши файлы людям из правительства.
Брюс Шнайер
Прикладная криптография

Шифр простой замены, простой подстановки, моноалфавитный шифр — класс методов шифрования, которые сводятся к созданию по определённому алгоритму таблицы шифрования, в которой для каждой буквы открытого текста существует единственная сопоставленная ей буква шифр-текста. Само шифрование заключается в замене букв согласно таблице. Для расшифровки достаточно иметь ту же таблицу, либо знать алгоритм, по которой она генерируется.

К шифрам простой замены относятся многие способы шифрования, возникшие в древности или средневековье, как, например, Атбаш (также читается как этбаш) или Шифр Цезаря. Для вскрытия подобных шифров используется частотный криптоанализ.

Для вскрытия шифра простой замены используется такой метод криптоанализа как Частотный анализ.

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

Частотный анализ предполагает, что каждая буква алфавита того или иного языка в довольно длинном тексте встречается с определенной частотой, к примеру, для русского языка известно, что буквы «О», «П», «Р» встречаются очень часто, а вот «Й», «Ъ» — редко. Как же работает данный метод? К примеру, имеется зашифрованный текст, полученный методом какой-либо перестановки букв по определенному алгоритму, и аналитикам требуется его расшифровать. Для этого берется открытый текст, желательно довольно длинный, затем подсчитывается в нем частота каждой буквы, причем, чем больше будет текст, тем точнее получится расшифровка.

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

Практика:

Задание 1

  • Возьмём задание "analyze.txt" категории Crypto из репозитория "xairy/mipt-ctf"

  • Перейдя по ссылке мы получим текст. Текст не маленький 103 тысячи символов без пробелов!

  • Но нам это на руку, чем больше текст, тем с большей вероятностью мы будем угадывать символы.

    Метод через CrypTool

  • Загружаем текст в CrypTool 1.4.30

  • Analysis > Symmetric Encryption (classic) > Ciphertext-Only > Substitution. Дальше программа сама сделает за нас все (проведет анализ и выдаст исходный текст).

  • Остается указать автора как флаг

Задание 2 (fhq2015 ctf)

  • Информации куда меньше, но прогнав это все в первую очередь через шифр Цезаря и убедившись, что это не он мы приступаем к частотному анализу.

  • CrypTool это делается за пару мгновений.

Подводя итог:

  1. CrypTool - универсальная программа для взлома почти всего.
  2. Частотный анализ текста
  3. Семантический анализ текста

results matching ""

    No results matching ""