Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по курсу криптографии.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
42.46 Кб
Скачать

Билет №11

Зададимся некоторой конечной последовательностью символов алфавита

𝛾 = (𝛾0, . . .𝛾𝑚),𝛾𝑖 ∈ 𝐴.

Назовём эту последовательность «гамма». Для всех шифров гаммирования такая последовательность выступает в качестве ключа. Функцией шифрования в общем виде является уравнение:

𝑦𝑖 = (𝑥𝑖 * 𝛾𝑗) mod 𝑛,где |𝐴| = 𝑛, 𝑗 = 𝑖 (mod 𝑚), * – некоторая операция.

В нашем курсе будет подробно рассмотрен шифр Виженера, в котором

шифрующее преобразование выглядит следующим образом:

𝑦𝑖 = (𝑥𝑖 + 𝛾𝑗) mod 𝑛,где |𝐴| = 𝑛, 𝑗 = 𝑖 (mod

Криптоанализ шифра Виженера:

(1) установление длины (количества символов гаммы)ключевого слова;

(2) установление знаков ключевого слова.

Установление длины ключевого слова:

Пусть ключевое слово имеет длину 𝜇. Для определения числа 𝜇 применяется тест Казиски.

Тест основан на простом наблюдении того, что два одинаковых отрезка открытого

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

Пусть 𝑑1, 𝑑2, . . . , 𝑑𝑘 – найденные расстояния между повторениями. Найдем

𝑑 = НОД(𝑑1, . . . , 𝑑𝑘), наибольший общий делитель этих чисел.

Тогда очевидно, что 𝜇 должно быть среди делителей 𝑑.

Чем больше повторений имеет текст, тем больше вероятность того, что 𝜇 ≡ 𝑑.

Для уточнения значений 𝜇 можно использовать индекс совпадения.

Билет №12

Зададимся некоторой конечной последовательностью символов алфавита

𝛾 = (𝛾0, . . .𝛾𝑚),𝛾𝑖 ∈ 𝐴.

Назовём эту последовательность «гамма». Для всех шифров гаммирования такая последовательность выступает в качестве ключа. Функцией шифрования в общем виде является уравнение:

𝑦𝑖 = (𝑥𝑖 * 𝛾𝑗) mod 𝑛,где |𝐴| = 𝑛, 𝑗 = 𝑖 (mod 𝑚), * – некоторая операция.

В нашем курсе будет подробно рассмотрен шифр Виженера, в котором

шифрующее преобразование выглядит следующим образом:

𝑦𝑖 = (𝑥𝑖 + 𝛾𝑗) mod 𝑛,где |𝐴| = 𝑛, 𝑗 = 𝑖 (mod 𝑚).

Криптоанализ шифра Виженера:

(1) установление длины (количества символов гаммы) ключевого слова;

(2) установление знаков ключевого слова.

Пусть 𝑥 = (𝑥1, . . . , 𝑥𝑛) и 𝑦 = (𝑦1, . . . , 𝑦𝑚) – две строки над алфавитом 𝐴

Взаимным индексом совпадения в 𝑥 и 𝑦, обозначаемым 𝑀𝐼𝑐(𝑥, 𝑦), называется вероятность того, что случайно выбрана буква из 𝑥 совпадает со случайно выбранной буквой из 𝑦.

Пусть 𝑓𝑖 – число вхождений буквы 𝑎𝑖 в строку 𝑥, а 𝑔𝑖 – в строку 𝑦 соответственно. Тогда справедлива следующая теорема.

Теорема:

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

(4) 𝑀𝐼𝑐(𝑥, 𝑦) =Σ(𝑛−1,𝑖=0)𝑓𝑖 · 𝑔𝑖/𝑛 · 𝑚

Пусть 𝑘 = (𝑘1, . . . , 𝑘𝜇) — истинное ключевое слово. Величину(𝑘𝑖 − 𝑘𝑗) mod 𝑛 будем называть относительным сдвигом 𝑌 ↓ 𝑖 и 𝑌 ↓ 𝑗 .

Можно показать, что 𝑌 ↓ 𝑖 и 𝑌 ↓ 𝑗 с относительными сдвигами 𝑛 и 𝑛−𝑠 имеют одинаковые взаимные индексы совпадения.

Заметим, что при некотором значении 𝑠(𝑖, 𝑗) ∈ 0, 𝑛 − 1 столбец 𝑌 𝑠(𝑖,𝑗)↓ 𝑗 ,полученный из 𝑌↓ 𝑗 прибавлением по модулю 𝑛 к каждому элементу числа

𝑠(𝑖, 𝑗) имеет нулевой относительный сдвиг с 𝑌 ↓ 𝑖 .

Для каждого из столбцов 𝑌 ↓ 1 , 𝑌 ↓ 2 , . . . , 𝑌 ↓ 𝜇 построим множество столбцов:

𝑌 0↓ 𝑖 , 𝑌 1↓ 𝑖 , . . . , 𝑌 (𝑛−1)↓ 𝑖 .

Таким образом, всего получим 𝜇!(/2! · (𝜇 − 2)!) · 𝑛 =(𝜇 · (𝜇 − 1) · 𝑛)/2

𝑀𝐼𝑐(𝑌 ↓ 𝑖 , 𝑌 𝑠↓ 𝑗 ) =Σ(𝑛−1,𝑖=0)𝑓𝑖 · 𝑔(𝑖−𝑠) mod 𝑛/n· 𝑚

Если 𝑠 равно относительному сдвигу 𝑌 ↓ 𝑖 и 𝑌 ↓ 𝑗 , то взаимный индекс совпадения должен быть близок к 0, 053 (для русского языка). Таким образом, получается определенная система уравнений, решив которую можно легко найти 𝑘1, . . . , 𝑘𝜇.