- •Лабораторна робота 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 |
