Криптоанализ — наука решения головоломок Иван Скляров 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 - наука) — наука, занимающаяся изучением защиты информации путем ее преобразования. Криптология включает в себя два направления: криптографию и криптоанализ. Криптография изучает способы преобразования информации с целью ее защиты, а криптоанализ исследует способы расшифровки информации без знания ключей. |