Внебрачная статья. Криптоанализ. Часть 1. Начало.

Добрый день/вечер/ночь. Мы поздравляем вас с наступившим 2021 годом(Это было почти месяц назад. Зачем их снова поздравлять.) и с прошедшим днём Мынки. Вы этого не просили, но Мынка нас уговорил. Сегодня будет весело и интересно. Советуем вам перед прочтением ознакомится с прошлыми статьями. Ну на этом мы можем начинать. Вперёд исследовать глубины криптоанализа(Ужасная фраза).

Шифр Виженера

Обычно криптоанализ шифра Виженера проводится в два этапа. На первом этапе определяется длина ключевого слова, на втором этапе — само ключевое слово.

Обозначим µ - длина ключевого слова. Для определения числа µ применяется так называемый тест Казиски, названный в честь Ф. Казиски(или Касиски, кому как нравится(Мои скоби! не используй их)), применившего его в 1863 г. Тест основан на простом наблюдении о том, что два одинаковых отрезка открытого текста, отстоящих друг от друга на расстоянии, кратном µ, будут одинаково зашифрованы. В силу этого в шифротексте ищутся повторения длины, не меньшей трех, и расстояния между ними. Стоить отметить то, что случайно такие одинаковые отрезки могут появиться в тексте с достаточно малой вероятностью.

Пусть

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #1

— найденные расстояния между повторениями и d — наибольший общий делитель этих чисел. Тогда µ должно делить d. Чем больше повторений имеет текст, тем более вероятно, что µ совпадает с d. Для уточнения значения µ, можно использовать так называемый индекс совпадения, введенный в практику У. Фридманом в 1920 г.

Для строки

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #2

длины m, составленной из букв алфавита

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #3

, индексом совпадения в х, обозначаемым

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #4

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

Пусть

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #5

Будем отождествлять буквы алфавита с числами, так что

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #6

Фридман предложил следующую Теорему: Индекс совпадения в х вычисляется по формуле

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #7

где

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #8

— число вхождений буквы

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #9

Доказать данную теорему мы предлагаем вам самим. Ну а мы продолжим.

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

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #10

независимо друг от друга, где

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #11

— вероятность появления буквы i в осмысленном тексте.

В такой модели открытого текста вероятность того, что две случайно выбранные буквы из х совпадают с i равна

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #12

следовательно,

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #13

Взяв за основу значения вероятностей

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #14

для открытых текстов на английском языке, получаем приближение

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #15

Тем самым для английских текстов х можно пользоваться следующим приближением для индекса совпадения:

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #16

Аналогичные приближения можно получить и для других языков, приведем значения индексов совпадения для ряда европейских языков:

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #17

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

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #18

переставляются местами, но сумма

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #19

остается неизменной.

Продолжим. Пусть

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #20

данный шифротекст. Выпишем его с периодом µ:

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #21

Если µ это истинная длина ключевого слова, то каждый столбец

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #22

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

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #23

для некоторого

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #24

В силу сказанного выше, (для английского языка)

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #25

при любом i. С другой стороны, если µ отлично от длины ключевого слова, то столбцы

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #26

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

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #27

будет ближе (для английского языка) к числу

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #28

Заметная разница значений

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #29

для осмысленных открытых текстов и случайных последовательностей букв (для английского языка — 0.066 и 0.038, для русского языка — 0.053 и 0.030) позволяет в большинстве случаев установить точное значение µ.

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

Пусть

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #30

— две строки букв алфавита

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #31

А теперь любимая рубрика Определения: Взаимным индексом совпадения х и у, обозначаемым

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #32

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

Пусть

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #33

— числа вхождений букв алфавита в х и у соответственно.

Теорема: Взаимный индекс совпадения в х и у вычисляется по формуле

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #34

Эта формула доказывается аналогично прошлой, поэтому мы верим что вы и эту формулу докажите.

Пусть

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #35

— истинное ключевое слово. Попытаемся оценить индексы

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #36

Для этого напомним, что

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #37

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

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #38

равна букве

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #39

, имеет вид

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #40

где вероятность появления буквы а в открытом тексте

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #41

