Автокорреляционный метод

Перейти к навигацииПерейти к поиску

Автокорреляционный метод — это метод криптоанализа полиалфавитных шифров, например таких как шифр Виженера.

Описание метода

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

Данный метод позволяет отыскать длину ключевого слова с лучшей точностью, чем метод Касиски[1].

Сам метод состоит в том, что исходный шифротекст выписывается в строку, а под ней выписываются строки, полученные сдвигом вправо на позиций. Для каждого подсчитывается число совпадений , где и вычисляются автокорреляционные коэффициенты :

Для сдвигов, кратных периоду, коэффициенты должны быть заметно больше, чем для сдвигов, не кратных периоду, и иметь значение близкое к индексу совпадений используемого языка[2][1] (для русского языка ~ 0.0553). Это объясняется следующим образом. Когда величина сдвига кратна длине ключевого слова, символы и шифруются одинаковым моноалфавитным шифром, что не изменяет факт их совпадения. А так как индекс совпадений вводится как вероятность совпадения двух произвольных букв в строке, то для сдвигов, кратных или равных периоду, автокорреляционные коэффициенты, при достаточно большой длине текста, будут близки к индексу совпадений естественного языка[1].

Пример использования

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

Все, чему мне случилось быть здесь свидетелем, не было мне совершенно незнакомым, о подобных случаях я где-то что-то читал и теперь вспомнил, что поведение людей, попадавших в аналогичные обстоятельства, всегда представлялось мне необычайно, раздражающе нелепым. Вместо того чтобы полностью использовать увлекательные перспективы, открывшиеся для них счастливым случаем, они пугались, старались вернуться в обыденное. Какой-то герой даже заклинал читателей держаться подальше от завесы, отделяющей наш мир от неведомого, пугая духовными и физическими увечьями. Я ещё не знал, как развернутся события, но уже был готов с энтузиазмом окунуться в них. Бродя по комнате в поисках ковша или кружки, я продолжал рассуждать. Эти пугливые люди, думал я, похожи на некоторых ученых-экспериментаторов, очень упорных, очень трудолюбивых, но начисто лишенных воображения и поэтому очень осторожных. Получив нетривиальный результат, они шарахаются от него, поспешно объясняют его нечистотой эксперимента и фактически уходят от нового, потому что слишком сжились со старым, уютно уложенным в пределы авторитетной теории. Я уже обдумывал кое-какие эксперименты с книгой-перевертышем (она по-прежнему лежала на подоконнике и была теперь «Последним изгнанником» Олдриджа), с говорящим зеркалом и с цыканьем. У меня было несколько вопросов к коту Василию, да и русалка, живущая на дубе, представляла определённый интерес, хотя временами мне казалось, что она-то мне все-таки приснилась. Я ничего не имею против русалок, но не представляю себе, как они могут лазить по деревьям… хотя, с другой стороны, чешуя?..

А.Н. и Б.Н. Стругацкие «Понедельник начинается в субботу»

Воспользуемся шифром Виженера с ключевым словом КЛЮЧ. Зашифрованное сообщение:

