Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания. Криптография.doc
Скачиваний:
11
Добавлен:
01.04.2025
Размер:
641 Кб
Скачать
☆

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).