Вероятность того, что обе буквы есть

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #42

, имеет вид

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #43

и так далее. На основании этого получаем:

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #44

Заметим, что сумма в правой части последнего равенства зависит только от разности

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #45

, которую назовем относительным сдвигом

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #46

Заметим также, что

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #47

поэтому

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #48

с относительными сдвигами s и n-s имеют одинаковые взаимные индексы совпадения. Приведем таблицу значений сумм для последней формулы для английского языка:

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #49

Обратим внимание на то, что ненулевые "сдвиги" дают взаимные индексы совпадения, изменяющиеся в пределах от 0.032 до 0.045, в то время как при нулевом сдвиге индекс

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #50

близок к 0.066. Это наблюдение позволяет определить величины относительных сдвигов

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #51

столбцов

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #52

Для этого заметим, что при некотором значении

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #53

столбец

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #54

полученный из

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #55

прибавлением к каждому его элементу числа s(i, j) (по модулю n), имеет нулевой относительный сдвиг с

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #56

Пусть

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #57

– результаты зашифрования

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #58

каждой из простых замен рассмотренных выше. Несложно вычислить взаимные индексы

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #59

(всего, таким образом, имеется

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #60

значений). Для этого воспользуемся формулой, полученной из формулы вычисления взаимного индекса совпадений.

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #61

Если s равно

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #62

- (относительному сдвигу

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #63

), то взаимный индекс впадения должен быть (для английского языка) близок к 0.066, так как относительный сдвиг

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #64

равен нулю. Если же s не равно

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #65

то взаимный индекс совпадения должен колебаться в пределах 0.032 - 0.045.

Используя изложенный метод, мы сможем связать системой уравнений относительные сдвиги различных пар столбцов

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #66

В результате останется 26 (для английского языка) вариантов для ключевого слова, из которых можно выбрать наиболее предпочтительный вариант (если ключевое слово является осмысленным(в том случае если тот, кто шифровал не читал нашу прошлую статью)). Следует отметить, что предложенный метод будет эффективным для не слишком больших значений µ. Это объясняется тем, что для хороших сближений индексов совпадения требуются тексты достаточно большой длины

На этом теория заканчивается и мы переходим к

Практике

Решим простую задачу: Задан некоторый текст зашифрованный шифром Виженера, требуется определить ключевое слово и прочитать открытый текст .

Шифрованный текст:

влцдутжбюцхъяррмшбрхцэооэцгбрьцмйфктъъюьмшэсяцпунуящэйтаьэдкцибр ьцгбрпачкъуцпъбьсэгкцъгуущарцёэвърюуоюэкааэбрняфукабъарпяъафкъиьжяффнйо яфывбнэнфуюгбрьсшьжэтбэёчюъюръегофкбьчябашвёэуъъюаднчжчужцёэвлрнчулб юпцуруньъшсэюъзкцхъяррнрювяспэмасчкпэужьжыатуфуярюравртубурьпэщлафоуф бюацмнубсюкйтаьэдйюнооэгюожбгкбрънцэпотчмёодзцвбцшщвщепчдчдръюьскасэг ъппэгюкдойрсрэвоопчщшоказръббнэугнялёкьсрбёуыэбдэулбюасшоуэтъшкрсдугэфл бубуъчнчтртпэгюкиугюэмэгюккъъпэгяапуфуэзьрадзьжчюрмфцхраююанчёчюъыхьъ цомэфъцпоирькнщпэтэузуябащущбаыэйчдфрпэцъьрьцъцпоилуфэдцойэдятррачкубу фнйтаьэдкцкрннцюабугюуубурьпйюэъжтгюркующоъуфъэгясуоичщщчдцсфырэдщэ ъуяфшёчцюйрщвяхвмкршрпгюопэуцчйтаьэдкцибрьцыяжтюрбуэтэбдуящэубъибрюв ъежагибрбагбрымпуноцшяжцечкфодщоъчжшйуъцхчщвуэбдлдъэгясуахзцэбдэулькнъ щбжяцэьрёдъьвювлрнуяфуоухфекьгцчччгэъжтанопчынажпачкъуъмэнкйрэфщэъьбуд эндадъярьеюэлэтчоубъцэфэвлнёэгфдсэвэёкбсчоукгаутэыпуббцчкпэгючсаъбэнэфърк ацхёваетуфяепьрювържадфёжбьфутощоявьъгупчршуитеачйчирамчюфчоуяюонкяжы кгсцбрясшчйотъъжрсщчл

