- •Введение
- •Симметричное шифрование
- •Шифрование методом замены
- •Шифрование методом перестановки
- •Шифрование методом гаммирования
- •Асимметричное шифрование
- •Шифр rsa
- •Электронная цифровая подпись
- •Вычисление электронной цифровой подписи
- •Проверка подлинности эцп
- •Библиографический список
- •Приложение 1. Ключи, сообщения и шифрограммы для шифрования/дешифрирования шифром Цезаря
- •Приложение 2. Ключи и сообщения для шифрования методом вертикальной перестановки
- •Приложение 3. Ключи и шифрограммы для дешифрирования методом вертикальной перестановки
- •Приложение 4. Гаммы и сообщения для шифрования методом гаммирования
- •Приложение 5. Гаммы и шифрограммы для дешифрирования методом гаммирования
- •Приложение 6. Данные для создания ключей и сообщения для шифрования с помощью алгоритма rsa
- •Приложение 7. Шифрограммы для дешифрирования с помощью алгоритма rsa
- •Приложение 8. Сообщения для вычисления эцп и проверки подлинности полученной информации
Шифрование методом гаммирования
Метод гаммирования предусматривает выполнение нескольких последовательных этапов.
Для шифрования исходного сообщения реализуются следующие действия.
Символы сообщения заменяются числами в соответствии с некоторой таблицей кодировки (например, таблицей 2). Обозначим количество уникальных символов в таблице кодировки N (в рассматриваемом примере N = 44).
Полученные в результате кодировки числа суммируются с числовыми значениями некоторой повторяющейся последовательности, которая является ключом шифра и называется гаммой. В качестве гаммы могут быть использованы закодированные символы некоторого текста, последовательность случайных чисел, цифры числа и т. д.
Если полученные для отдельных символов суммы больше, чем число N, N вычитается из них. Эти действия можно выполнить с помощью стандартной программы операционной системы Microsoft Windows Калькулятор, используя формулу
Ci=(Ti+Gi) mod N,
где Ci , Ti , Gi – числовые значения i–х символов зашифрованного сообщения, исходного сообщения и гаммы соответственно (операция mod представляет собой вычисление остатка от целочисленного деления, например, 8 mod 3 = 2, 11 mod 4 = 3). В ситуациях, когда сумма равна числу N, она сохраняет своё значение, а не приводится к нулю.
Рассчитанные в итоге для каждого символа числовые значения преобразуются в шифрограмму с помощью таблицы кодировки (таблица 2).
Таблица 2. Таблица кодировки для русских букв, пробела и цифр (44 символа)
Символ |
А |
Б |
В |
Г |
Д |
Е |
Ё |
Ж |
З |
И |
Й |
К |
Л |
М |
Н |
Код |
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 |
Символ |
Э |
Ю |
Я |
пробел |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Код |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
Примечание: цифры 0, 3, 4, похожие по начертанию на русские буквы О, З, Ч, подчеркнуты.
Зашифруем сообщение «2009 ГОД», используя приведённую ранее таблицу кодировки (таблица 2) и гамму в виде слова «КИТ». Получена шифрограмма «ДАЙК9ЦЪН» (рисунок 3).
Сообщение |
2 |
0 |
0 |
9 |
_ |
Г |
О |
Д |
Гамма |
К |
И |
Т |
К |
И |
Т |
К |
И |
Ti |
37 |
35 |
35 |
44 |
34 |
4 |
16 |
5 |
Gi |
12 |
10 |
20 |
12 |
10 |
20 |
12 |
10 |
Ti+Gi |
49 |
45 |
55 |
56 |
44 |
24 |
28 |
15 |
Ci |
5 |
1 |
11 |
12 |
44 |
24 |
28 |
15 |
Шифрограмма |
Д |
А |
Й |
К |
9 |
Ц |
Ъ |
Н |
Примечание: пробелы между словами обозначены символами подчёркивания.
Рисунок 3. Схема шифрования методом гаммирования
При дешифрировании шифрограмм выполняются обратные действия.
Используя таблицу кодировки, символы шифрограммы заменяют числами.
Из полученных чисел вычитаются соответствующие им числовые значения гаммы. Если при этом для некоторых символов получаются нулевые или отрицательные числа, к ним прибавляется число N. Решить данную задачу можно с помощью стандартной программы операционной системы Microsoft Windows Калькулятор – расчёты выполняются по формуле
Ti =(Ci – Gi + N) mod N.
Рассчитанные закодированные числовые значения преобразуются в исходное сообщение с помощью таблицы кодировки.
Дешифрируем шифрограмму «Ш6ИКБ», применяя гамму «КИТ» и используя таблицу 2. Получаем сообщение «МЭ_91» (рисунок 4).
Шифрограмма |
Ш |
6 |
И |
К |
Б |
Гамма |
К |
И |
Т |
К |
И |
Ci |
26 |
41 |
10 |
12 |
2 |
Gi |
12 |
10 |
20 |
12 |
10 |
Ci–Gi |
14 |
31 |
–10 |
0 |
–8 |
Ti |
14 |
31 |
34 |
44 |
36 |
Сообщение |
М |
Э |
_ |
9 |
1 |
Примечание: пробелы между словами обозначены символами подчёркивания.
Рисунок 4. Схема дешифрирования методом гаммирования
Задание 5. Используя 44 символа (33 русские буквы, пробел и 10 цифр) (таблица 2), зашифруйте сообщение (Приложение 4) методом гаммирования.
Задание 6. Используя 44 символа (33 русские буквы, пробел и 10 цифр) (таблица 2), дешифрируйте шифрограмму (Приложение 5) методом гаммирования.