среда, 9 марта 2011 г.

Шифр Полибия

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


Сегодня речь пойдет, а самом используемом шифре, правда не в данное время, а вообще за всю историю криптографии. Я расскажу о шифре Полибия, его можно отнести к классу исторических шифров, так как он в наше время уже не используется. Но в свое время, это был "прорыв", так как тексты зашифрованные шифром Полибия, были более устойчивые, чем тексты зашифрованные шифром сциталы (шифр Древней Спарты), шифром Цезаря или Августа (шифр Цезаря или Августа появились после шифра Полибия) и т. п.

Попробуем зашифровать текст шифром Полибия. Для этого возьмем квадрат с размерами 5x5 и впишем в него буквы латинского алфавита, причем I,J пусть будут в одной клетке:


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

m = "cipher"
c = "13,24,35,23,15,42"

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

Для данного шифра можно использовать частотный анализ. Это простой статистический подход, в котором учитываются частоты букв. Для латинского алфавита (как и для любых других) известны частоты появления букв в тексте. Например, известно, что среди 1000 букв в обычном русском тексте, буква "О" встречается примерно 90 раз (частота 0,090). Так как шифр Полибия является шифром замены, то есть такой в котором все буквы исходного текста заменяются вполне определенными последовательностями, то частоты распространяются и на закодированное сообщение. Следовательно, можно с легкостью применить частотный анализ, правда на текстах, длина которых, хотя бы более 50 букв. Поэтому-то этот шифр и не считается стойким, что и естественно для шифра разработанного в 2 веке до н.э!

Теперь задание, вы можете скачать его отсюда. Известно, что используется квадрат с русским алфавитом, где буква ё=е, также используется пробел, точка и запятая. Известно, что строки и столбцы нумеруются с 0 до 5, то есть квадрат имеет размеры 6x6 (по шифр-тексту видно).

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

При решении вам можете пригодиться программа Paseek 2.5. Я ее использую для подбора имен существительных.

И не забывайте, если у вас возникнут вопросы, то обязательно задавайте, ибо я мог ошибиться или не раскрыть некоторые подробности.

1 комментарий:

  1. у меня есть зашифрованный текст, шифром Полибия. длина его 30 букв. Частотным анализом вычислить довольно сложно. Какие ещё есть методы?

    ОтветитьУдалить