Решение(Не смотри пока сам не решил или смотри, проверять не будем):

Используем тест Казиски. В данном тексте обнаружено четырехкратное повторение буквосочетания «брь». Выясним расстояние между ними и найдем наибольший общий делитель этих расстояний.

В результате получаем: 35, 85, 510
НОД = 5;

Следовательно, с определенной долей вероятности можно заключить, что длина кодового слова равна 5.

Запишем шифротекст в таблицу с 5 столбцами, предполагая, что длина ключевого слова равна 5. Это поможет нам убедится, что мы верно определили длину ключевого слова.

Вычислим взаимные индексы совпадения

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #67

букв в каждом из столбцов таблицы. Для этого посчитаем частоту повторения букв в каждом столбце.

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #68

Частота повторения букв в столбцах:

1 столбец (общее количество букв m=198)

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #69
Внебрачная статья. Криптоанализ. Часть 1. Начало., image #70

2 столбец (общее количество букв m=198)

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #71
Внебрачная статья. Криптоанализ. Часть 1. Начало., image #72

3 столбец (общее количество букв m=198)

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #73
Внебрачная статья. Криптоанализ. Часть 1. Начало., image #74

4 столбец (общее количество букв m=198)

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #75
Внебрачная статья. Криптоанализ. Часть 1. Начало., image #76

5 столбец (общее количество букв m=197)

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #77
Внебрачная статья. Криптоанализ. Часть 1. Начало., image #78

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

После того как мы нашли длину ключевого слова произведем поиск его истинного значения. Для этого воспользуемся взаимным индекс совпадений. Взаимный индекс совпадения значения ключевого слова для русского языка должен находиться в приделах 0.053 – 0.07. И для его вычисления предварительно необходимо определить относительный сдвиг всех столбцов относительно первого.

Сдвиг 2-го столбца на 6 позиций

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #79
Внебрачная статья. Криптоанализ. Часть 1. Начало., image #80

Сдвиг 3-го столбца на 3 позиции

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #81
Внебрачная статья. Криптоанализ. Часть 1. Начало., image #82

Сдвиг 4-го столбца на 16 позиций

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #83
Внебрачная статья. Криптоанализ. Часть 1. Начало., image #84

Сдвиг 5-го столбца на 3 позиции

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #85
Внебрачная статья. Криптоанализ. Часть 1. Начало., image #86

По взаимным индексам совпадения можно судить что сдвиги между столбцами выбраны верно.

Составим уравнения для определения ключевого слова:

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #87

Теперь только необходимо вычислить значение g[1]:

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #88

Найдено ключевое слово «СЛОВО». Убедимся в этом и расшифруем зашифрованный текст:

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

Ключевое слово верное, текст читается.

Итог

Как вы заметили данный метод эффективен только если у вас длинный текст. Если же у вас текст не достаточно длинный, то у вас не получится использовать данный метод дешифровки.
После прочтения статьи вы могли задаться вопросом, а что делать если тот кто шифровал читал нашу прошлую статью и знает что не надо использовать осмысленное слово для ключа? Всё просто, для этого используют магию перебора. На этом мы завершаем статью, но перед этим вот вам небольшое задание: Задан некоторый текст зашифрованный шифром Виженера, требуется определить ключевое слово и прочитать открытый текст. При этом ключевое слово осмысленное, радуйтесь.

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

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

Внебрачная статья. Криптоанализ. Часть 1. Начало., image #89

Решения может присылать в сообщения сообщества. Первый n+1 человек кто решит получит «Молодец» от Мынки.

Если у вас появились вопросы мы с радостью ответим на них в комментариях или сообщениях группы.

508 views·15 shares