Алгоритмы криптографической защиты информации
Автор: 1234aad • Июнь 12, 2023 • Лабораторная работа • 686 Слов (3 Страниц) • 165 Просмотры
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Тамбовский государственный технический университет»
[pic 1]
Кафедра «Информационные системы и защита информации»
Лабораторная работа № 16
«АЛГОРИТМЫ КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ИНФОРМАЦИИ»
Вариант – 16
Выполнил студент группы БИС-211
Орлова В.В.
Проверил: доцент Шахов Н. Г
Тамбов 2021
Цель работы: изучить математические основы асимметричного алгоритма криптографической защиты информации.
Разработать асимметричную систему шифрования с открытым ключом, зашифровать свою фамилию и отправить по электронной почте сообщение преподавателю, содержащее:
- зашифрованную фамилию;
- открытый и закрытый ключи.
1. Составить список из 10 чисел, в котором каждое последующее число больше суммы предыдущих чисел.
1 3 5 11 21 42 84 168 336 672
2. Найти сумму всех чисел списка
1+3+5+11+21+42+84+168+336+672=1343
3. Находим простое число m>суммы
m=1361
4. Находим два числа x и y, являющиеся мультипликативными версиями системе по модулю 1361.
5. Определим сначала x исходя из условий:
x < m
x и m взаимно-простые числа
x = 751
6. Определим y. Определим мультипликативную инверсию числа x в системе по модулю 1361. Два числа, которые при умножении в системе по модулю дают единицу, называются мультипликативными инверсиями друг друга, у = 917.
751*917=688 667
688 667 : 1361 = 506 (в остатке 1)
7. Усложним исходный список
1*751/1361=751
3*751/1361=892
5*751/1361=1033
11*751/1361=95
21*751/1361=800
42*751/1361=1249
84*751/1361=478
168*751/1361=956
336*751/1361=551
672*751/1361=1102
Открытый ключ: 751 892 1033 95 800 1249 478 956 551 1102
8. Необходимо зашифровать свою фамилию «Орлова», используя Windows 1251:
Буква | Кодировка | |
Десятичная | Двоичная | |
О | 206 | 11001110 |
р | 240 | 11110000 |
л | 235 | 11101011 |
о | 238 | 11101110 |
в | 226 | 11100010 |
а | 224 | 11100000 |
9. Разместим последовательно двоичные кодовые значения букв
110011101111000011101011111011101110001011100000
10. Разделим данную последовательность битов на группы по десять битов в каждой двигаясь справа налево, недостающее количество битов в крайней левой группе дополним нулями:
0011001110 1111000011 1010111110 1110111000 1011100000
11. Закодируем каждую из битовых групп, начиная с крайней левой группы. Для этого определим позиции единиц в каждой из 5-ти групп последовательностей битов, найдем числа, находящиеся на этих же позициях в открытом ключе, а затем найдем их сумму, которая и будет являться кодом группы битов.
[pic 2]
Рисунок 1 – Получение суммы для 1 группы битов
[pic 3]
Рисунок 2 - Получение суммы для 2 группы битов
[pic 4]
Рисунок 3 - Получение суммы для 3 группы битов
...