
Билет №5
Обычно, шифрами простой замены называют одноалфавитные, однозначные шифры замены. Наибольшее распространение получили поточные шифры простой замены, множества шифрвеличин и шифробозначений которых совпадают с алфавитом открытого текста 𝐴. Ключом такого шифра является произвольная подстановка 𝑘 на множестве 𝐴
𝑘 =( 𝑎1 𝑎2 . . . 𝑎𝑛
𝑎𝑖 𝑎𝑗 . . . 𝑎𝑘),
верхняя строка которой представляет собой естественную последовательность
символов алфавита 𝐴, а нижняя — систематически перемешанную или случайную перестановку из 𝐴.
Криптоанализ шифра простой замены:
Любой метод вскрытия шифра простой замены основан на том обстоятельстве, что с точностью до переобозначений, частотные характеристики -грамм шифрованного и открытого текста одинаковы.
Алгоритм вскрытия шифра простой замены достаточно сложно формализовать, поэтому опишем лишь основные идеи, лежащие в основе такого алгоритма:
Подсчёт частот встречаемости шифробозначений, а также некоторых
их сочетаний, например биграмм и триграмм.
Выявление шифробозначений, заменяющих гласные и согласные буквы.
Выдвижение гипотез о значениях шифробозначений и их проверка.
Восстановление истинного значения шифробозначений.
Билет №6
Блочные шифры простой замены:
Как мы убедились, основная слабость шифра простой замены заключается в том, что избыточность открытого текста полностью проникает в шифрованный текст, и делает очень рельефной диаграмму встречаемости знаков криптограммы. Это побудило в своё время криптографов к устранению этой слабости за счёт увеличений числа шифрвеличин. Первым естественным шагом в этом направлении стало увеличение значности шифрвеличин, то есть использование блочных шифров простой замены.
В качестве примера рассмотрим шифр Хилла — блочный шифр простой
замены, где шифрвеличинами являются -граммы открытого текста(символы открытого текста удобно представить некоторыми числовыми кодами.)
Ключом шифра Хилла является некоторая обратимая матрица 𝑘 = (𝑘𝑖𝑗)
над Z/|𝐴|
(Z/𝑛 = {0, 1, 2, . . . , 𝑛 − 1})
Правило зашифрования и расшифрования выглядят следующим
образом:
𝑌𝑛*𝑚 = 𝐸𝑘(𝑥) = 𝑘𝑛*𝑛 * 𝑋𝑛*𝑚
𝑋𝑛*𝑚 = 𝐷𝑘(𝑥) = 𝑘−1𝑛*𝑛 * 𝑌𝑛*𝑚
(n,m-индексы)
Открытый текст записывается по столбцам матрицы 𝑋.
Ма́трица — математический объект, записываемый в виде прямоугольной таблицы элементов кольца или поля (например, целых, действительных или комплексныхчисел), которая представляет собой совокупность строк и столбцов, на пересечении которых находятся её элементы. Количество строк и столбцов матрицы задают размер матрицы.
В программировании М. - двумерный массив.
Билет №7-не нужен!!!
Билет №8
Крайне важным в криптографии являются понятия сравнения целых чисел по модулю.
Для начала, вспомним, что множеством целых чисел называется следующее числовой множество:
Z = {−N}⋃{0}⋃{N} = {. . . ,−3,−2,−1, 0, 1, 2, 3, . . .} (В западных математических изданиях иногда 0 ∈ N, однако в русской математической традиции 0 не является натуральным числом.)
Разделить целое число 𝑎 с остатком на целое число
𝑏 означает найти такие целые числа 𝑟, 𝑞, что:
(1) 𝑎 = 𝑏𝑞 + 𝑟,
(2) 0 6 𝑟 < |𝑏|.
Числа 𝑞, 𝑟, удовлетворяющие указанным условиям, называются соответственно неполным частным и остатком от деления 𝑎 на 𝑏.
Теорема:
Если 𝑎, 𝑏 ∈ Z, 𝑏 ̸= 0, то 𝑎 можно разделить с остатком на 𝑏, причём неполное частное и остаток определяются однозначно.
Два целых числа 𝑎, 𝑏 называются сравнимыми по модулю 𝑚 ∈ Z, если они при делении на 𝑚 дают одинаковые остатки.
Записывают, обычно: 𝑎 ≡ 𝑏 (mod 𝑚).
Билет №9
Индексом совпадения для строки 𝑥 = (𝑥1, . . . , 𝑥𝑚), 𝑥𝑖 ∈ 𝐴 длины 𝑚 над алфавитом 𝐴 называют вероятность того, что две случайно выбранные буквы из 𝑥 совпадают. Индекс совпадения обозначается 𝐼𝑐(𝑥).
Пусть 𝐴 = {𝑎1, . . . , 𝑎𝑛}. Тогда справедлива следующая теорема.
Теорема:
Индекс совпадения в 𝑥 вычисляется по формуле:
(3) 𝐼𝑐(𝑥) =Σ(𝑛−1𝑖=0)𝑓𝑖 (𝑓𝑖 − 1)/𝑚(𝑚 − 1),
где 𝑓𝑖 – число вхождений буквы 𝑎𝑖 в 𝑥, 𝑖 ∈ 1, 𝑛.
В частности для русского языка индекс совпадения приблизительно равен 𝐼𝑐(𝑥) ≈ 0, 0529.
Ошибка для индекса взаимного совпадения ≈0,03.
Билет №10
Пусть 𝑥 = (𝑥1, . . . , 𝑥𝑛) и 𝑦 = (𝑦1, . . . , 𝑦𝑚) – две строки над алфавитом 𝐴
Взаимным индексом совпадения в 𝑥 и 𝑦, обозначаемым 𝑀𝐼𝑐(𝑥, 𝑦), называется вероятность того, что случайно выбрана буква из 𝑥 совпадает со случайно выбранной буквой из 𝑦.
Пусть 𝑓𝑖 – число вхождений буквы 𝑎𝑖 в строку 𝑥, а 𝑔𝑖 – в строку 𝑦 соответственно. Тогда справедлива следующая теорема.
Теорема:
Взаимный индекс совпадения в 𝑥 и 𝑦 вычисляется по формуле:
(4) 𝑀𝐼𝑐(𝑥, 𝑦) =Σ(𝑛−1,𝑖=0)𝑓𝑖 · 𝑔𝑖/𝑛 · 𝑚
Пусть 𝑘 = (𝑘1, . . . , 𝑘𝜇) — истинное ключевое слово. Величину(𝑘𝑖 − 𝑘𝑗) mod 𝑛 будем называть относительным сдвигом 𝑌 ↓ 𝑖 и 𝑌 ↓ 𝑗 .
Можно показать, что 𝑌 ↓ 𝑖 и 𝑌 ↓ 𝑗 с относительными сдвигами 𝑛 и 𝑛−𝑠 имеют одинаковые взаимные индексы совпадения.
Заметим, что при некотором значении 𝑠(𝑖, 𝑗) ∈ 0, 𝑛 − 1 столбец 𝑌 𝑠(𝑖,𝑗)↓ 𝑗 ,полученный из 𝑌↓ 𝑗 прибавлением по модулю 𝑛 к каждому элементу числа
𝑠(𝑖, 𝑗) имеет нулевой относительный сдвиг с 𝑌 ↓ 𝑖 .
Для каждого из столбцов 𝑌 ↓ 1 , 𝑌 ↓ 2 , . . . , 𝑌 ↓ 𝜇 построим множество столбцов:
𝑌 0↓ 𝑖 , 𝑌 1↓ 𝑖 , . . . , 𝑌 (𝑛−1)↓ 𝑖 .
Таким образом, всего получим 𝜇!(/2! · (𝜇 − 2)!) · 𝑛 =(𝜇 · (𝜇 − 1) · 𝑛)/2