4.4.1. Поточные шифры простой замены
Наибольшее распространение получили поточные шифры простой замены, множества шифрвеличин и шифробозначений которых совпадают с алфавитом открытого текста. Как указывалось в главе 2, ключом такого шифра является подстановка k на множестве А, верхняя строка которой представляет собой естественную последовательность букв алфавита, а нижняя – систематически перемешанную или случайную последовательность букв из А.
Помимо явного задания (в виде двустрочной записи) ключ может быть задан некоторой формулой, как, например, для определяемого ниже шифра Цезаря (который иногда называют также сдвиговым шифром) и аффинного шифра. При использовании этих шифров буквы алфавита А удобно отождествлять с их порядковыми номерами, так что, например, для латинского алфавита
а0, b1,..., z25.
Шифр Цезаря
K=Z26.
Для x=(x1,..,xl), y=(y1,...,yl),
k К полагаем
у = Еk(х) =(x1 +k,..., xl +k),
х = Dk(у) = (у1 + (26 – k),..., уl + (26 – k)),
где + и • – операции кольца вычетов Z26.
Аффинный шифр
K=Z*26 x Z26. Для k=(,) K, a 0,
x=(x1,..,xl), y=(y1,...,yl), полагаем
у = Еk(х) =(x1 +,...,xl +),
х = Dk(у) =((у1 + (26 – )) -1,..., (уl + (26 – )) -1),
где + и • – операции кольца Z , а -1 – элемент из мультипликативной группы Z*26 , обратный к а.
Пример
Зашифруем слово CRYPTOGRAPHY с помощью аффинного шифра, полагая k=(3,5). Данный ключ индуцирует следующую подстановку на Z :
0 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
5 8 11 14 17 20 23 0 3 6 9 12 15 18 21 24 1 4 7 10 13 16 19 22 25 2
Если декодировать числа в буквы, то получим следующее соответствие для букв:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
F I L O R U X A D G J M P S V Y B E H K N Q T W Z C
Слову CRYPTOGRAPHY соответствует числовая последовательность х=(2,17,24,15,19,14,9,17,0,15,7,24). Зашифровать открытый текст мы можем двумя способами. Во-первых, можно воспользоваться полученной подстановкой, заменяя каждую букву слова (найденную в верхней строке) ее образом в нижней строке: LEZYKVXEFYAZ. Во-вторых, можно вычислить значение функции зашифрования Еk(х), исходя из ее определения:
у= Еk(х)=(32+5, 317+5, 324+5, 315+5, 319+5, 314+5, 39+5, 317+5, 30+5, 315+5, 37+5, 324+5)=(11,4,25,24,10,21,23,4,5,24,0,25).
В буквенном эквиваленте у совпадает с полученным ранее шифрованным текстом.
Для расшифрования у следует вычислить 3-1 в группе Z*26. Очевидно, что 3-1 =9. Теперь расшифруем у в соответствии с определением правила расшифрования:
х = Dk(у) =((11+21)•9, (4+21)•9, (25+21)•9, (24+21)•9, (10+21)9, (21+21)9, (23+21) 9, (4+21) 9,(5+21) 9, (24 + 21)•9, (0 + 21)•9, (25 + 21)•9)= =(2,17,24,15,19,14,6,17,0,15,7,24).
Здесь мы воспользовались определением операций сложения и умножения в кольце Z26, заменяя результат обычных целочисленных вычислений остатком от деления на 26.
В связи с рассмотрением аффинного шифра полезно напомнить один хорошо известный алгебраический результат.
Теорема. Отображение f : Zn—> Zn определяемое для фиксированных a,bZn формулой f(x) = а x + b(mod n), является биективным тогда и только тогда, когда (а,п)=1.
До сих пор мы предполагали, что шифробозначениями являются отдельные знаки алфавита. Однако это вовсе не обязательное условие. Как отмечалось выше, имеются шифры равнозначной замены и шифры разнозначной замены. В первом случае все шифробозначения имеют одинаковые значности, например один, два и т. д. Во втором – разные значности, например, некоторые шифробозначения могут быть отдельными знаками, другие – состоять из пары или большего числа знаков. По соображениям экономии и скорости шифрования значность шифробозначений не должна быть большой. В большинстве известных примеров разнозначных шифров значность шифробозначений не превосходит двух. Приведем один из таких примеров.
Пример (шифра простой неравнозначной замены)
Рассматривается прямоугольник размером 4 х 7, в который записан систематически перемешанный английский алфавит (расширенный символами "." и знаком раздела "/"), построенный на основе ключевого слова INCITATUS:
Шифры замены
I
| N
| С
| Т
| А
| U
| S
|
0
| 1
| 86
| 3
| 5
| 94
| 6
|
В
| D
| Е
| F
| G
| Н
| J
|
80
| 83
| 2
| 89
| 91
| 95
| 98
|
К
| L
| М
| 0
| Р
| Q
| R
|
81
| 84
| 87
| 4
| 92
| 96
| 7
|
V
| W
| X
| Y
| Z
| .
| /
|
82
| 85
| 88
| 90
| 93
| 97
| 99
|
Нумерация букв алфавита произведена по столбцам (сверху вниз), при этом восемь самых частых букв (A,E,I,N,0,R,S,T) занумерованы числами от 0 до 7, а остальные – двузначными числами от 80 до 99. Такую таблицу легко запомнить. Работать же удобнее с эквивалентной таблицей:
0 1 2 3 4 5 6 7 8 9
-
I
N
Е
Т
О
A
S
R
-
-
8
В
К
V
D
L
W
С
M
X
F
9
Y
G
Р
Z
U
H
Q
.
J
/
При зашифровании открытый текст записывается со знаком пробела между словами. Точка, встретившаяся в тексте, считается отдельным словом. После этого производится замена шифрвеличин на шифробозначения согласно таблице, при этом цифровые данные не изменяются.
- Криптографическая защита информации
- Оглавление
- Раздел 1. Общие подходы к криптографической защите информации
- Тема 1. Теоретические основы криптографии
- 1.1. Криптография
- 1.2. Управление секретными ключами
- 1.3. Инфраструктура открытых ключей.
- 1.4. Формальные модели шифров
- 1.5. Модели открытых текстов
- Тема 2. Простейшие и исторические шифры и их анализ
- Тема 3. Математические основы криптографии
- 3.1. Элементы алгебры и теории чисел
- 3.1.1. Модулярная арифметика. Основные определения.
- 3.1.2. Алгоритм Евклида нахождения наибольшего общего делителя
- 3.1.3. Взаимно простые числа
- 3.1.4. Наименьшее общее кратное
- 3.1.5. Простые числа
- 3.1.6. Сравнения
- 3.1.7. Классы вычетов
- 3.1.8. Функция Эйлера
- 3.1.9. Сравнения первой степени
- 3.1.10. Система сравнений первой степени
- 3.1.11. Первообразные корни
- 3.1.12. Индексы по модулям рk и 2рk
- 3.1.13. Символ Лежандра
- 3.1.14. Квадратичный закон взаимности
- 3.1.15. Символ Якоби
- 3.1.16. Цепные дроби
- 3.1.17. Подходящие дроби
- 3.1.18. Подходящие дроби в качестве наилучших приближений
- 3.2. Группы
- 3.2.1. Понятие группы
- 3.2.2. Подгруппы групп
- 3.2.3. Циклические группы
- 3.2.4. Гомоморфизмы групп
- 3.2.5. Группы подстановок
- 3.2.6. Действие группы на множестве
- 3.3. Кольца и поля
- 3.3.1. Определения
- 3.3.2. Подкольца
- 3.3.3. Гомоморфизмы колец
- 3.3.4. Евклидовы кольца
- 3.3.5. Простые и максимальные идеалы
- 3.3.6. Конечные расширения полей
- 3.3.7. Поле разложения
- 3.3.8. Конечные поля
- 3.3.9. Порядки неприводимых многочленов
- 3.3.10. Линейные рекуррентные последовательности
- 3.3.11. Последовательности максимального периода
- 3.3.12. Задания
- Тема 4. Классификация шифров
- 4.1. Классификация шифров по типу преобразования
- 4.2. Классификация шифров замены
- 4.3 Шифры перестановки
- 4.3.1. Маршрутные перестановки
- 4.3.2. Элементы криптоанализа шифров перестановки
- 4.4. Шифры замены
- 4.4.1. Поточные шифры простой замены
- 4.4.2. Криптоанализ поточного шифра простой замены
- 4.4.3. Блочные шифры простой замены
- 4.4.4. Многоалфавитные шифры замены
- 4.4.5. Дисковые многоалфавитные шифры замены
- 4.5. Шифры гаммирования
- 4.5.1. Табличное гаммирование
- 4.5.2. О возможности восстановления вероятностей знаков гаммы
- 4.5.3. Восстановление текстов, зашифрованных неравновероятной гаммой
- 5.5.4. Повторное использование гаммы
- 4.5.5. Криптоанализ шифра Виженера
- Тема 5. Поточные шифры
- 5.1. Принципы построения поточных шифрсистем
- Примеры поточных шифрсистем
- 5.3. Линейные регистры сдвига
- 5.4. Алгоритм Берлекемпа-Месси
- 5.5. Усложнение линейных рекуррентных последовательностей
- 5.6. Методы анализа поточных шифров
- 6. Блочные шифры
- 6.1. Принципы построения блочных шифров
- 6.2. Примеры блочных шифров
- 6.3. Режимы использования блочных шифров
- 6.4. Комбинирование алгоритмов блочного шифрования
- 6.5. Методы анализа алгоритмов блочного шифрования
- 6.6. Рекомендации по использованию алгоритмов блочного шифрования
- 7. Криптографические хэш-функции
- 7.1. Функции хэширования и целостность данных
- 7.2. Ключевые функции хэширования
- 7.3. Бесключевые функции хэширования
- 7.4. Целостность данных и аутентификация сообщений
- 7.5. Возможные атаки на функции хэширования
- Тема 8. Криптосистемы с открытым ключом
- 8.1. Шифрсистема rsa
- 8.2. Шифрсистема Эль-Гамаля
- 8.3. Шифрсистема Мак-Элиса
- 8.4. Шифрсистемы на основе "проблемы рюкзака"