Вопрос 5.Поточные шифры простой замены.
Наибольшее распространение получили поточные шифры простой замены, множества шифрвеличин и шифробозначений которых совпадают с алфавитом открытого текста A. Ключом такого шифра является подстановка k на множестве А, верхняя строка которой представляет собой естественную последовательность букв алфавита, а нижняя — систематически перемешанную или случайную последовательность букв из А
Помимо явного задания (в виде двустрочной записи) ключ может быть задан некоторой формулой, как, например, для определяемого ниже шифра Цезаря(который иногда называют также сдвиговым шифром) и аффинного шифра. При использовании этих шифров буквы алфавита А удобно отождествлять с их порядковыми номерами, так что, например, для латинского алфавита
При использовании этих шифров полезно заменить буквы – их числовыми эквивалентами. Приведем буквы русского алфавита в соответствии с их порядковыми номерами (Таблица 1.1):
Таблица 1.1
Буква | А | Б | В | Г | Д | Е | Ё |
Номер | |||||||
Буква | Ж | З | И | Й | К | Л | М |
Номер | |||||||
Буква | Н | О | П | Р | С | Т | У |
Номер | |||||||
Буква | Ф | Х | Ц | Ч | Ш | Щ | Ъ |
Номер | |||||||
Буква | Ы | Ь | Э | Ю | Я | ||
Номер |
1. Шифр Цезаря для русского алфавита
Согласно правилу :
.
Для x = (x1,…,xi), y = (y1,…,yi), полагаем , x = Dk(y) = (y1 + (33 – k),…, yi + (33 – k)),
где + и •— операции кольца вычетов Z33.
В качестве примера возьмем исходный текст: «Шифр Цезаря».
Шифрование
Выберем
y1 = Ш = 26 + 5 = 31 = Э,
y2 = Н = 10 + 5 = 15 = Н и т.д.
y10 = Я = 33 + 5 = 38 -5 = 5
Получим криптограмму:
- в цифровом эквиваленте – 31,15,27,23,29,11,14,06,23,05
- в буквенном эквиваленте - ЭНЩХЫЙМЕХД
Дешифрование
Согласноx = Dk(y) = (y1 + (33 – k),…, yi + (33 – k)),расшифруем побуквенно криптограмму :
x1 = Э = 31 = 31 + (33 – 5) = 31 + 28 = 59 -33 = 26 = И
x2 = Н = 15 = 15 + 28 = 43 – 33 = 10 = И …
x5 = Ы = 29 = 29 + 28 = 57 -33 = 24 = Ц …
x10 = Д = 5 = 5 + 28 = 33 = Я
Расшифрованный текст «Шифр Цезаря».
2. Аффинный шифр для русского алфавита
В аффинном шифре каждой букве алфавита размера m ставится в соответствие число из диапазона 0..m − 1. Затем при помощи модульной арифметики для каждого числа, соответствующего букве исходного алфавита, вычисляется новое число, которое заменит старое в шифротексте. Функция шифрования для каждой буквы
где модульm — размер алфавита, а пара a и b — ключ шифра. Значение a должно быть выбрано таким, что a и m — взаимно простые числа.
Функция расшифрования
где — обратное к a число по модулю m. То есть оно удовлетворяет уравнению
Обратное к a число существует только в том случае, когда a и m — взаимно простые. Значит, при отсутствии ограничений на выбор числа a расшифрование может оказаться невозможным. Покажем, что функция расшифрования является обратной к функции шифрования
Количество возможных ключей для аффинного шифра можно записать через функцию Эйлера как .
Таблица 1.2 Для русского алфавита
Буква | А | Б | В | Г | Д | Е | Ё |
Цифра | |||||||
Буква | Ж | З | И | Й | К | Л | М |
Цифра | |||||||
Буква | Н | О | П | Р | С | Т | У |
Цифра | |||||||
Буква | Ф | Х | Ц | Ч | Ш | Щ | Ъ |
Цифра | |||||||
Буква | Ы | Ь | Э | Ю | Я | ||
Цифра |
В качестве примера возьмем исходный текст: «Аффинный шифр «
Шифрование
Выберем К = (2,4) Данный ключ индуцирует следующую подстановку на Z в соответствии с таблицей 6.2. Согласно
вычислим
Если декодировать числа в буквы, то получим следующее соответствие для букв:
Д | Ё | З | Й | Л | Н | П |
С | У | Х | Ч | Щ | Ы | Э |
Я | Б | Г | Е | Ж | И | К |
М | О | Р | Т | Ф | Ц | Ш |
Ъ | Ь | Ю | А | В |
Исходному тексту: «Аффинный шифр «соответствует числовая последовательность x=(0,21,21, 9,14, 14,28,10,25,9,21,17).
При первом способе шифрования буквы исходного текста заменяются на буквы нижнего ряда трансформированной таблицы Y
= ЙВВЦЫЫИЧПЦВЮ.
При втором методе шифрования Yвычисляется по формуле
Y =(0*2+4, 21*2+4, 21*2+4, 9*2+4,14*2+4, 14*2+4, 28*2+4, 10*2+4, 25*2+4, 9*2+4, 21*2+4, 17*2+4)= ( 4,13,13,22,32,32,27,24,21,22,13,5)
Для расшифрованияу следует вычислить 2-1 в группе . Очевидно, что 2-1= 17. Теперь расшифруем у в соответствии с определением правила расшифрования:
x= Dk(х)=((4+29)*17,(13+29)*17,(13+29)*17,(22+29)*17),(32+29)*17,(32+29)*17,(27+29)*17,(24+29)*17,(21+29)*17,(22+29)*17,(13+29)*17,(5+29)*17) = (0,21,21,9,14,14,28,10,25,9,21,17).
Подстановка букв из таблицы 6.2 даёт буквенный исходный текст: «Аффинный шифр».