Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #62, ФЕВРАЛЬ 2004 г.

Криптоанализ — наука решения головоломок

Иван Скляров

Xakep, номер #062, стр. 062-072-4


Как «CryptFuck v3.1» зашифровал слово «Ash»?

Руководствуясь вышеназванным свойством XOR, попробуем сделать следующее:

Sklyarov

XOR

a]\ISD_F

--------

26002600

Ясно, что ключ, которым было зашифровано слово «Sklyarov», есть «2600»! Применим его к слову «Ash» и получим ответ «sEX». Вот и все! Решение заняло не больше минуты! И я, честно говоря, был удивлен, что тогда пришло так мало ответов.

Теперь представим, что первоначально нам неизвестен вообще ни один участок открытого текста (что чаще всего и бывает в реальности). Например, нужно расшифровать следующий текст:

Т.к. частотный анализ в данном случае не поможет, попробуем произвести атаку по открытому тексту. Что это значит? Просто попробуем наудачу поискать слова, которые предположительно могут оказаться в зашифрованном тексте. Например, для английского языка с большой долей вероятности это могут быть: and, are, with, than и т.д. Но мы пойдем нестандартным путем и попробуем поискать слово fuck :). Для этого проксорим шифротекст этим словом, и вот что получим в итоге:

Здесь нужно добавить, что вместо непечатных символов, типа разных стрелок и т.п., в программе на Си нужно указывать их коды, например, так «\x13». Если в шифротексте попадается обратный слеш, то его нужно удвоить «\\», чтобы компилятор не выдавал ошибку.

Но посмотрим внимательно на полученный результат. Заметно, что присутствуют похожие последовательности: «231» и «1231». Это может быть, опять же, простым совпадением, а может быть, и нет. Попробуем взять в качестве ключа «123» и проксорить им первоначальный шифротекст. Вот что мы получим:

Fuck your mother all to fuck hell!

Нам повезло - ключ оказался таким маленьким! Если бы он был большим (длинным), то пришлось бы угадывать различные слова в шифротексте, выискивать одинаковые последовательности и делать попытки составить из них полноценное ключевое слово.

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

Удачи в рубрике X-Puzzle! ;)

Как определяется частота буквы

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

Что такое Криптология

Криптология (с греческого kryptos - тайный, logos - наука) — наука, занимающаяся изучением защиты информации путем ее преобразования. Криптология включает в себя два направления: криптографию и криптоанализ. Криптография изучает способы преобразования информации с целью ее защиты, а криптоанализ исследует способы расшифровки информации без знания ключей.

Назад на стр. 062-072-3  Содержание  Вперед на стр. 062-072-5