- •Криптография
- •1. Основы криптографии
- •2. Лабораторная работа № 1. Шифры замены
- •3. Лабораторная работа № 2. Шифры перестановки
- •4. Лабораторная работа № 3. Аддитивные шифры
- •5. Лабораторная работа № 4. Комбинированные шифры
- •Конечная перестановка ip-1
- •Перестановка pс1
- •Перестановка pс2
- •6. Лабораторная работа № 5. Шифрование с открытым ключом
- •Пример шифрования по алгоритму rsa
- •Список литературы
4. Лабораторная работа № 3. Аддитивные шифры
В аддитивных шифрах используется сложение по модулю (mod) исходного сообщения с гаммой, представленных в числовом виде. Напомним, что результатом сложения двух целых чисел по модулю является остаток от деления. Например, 5+10 mod 4 = 15 mod 4 = 3.
В литературе шифры этого класса часто называют потоковыми. Стойкость закрытия этими шифрами определяется, главным образом, качеством гаммы, которое зависит от длины периода и случайности распределения по периоду [1].
Длиною периода гаммы называется минимальное количество символов, после которого последовательность начинает повторяться. Случайность распределения символов по периоду означает отсутствие закономерностей между появлением различных символов в пределах периода.
По длине периода различаются гаммы с конечным и бесконечным периодом. Если длина периода гаммы превышает длину шифруемого текста, гамма является истинно случайной и не используется для шифрования других сообщений, то такое преобразование является абсолютно стойким (совершенный шифр). Такой шифр нельзя вскрыть на основе статистической обработки шифрограммы.
Сложение по модулю N. Перед шифрованием символы алфавита заменяются числами. При этом нумерация символов алфавита ведется с нуля. Процедуры шифрования и дешифрования выполняются отдельно над каждым символом по следующим формулам
Ci = (Pi + Ki) mod N, (4)
Pi = (Ci + N - Ki) mod N, (5)
где Pi, Ci - i-ый символ открытого и шифрованного сообщения;
N - количество символов в алфавите;
Кi - i-ый символ гаммы (ключа). Если длина гаммы меньше, чем длина сообщения, то она используется повторно.
Например, для шифрования используется русский алфавит (N = 32, буква Ё эквивалентна Е и не учитывается), открытое сообщение – «АБРАМОВ», гамма – «ЖУРИХИН». При замене символов на числа буква А будет представлена как 0, Б – 1, …, Я – 31. Результат шифрования показан в следующей таблице.
Таблица 2
Пример аддитивного шифрования по модулю N
Символ |
открытого сообщения, Pi |
А |
Б |
Р |
А |
М |
О |
В |
0 |
1 |
16 |
0 |
12 |
14 |
2 |
||
гаммы, Ki |
Ж |
У |
Р |
И |
Х |
И |
Н |
|
6 |
19 |
16 |
8 |
21 |
8 |
13 |
||
шифрограммы, Ci |
Ж |
Ф |
А |
И |
Б |
Ц |
П |
|
6 |
20 |
0 |
8 |
1 |
22 |
15 |
Сложение по модулю 2. Является частным случаем предыдущего шифра и используется при шифровании в автоматизированных системах. Символы текста и гаммы представляются в двоичных кодах, а затем каждая пара двоичных разрядов складывается по модулю 2 (, для булевых величин аналог этой операции – XOR, «Исключающее ИЛИ»). Процедуры шифрования и дешифрования выполняются по следующим формулам
Ci = Pi Ki, (6)
Pi = Ci Ki. (7)
Перед иллюстрацией использования шифра приведем таблицу кодов символов Windows 1251 и их двоичное представление.
Таблица 3
Коды символов Windows 1251 и их двоичное представление
Буква |
Dec-код |
Bin-код |
Буква |
Dec-код |
Bin-код |
Буква |
Dec-код |
Bin-код |
А |
192 |
1100 0000 |
Л |
203 |
1100 1011 |
Ц |
214 |
1101 0101 |
Б |
193 |
1100 0001 |
М |
204 |
1100 1100 |
Ч |
215 |
1101 0110 |
В |
194 |
1100 0010 |
Н |
205 |
1100 1101 |
Ш |
216 |
1101 0111 |
Г |
195 |
1100 0011 |
О |
206 |
1100 1110 |
Щ |
217 |
1101 1000 |
Д |
196 |
1100 0100 |
П |
207 |
1100 0000 |
Ъ |
218 |
1101 1001 |
Е |
197 |
1100 0101 |
Р |
208 |
1100 1111 |
Ы |
219 |
1101 1010 |
Ж |
198 |
1100 0110 |
С |
209 |
1101 0000 |
Ь |
220 |
1101 1011 |
З |
199 |
1100 0111 |
Т |
210 |
1101 0001 |
Э |
221 |
1101 1100 |
И |
200 |
1100 1000 |
У |
211 |
1101 0010 |
Ю |
222 |
1101 1101 |
Й |
201 |
1100 1001 |
Ф |
212 |
1101 0011 |
Я |
223 |
1101 1110 |
К |
202 |
1100 1010 |
Х |
213 |
1101 0100 |
|
|
|
Примечание. Dec-код – десятичный код символа, Bin-код – двоичный код символа.
Пример шифрования сообщения «ВОВА» с помощью гаммы «ЮЛЯ» показан в следующей таблице.
Таблица 4
Пример аддитивного шифрования по модулю 2
Открытое сообщение |
Dec-код |
194 |
206 |
194 |
192 |
Bin-код |
1100 0010 |
1100 1110 |
1100 0010 |
1100 0000 |
|
Гамма |
Dec-код |
222 |
203 |
223 |
222 |
Bin-код |
1101 1101 |
1100 1011 |
1101 1110 |
1101 1101 |
|
Шифрограмма |
Dec-код |
31 |
5 |
28 |
29 |
Bin-код |
0001 1111 |
0000 0101 |
0001 1100 |
0001 1101 |
Задание на лабораторную работу.
В лабораторной работе необходимо зашифровать свою фамилию двумя рассмотренными выше способами. При оформлении отчета необходимо привести исходное сообщение (фамилию), гамму и таблицы шифрования (см. табл.2 и 4).
