- •Лабораторна робота 1 Шифри Полібія, Цезаря, Тритемія
- •261135162611352224115567523531676514222627113435222411665536261163.
- •2647553634163315273155331112313511162662,
- •Лабораторна робота 2 Шифри Віженера
- •Лабораторна робота 3 Шифри Кардано і Ардженті
- •4×4 (Вирізані квадратики − заштриховані клітки); б) шифротекст.
- •9211069992381190298595681688891272790467924437106565023261484921194
- •5059952574495956816888912727904679244371744926148452594.
- •Лабораторна робота 4 Шифри з варіацією розміру «вікна шифрування» і Вернама
- •Лабораторна робота №5 Мережа Фейстеля
- •Лабораторна робота №6 Алгоритм rsa
- •Лабораторна робота №7 Криптоаналіз шифру Віженера з періодичним ключем
- •Рекомендована література
Лабораторна робота №6 Алгоритм rsa
1. Опис методу шифрування.
1.1 Асиметрична криптосистема RSA. У 1977 р. вчені МІТ Рональд Рівест (Ronald Linn Rivest), Аді Шамір (Adi Shamir) та Леонард Адлеман (Leonard Adleman) запропонували асиметричний алгоритм перетворення цілих чисел в цілі числа. Цей алгоритм отримав назву RSA за першими літерами прізвищ її авторів. В основі алгоритма − задача множення та факторизації простих чисел.
Алгоритм формування відкритого і секретного ключів згідно RSA наведено нижче:
випадковим образом обираються два простих числа і(), двійкове представлення яких має одну и ту саму довжину (ця умова забезпечує максимальну «безпеку» шифросистеми), яка не менша забіт;
випадковим образом обирається таке число , щоі–взаємно прості числа, тобто
;
обчислюються числа і, де
і
.
Шифрування здійснюється в такий спосіб. Виділяємо в послідовності, що шифруємо, черговий фрагмент довжини меншої заі обчислюємо
. (6.1)
Розшифровка здійснюється у відповідності до формули
. (6.2)
Параметри і−секретний ключ, а може бути відоме всім. На сьогодні не відомий жоден поліноміальний алгоритм розкладання числа () на два простих множники.
Можливі такі два варіанти:
Нехай –відкритий ключ, а –закритий ключ. Швидко зашифрувати повідомлення може будь-який користувач. Однак здійснити швидку розшифровку можуть лише ті користувачі, яким відомий секретний ключ.
Нехай –відкритий ключ, а –закритий ключ. Швидко розшифрувати шифротекст може будь-який користувач. Однак здійснити швидке шифрування можуть лише ті користувачі, яким відомий секретний ключ.
Приклад 6.1. Розглянемо роботу алгоритма RSA на прикладі.
1. Обираються два числа і. Ці числа тримаємо в таємниці.
2. Обчислюємо число . Це число може бути відоме всім.
3. Обчислюємо .
4. Обираємо відкритий ключ і. Нехай. Це число може бути відоме всім.
5. Обчислюємо секретний ключ і.
.
6. Зашифруємо текст за допомогою RSA.
.
Розшифруємо :
.
2. Завдання на проведення лабораторної роботи.
2.1. Зашифрувати і розшифрувати тексти івідповідно за допомогою алгоритма RSA. Варіанти завдань, а також числаінаведені в таблиці 6.1. Відкритий ключдля шифрування обрати самостійно.
Таблиця 6.1 − Варіанти завдань
№ варіанта |
відкритий текст |
шифротекст | ||
1 |
13 |
73 |
24 |
42 |
2 |
13 |
71 |
25 |
52 |
3 |
13 |
67 |
26 |
62 |
4 |
13 |
61 |
27 |
72 |
5 |
17 |
61 |
28 |
82 |
6 |
17 |
59 |
34 |
43 |
7 |
17 |
53 |
35 |
53 |
8 |
17 |
47 |
36 |
63 |
9 |
19 |
53 |
37 |
73 |
10 |
19 |
47 |
38 |
83 |
11 |
19 |
43 |
45 |
54 |
12 |
19 |
41 |
46 |
64 |
13 |
23 |
41 |
47 |
74 |
14 |
23 |
37 |
48 |
84 |
15 |
23 |
31 |
56 |
65 |
16 |
23 |
29 |
57 |
75 |
17 |
29 |
31 |
58 |
85 |
18 |
29 |
37 |
67 |
76 |
19 |
29 |
43 |
68 |
86 |
20 |
29 |
47 |
78 |
87 |