МЫГОПЦСВЦРПБЬБЖБЧЫЪШДЬЪЮОРПУЪНЖЫПЬГБПЦЛЬЛЕИДХЧГЗЧНГЖБРЛГЧЧГЮ
ЦЛЗДХЕКДШШВДЛЧЩМЪХСОККУЦНПГИЧБРДЫШХЯЫЛИЯЫРНЬЩЖАЗШШКГТХХИЧЩМЩ
ППГГТРИХОРЖЕЧЩЮЫКНЦЯЮНЮГКХМЪТБЛТПШЯЗЫШЭИПХЪЗЫНЮЩЪРБЫКЩОЬОЫРЧ
МХЭБЧЫЪВЦРЛЬЧМЩОКУЛДЩЛЕЫЩЛДЧЗГГГПХГЕДЦАВПЫРДЫШБДАЬМШДЩМБЦШПИ
ЕИЖЗШШИУСШАЧЫЖСЩФРЗЧЫРИУЦЕГЕПЪПЕПФРЯМЕМИУЪЩЩБУГЗИПИЦЦУУЗАЛПИ
ФУАТХЫИКАЛГВЧЧЖЕЬОЮБТЫЪЗЫЛОЧФУПУМРОГЬЬЪЗИНМШДПГГЦШГАКФМЯЫШБЬ
ЩШЖЫКСГЮКФИЯЦЛИОТЬЮИПХГЯОРОЭКЬЪЗИЩМЫКХЪППШРЮКНГЗДШРЫПХЭХВРЖГ
КВКЯЩШРГПНГЫЧЦМЪЧЩСЪККВКЮШАГДЦЖЯЭУЕЯАРПАТЦЖКМРХУИЦЖЦПГГГПТЛЧ
ФФЮАЩЛЕЩПЪЛКЫЫЭЗЧМЩИТКЛДЬСГШДХБДЫШАЗЖЧРКСУЮЮХШКДУЭЛКЫЖПЦМЧЖМ
ЛЪМЫИЩМАЧЦЛЧЫРАЕЧУПАКЯЗДМВЮЯФУЗЖЬСЗЯИЩОДОШИЭКХОЧЪЫСЭОЛРУЖЬЖЕ
ЬОИЯМЕГБЗПЖЫЬЦЮБИЩММЧСЖГКЧГАЧЬМЖДЯСОПЧЩМЖФПЕПЪЖВПЧРЧЫШОДМШХЬ
ЦЖСЕЧЪЛТЮШХЬЦЖРЖЬПМБЗМЖЩДЯЛДЦЛХЯЪЬМБТВГГЦЕУЩЧШЯЖКСГГТКЖЕЧЗРД
ХЭМОПЧЪДЪЬМЖЧСЛТЮЩМБЬБЖЩЦРРЖТНЖЧФЖЛТТЪГЮЬХЪИКЬМГТВЮЖКЯЮХЫЫЭД
ЫЧГЪЧЩМЗШРЦГЧШЯСИЫЛЦЗЬГЪЧЧГОТЫРДЫШЖФУЫНЬЩУКЬЦЬЮЯЭЛЗИТБГЗУУСМ
ЧПЭИЧЬЛДМШБДШШРДХЭХИЧЫИЯБФМВЪСЖБТЫЪЗЧЫРЧЩЕККЗЬЛДЬХМЭПЧЛТХННЖ
ППГБДЛАИЧЪЖИПЬЛДТЬГДЩУЖЦЬСГДЛПСВДНЮБУШГАКФЖЬЖФПЕПЪЖВПЧРТЪФЛЯ
НШЖЕПЪГЩПЪРТБРКДЦЛНДШЪГЭЦРККФРДЧФЛЛЧШШВДУШЛГТФГЯЛЕИЧЫРНЬЩЖНД
ЪХГЫЦУКЯСОЛЧЦЧЖАЧЦМБОЪЖЫРЛПЪЧНМЖИГЖВСРОАКХМВТЫФТУЛЛУПЦСВПЧЭШ
ДХМГПЫЗДФЖЗДМШНЖЧЫМЩУФМИЬНЮЗТХЖХОЛЖЖЬЫЮБУЛДЯМЭЧЧИЧЮЫЬМГЕЩРВЗ
ЫЛАБИХЮДШЪГЫПХГГЦЕЖЯЦЬГЖПЫУДЫКАЖПЦГГКЦЖВЦРЗЧСЛИДЪЖХИЧШЛЧЫШКГ
ПНПЬЫЛЗЯШЪЖЗЦУИЧЪЖЭГТБГЪЧЧГЯХРЬЕЩШРЯМЪСЗКХМАЦШЛЬШЪГЫЪЬЮЩФКЬЗ
ПМГАКФМГТЦМЪЬЬИЧСУРУШШВЬЩРАУИЦУДЫКПЫЩЭБДТЫРДЩШЛТАРЦКИ
Автокорреляционные коэффициенты для сдвигов

Вычислим автокорреляционные коэффициенты для сдвигов и построим график . Среднее расстояние между пиковыми значениями функции равно 4, значит предполагаемая длина ключевого слова равна 4, что совпадает с использованной.

Далее необходимо найти частоты встречаемости букв для шифротекстов, полученных из колонок.

Предположим, что при шифровании использовался шифр Виженера. Тогда для расшифровки всех четырёх шифротекстов необходимо сравнить распределения частот встречаемости букв в шифротекстах с распределением естественного языка. Наилучшим образом это можно сделать при помощи критерия согласия Пирсона. Найдем значения критерия для распределений, получаемых циклическим сдвигом вправо из распределения частот встречаемости букв в русском языке.

Значения критерия для различных шифротекстов
Тестируемый сдвигШифротекст 1Шифротекст 2Шифротекст 3Шифротекст 4
0187,33236,14305,90200,40
1290,44273,37113,24304,52
2272,67273,02219,89236,90
3177,16228,69174,97207,69
498,71163,95310,41155,80
5128,73109,71422,07303,72
6131,38120,38195,10311,95
7149,33104,18212,48237,96
8186,87108,03345,46188,55
941,01133,46687,30305,10
10149,7738,14323,51499,16
11203,27106,64220,85273,98
1298,06166,77506,90207,85
13160,70107,82403,45254,92
14153,22158,91359,30251,65
15329,41125,60231,77227,18
16339,94293,00348,73149,73
17185,61328,77448,3291,33
18189,05180,04228,1595,76
19280,02198,82173,35108,07
20505,03274,43187,0787,90
21259,86357,71254,9971,54
22159,53267,11217,5538,73
23315,64163,35128,58115,03
24300,66234,8787,64159,85
25254,91310,44118,8295,58
26175,78293,11116,28118,71
27259,02216,49180,47139,34
28424,97263,13259,86290,69
29240,80479,5945,60283,53
30182,17259,69170,44138,66

Итак, получили значения сдвигов, используемых в моноалфавитных шифрах каждой из колонок: 9,10,22,29. Для выбранного алфавита это соответствует ключевому слову шифра Виженера КЛЮЧ. Текст расшифрован.

См. также

Примечания

Литература

  • Э. М. Габидулин. Защита информации. — Москва: МФТИ, 2011.
  • Thomas Johansson. Lecture notes in cryptography. — 2005.

Ссылки