Взлом моноалфавитного подстановочного шифра методом частотной атаки
Цель работы:ознакомиться на практике с использованием частотной крипто-атаки при взломе подстановочных шифров. Недостатком моноалфавитного шифрования является то, что, если какая-то буква встречается в исходном тексте чаще всего (например, буква «О» в русском алфавите), то и соответствующая ей буква шифра в зашифрованном тексте также встречается чаще всего. В приложении в таблице 4 приведены частоты встречаемости букв в русском тексте (в процентах): Таблица 4- частоты букв (в процентах) в русском алфавите
Практически все буквы имеют разные частоты. Следовательно, подсчитав, какие буквы (или другие символы) чаще всего встречаются в шифровке, криптоаналитик может подобрать расшифровку для этих букв текста. Затем, анализируя короткие слова, найти еще буквы, истинные значения которых можно с высокой степенью уверенности предугадать. Например, если уже расшифрована буква «О» и в тексте есть слово «ОЫО», то, скорее всего, букве «Ы» в зашифрованном тексте соответствует буква «Н» в исходном тексте («ОНО»). Чем дальше расшифровывается текст, тем легче идет процесс расшифровки. Аналогичная таблица частот букв есть в английском и других алфавитах.
Задания: 1. Рассмотрите таблицы частот символов (таблица 4 и приложения 1 и 2). 2. Выполните расшифровку текста методом частотного криптоанализа. Указания к работе: 1. Запустить на выполнение файл labw01.exe На экране появится окно выполнения лабораторной работы (рис. 4). В левой части окна находится зашифрованный текст (буквы, выделенные красным цве-том). В процессе расшифровки расшифрованные (правильно или неправильно) буквы текста меняют цвет с красного на черный. Чтобы указать для какой-либо буквы шифра ее истинное (расшифрованное) значение, нужно в поле «Буква в шифре» указать значение буквы, например, “б”, а в поле «Заменить на» - ее истинное значение, например, “и”, а затем нажать кнопку “Добавить“. Чтобы отменить указанную расшифровку буквы, нужно в списке расшифровок мышкой указать соответствующую пару букв и нажать кнопку «Удалить». Полоса вертикального скроллинга служит для навигации по расшифровываемому тексту.
Рисунок 4. Окно выполнения лабораторной работы
2. Начинается частотная атака с анализа частот встречаемости букв в шифровке. Для этих целей в окне выполнения лабораторной работы предусмотрена кнопка «Показать частоты». При ее нажатии на экран выводится перечень десяти наиболее часто встречаемых букв в шифре, а также перечень букв, наиболее часто встречаемых в русском языке (рис.5)
Рисунок 5. Информация о частотах встречаемости букв в шифре Первым шагом в расшифровке текста может быть указание расшифровки для самой часто встречаемой буквы - буквы «о». Для случая, приведенного на рис. 5, указывается «о» как расшифровка буквы «м» шифра. Следует помнить, что для конкретного текста частота встречаемости букв может быть несколько иной, чем в среднем для русского языка. Если в русском языке, например, буква «т» встречается чаще, чем буква «л», то в каком-то конкретном тексте буква «л» вполне может встречаться чаще буквы «т». Поэтому слепо опираться на данные частотного анализа не следует. 3. В зашифрованном тексте осуществляется поиск коротких слов, зашифрованные буквы которых можно предсказать по уже расшифрованным буквам и частотной информации из рис. 5. Далее повторяется поиск коротких слов, в которых можно догадаться о значении зашифрованных букв. Когда так много букв уже известно, зашифрованные буквы могут мешать для понимания слов. Для облегчения дальнейшего анализа в программе предусмотрена возможность выставления флага «Показать только замененные», при выставлении которого все зашифрованные буквы выводятся на экран в виде символов решетки. Теперь видно, что слово «##о#о##отал» в нижней строке вполне может быть словом «пробормотал». Когда же все буквы текста расшифрованы, на экран выводится информационное окно, свидетельствующее о успешной расшифровке текста.
Рис. 6. Информационное окно, свидетельствующее о успешной расшифровке текста ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|