- •Теория алгоритмов методические указания для самостоятельной подготовки к контролю знаний
- •«Компьютерные науки»
- •С о д е р ж а н и е
- •Перечень тем
- •Тема 1 Шифры перестановки. Разновидности реализации шифров перестановки Краткие теоретические сведения
- •1 Шифр сцитала
- •2 Шифр вертикальной перестановки
- •3 Шифр поворотной решетки
- •4 Шифры с использованием магичных квадратов
- •5 Перестановка бит
- •Задание
- •Варианты заданий темы 1 для самостоятельной подготовки
- •Вопросы по теории темы 1 для самостоятельной подготовки
- •Тема 2 Шифры простой замены. Разновидности реализации шифров простой замены Краткие теоретические сведения
- •Варианты реализации шифров простой замены
- •1 Система шифрования Цезаря
- •2 Афинная система подстановок
- •3 Лозунговый шифр
- •4 Шифровальный квадрат Полибия
- •5 Шифровальная таблица Трисемуса
- •4Х8 «Сколько волка ни корми, он все в лес глядит »
- •Задание
- •Варианты заданий темы 2 для самостоятельной подготовки
- •Вопросы по теории темы 2 для самостоятельной подготовки
- •Тема 3 Шифры сложной замены. Разновидности реализации шифров сложной замены Краткие теоретические сведения
- •1 Биграммный шифр Плейфейера
- •2 Шифр с использованием омофонов
- •3 Шифр Гронсфельда
- •4 Система шифрования Вижинера
- •5 Шифр «Двойной квадрат Уитстона»
- •Задание
- •Варианты заданий темы 3 для самостоятельной подготовки
- •Вопросы по теории темы 3 для самостоятельной подготовки
- •Приложение
- •Открытое распределение ключей
- •Протокол обмена ключами Диффи–Хеллмана
- •Варианты заданий 2 темы 5 для самостоятельной подготовки
- •Задание 2
- •Решение Алгоритм решения задачи следующий:
- •Варианты заданий 1, 2 темы 6 для самостоятельной подготовки
- •Вопросы по теории темы 6 для самостоятельной подготовки
- •Варианты задания 1 темы 7 для самостоятельной подготовки
- •Литература
2 Шифр с использованием омофонов
Буквы исходного текста шифруются числами от 000 до 999, причем каждая буква шифруется некоторым множеством чисел в зависимости от вероятности ее появления в тексте (см. таблицу ниже). Например букве О будет поставлено в сответствие 90 трехразрядных случайных чисел, букве К – 28; букве Б – 14 и т.д. При шифровании каждой буквы выбирают случайным образом одно число из множества омофонов для этой буквы. В результате таких действий вероятность появления омофонов в шифротексте равновероятна, что обеспечивает защиту от криптоаналитических атак, основанных на частотном анализе.
Таблица – Вероятности появления букв в исходном русскоязычном тексте
|
про- бел |
О |
Е |
И |
А |
Н |
Т |
С |
Р |
В |
Л |
К |
М |
Д |
П |
У |
|
0,175 |
0,090 |
0,072 |
0,070 |
0,061 |
0,052 |
0,053 |
0,045 |
0,040 |
0,038 |
0,035 |
0,028 |
0,026 |
0,025 |
0,023 |
0,021 |
|
|
|
|
|
|
|
|
|
|
|
Продолжение таблицы | |||||
|
Я |
Ы |
З |
Ъ |
Б |
Г |
Ч |
Х |
Ж |
Ю |
Ш |
Ц |
Ь |
Щ |
Э |
Ф |
|
0,018 |
0,016 |
0,016 |
0,014 |
0,014 |
0,013 |
0,012 |
0,009 |
0,007 |
0,006 |
0,006 |
0,004 |
0,004 |
0,003 |
0,003 |
0,002 |
3 Шифр Гронсфельда
Алгоритм шифрования следующий (алфавиты исходного и шифротекста совпадают): под символами исходного текста записывают цифры числового ключа. Если исходный текст оказался длинее ключа, то ключ циклически повторяется до исчерпания исходного текста. Для замены каждой буквы исходного текста выбирают ту букву алфавита, которая смещена по отношению к заменяемой на величину цифры ключа. Например, применив для шифрования фразы Я СТУДЕНТ ДГМА ключ 2718 (основание натурального логарифма), получим следующее:
|
Я |
С |
Т |
У |
Д |
Е |
Н |
Т |
Д |
Г |
М |
А |
|
2 |
7 |
1 |
8 |
2 |
7 |
1 |
8 |
2 |
7 |
1 |
8 |
|
Б |
Ш |
У |
Ы |
З |
П |
О |
Ь |
З |
Л |
Н |
И |
Таблица 3 – Сокращенный русский алфавит (пропущены Ё, Й )
|
Алфа- вит |
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
К |
Л |
М |
Н |
О |
П |
|
№ буквы |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
|
|
|
|
|
|
|
|
|
|
|
Продолжение таблицы | |||||
|
Р |
С |
Т |
У |
Ф |
Х |
Ц |
Ч |
Ш |
Щ |
Ь |
Ы |
Ъ |
Ю |
Э |
Я |
|
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
Шифр Гронсфельда представляет частный случай системы шифрования Вижинера.
4 Система шифрования Вижинера
Этот шифр сложной замены реализуется с помощью таблицы шифрования (квадрата) Вижинера (см. табл. 3). Эта таблица используется как для шифрования, так и для дешифрования текстов. Верхнюю строку подчеркнутых символов используют для поиска очередной буквы исходного текста, крайний левый столбец чисел – соответствующий ей числовой ключ (если ключ – некоторая буква ключевой фразы, то ее берут из соседнего числовому ключу столбца). На пересечении выбранных строки и столбца находят букву замены для шифротекста.
Таблица 4 – Квадрат Вижинера
|
Для того чтобы зашифровать исходное сообщение, его записывают в строку и под каждой его буквой записывают подряд буквы ключевой фразы или цифры числового ключа. Если ключ оказался короче исходного текста, его циклически повторяют. После этого каждую пару символов, расположенную в одном столбце заменяют буквой в соответствии с таблицей 3 (как описано выше).
Пример
Необходимо зашифровать фразу «Я ИЗУЧАЮ КРИПТОГРАФИЮ», используя систему шифрования Вижинера. Для шифрования использовать ключ «АМУЛЕТ» (в нижней строке приведен шифротекст).
|
Я |
И |
З |
У |
Ч |
А |
Ю |
К |
Р |
И |
П |
Т |
О |
Г |
Р |
А |
Ф |
И |
Ю |
|
А |
М |
У |
Л |
Е |
Т |
А |
М |
У |
Л |
Е |
Т |
А |
М |
У |
Л |
Е |
Т |
А |
|
Ниже приведен шифротекст | ||||||||||||||||||
|
А |
Ф |
Ь |
Э |
Ъ |
Т |
Ю |
Х |
В |
У |
Ф |
Г |
О |
П |
Б |
Л |
Щ |
Ь |
Ю |
Дешифрование выполняют аналогично – под строкой шифротекста записивают ключ при необходимости циклически его повторяя. Каждую пару символов, расположенных в одном столбце заменяют буквой исходного текста: по букве ключа находят строку в таблице 3, затем в этой строке находят букву шифротекста, которая определяет столбец; исходный символ – первая буква столбца.
