- •Самарский государственный архитектурно-строительный университет
- •Алгоритм кодирования и декодирования Хаффмена
- •Порядок выполнения самостоятельной работы
- •Контрольные вопросы
- •Дискреционная модель политики безопасности
- •Порядок выполнения самостоятельной работы
- •3.1. Дискреционная матрица доступов.
- •Контрольные вопросы
- •Подсистемы парольной аутентификации пользователей
- •Порядок выполнения самостоятельной работы
- •4.2. Таблица двоичного представления кодов
- •4.3. Таблица вариантов
- •Контрольные вопросы
- •Методы криптографической защиты информации
- •Шифрование методом Цезаря
- •Простая моноалфавитная замена
- •Метод простой перестановки
- •Алгоритм Гамильтона
- •Шифрование методом гаммирования
- •Порядок выполнения самостоятельной работы
- •Контрольные вопросы
- •Вычисление контрольной суммы сообщения
- •Алгоритм вычисления контрольной суммы
- •Порядок выполнения самостоятельной работы
- •Ассиметричное шифрование
- •Алгоритм шифрования rsa
- •Алгоритм формирования ключевой пары пользователем а
- •Шифрование и дешифрование сообщений в криптосистеме rsa
- •Действия получателя а
- •Действия отправителя b
- •Действия пользователя a
- •Порядок выполнения самостоятельной работы
- •Библиографический список
Порядок выполнения самостоятельной работы
Выберете текст для шифрования длиной не более 8 символов.
Используйте заданный алфавит для шифровки для первых 4-х
алгоритмов
Таблица 5.3.
-
А
Б
В
Г
Д
Е
Ж
З
И
Й
К
Л
М
Н
О
П
Р
С
Т
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
26
27
28
29
30
31
32
33
34
35
36
Зашифруйте текст четырьмя алгоритмами:
- алгоритмом Цезаря, К=4;
- алгоритмом простой перестановки, К=3142;
- алгоритмом простой моноалфавитной замены, а=2, К=4;
- алгоритмом Гамильтона, К1= 40231576; К2= 46201573.
- алгоритмом гаммирования.
Зашифруйте осмысленное слово длиной не более 8 символов любым
методом из пяти заданных, отдайте на расшифровку
вместе с ключом (ключами).
Возьмите зашифрованный текст, ключ шифрования.
Дешифруйте переданный текст, подобрав алгоритм.
Решение.
Алгоритм Цезаря
-
Л
Ю
Б
Л
Ю
О
Т
Ч
И
З
Н
У
Я
П
.
Е
П
.
?
Т
Ц
Ы
М
Л
С
Ч
?
!
Алгоритм простой перестановки
-
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
Л
Ю
Б
Л
Ю
О
Т
Ч
И
З
Н
У
Я
3
1
4
2
3
1
4
2
3
1
4
2
3
1
4
2
Б
Л
Л
Ю
О
Ю
Т
З
Ч
Н
И
Я
У
Алгоритм моноалфавитной замены
-
Л
Ю
Б
Л
Ю
О
Т
Ч
И
З
Н
У
Я
Р
11
30
1
11
30
32
14
18
23
8
7
13
19
32
31
С
26
28
6
26
28
32
32
4
14
20
21
30
6
32
30
Ъ
Ь
Ж
Ъ
Ь
Д
О
Ф
Х
Ю
Ж
Ю
Алгоритм Гамильтона
-
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
Л
Ю
Б
Л
Ю
О
Т
Ч
И
З
Н
У
Я
4
0
2
3
1
5
7
6
4
6
2
0
1
5
7
3
Ю
Л
Л
Ю
Т
О
У
Я
З
Ч
И
Н
Пусть для расшифровки передан текст ЛБАСРЕНТ с ключом К=40231576, наличие восьмизначного ключа может говорить об алгоритме шифрования Гамильтона или алгоритме простой перестановки, применяем последний алгоритм, получаем осмысленное слово БРАСЛЕТЫ.
Алгоритм гаммирования
Пример 5.5. Пусть задан текст « ядома» закодировать его и перслать зашифрованным по каналу связи на основе алгоритма гаммирования.
Решение. Сначала построим таблицу, в которой представим буквы числами по системе кодировки ASCII (см. табл. 4.1.) и числа представим затем в двоичной системе счисления, получим:
Таблица 5.4.
-
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
я
239
1
1
1
0
1
1
1
1
д
164
1
0
1
0
0
1
0
0
о
174
1
0
1
0
1
1
1
0
м
172
1
0
1
0
1
1
0
0
а
160
1
0
1
0
0
0
0
0
Теперь обратимся к генератору случайных чисел с алгоритмом:
Линейный конгруэнтный метод
Выберем четыре числа [5]:
m — модуль, m > 0;
a — множитель, 0 a < m;
c — приращение, 0 с < m;
Х0 — начальное значение, 0 Х0 < m.
Последовательность случайных чисел {Хn} можно получить, полагая
Хn+1 = (a Хn + c) mod m, n 0 |
(5.6) |
Эта последовательность называется линейной конгруэнтной последовательностью. Например, для m = 10 и Х0 = a = c = 7 получим последовательность
7, 6, 9, 0, 7, 6, 9, 0, …
Здесь отражен факт, что конгруэнтная последовательность всегда образует петли, т.е. обязательно существует цикл, повторяющийся бесконечное число раз. Это свойство является общим для всех последовательностей вида Xn+1 = f(Xn), где f — функция, преобразующая конечное множество само в себя. Повторяющиеся циклы называют периодами. Задача генерации случайных последовательностей состоит в использовании относительно длинного периода, что связано с выбором довольно большого m, так как период не может иметь больше m элементов.
Воспользуемся формулой (5.6) и создадим гамму шифра:
x0=7 ; а =3 ; с =11 ; m = 33, получим ряд чисел:
{7,32, 8, 2, 17, …} оставим из них только 5 и переведем их в двоичную систему счисления, получим:
Таблица 5.5.
-
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
7
0
0
0
0
0
1
1
1
32
0
0
1
0
0
0
0
0
8
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
1
17
0
0
0
1
0
0
0
1
Сложим исходный текст, представленный в двоичном виде с гаммой шифра по модулю 2:
Таблица 5.6.
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
Пояснения к таблице 5.6. Первая строка это код входного текста в двоичной системе счисления, вторая строка это гамма шифра в двоичной системе счисления, третья строка это сложение по модулю 2 этих строк, результат зашифрованный текст, который идет по открытому каналу связи, четвертая строка это дешифрованный текст на гамме шифра с известным алгоритмом генерирования случайных чисел ( линейным конгруэнтным методом) с известными х0, a, с, m.