- •Додаток а. Алгоритм шифрування гост 28147-89
- •Проста заміна.
- •Мал. 1. Алгоритм шифрування гост 28147-89 (режим простого заміщення).
- •Мал. 2. Функція перетворення f(r,X) в алгоритмі гост 28147-89. Додаток б. Символи кирилиці (альтернативна кодова таблиця ascii)
- •Додаток в. Блок підстановки в алгоритмі шифрування гост 28147-89
- •Приклад. Нехай 32-бітна послідовність має вигляд
- •Криптографічна система rsa (Rivest-Shamir-Adleman)
- •Додаток е. Функція хешування
- •Додаток ж. Електронний цифровий підпис
- •Класична схема створення цифрового підпису
Криптографічна система rsa (Rivest-Shamir-Adleman)
Авторами алгоритму RSA, запропонованого в 1977 р., є Р.Рівест (Rivest), А.Шамір (Shamir) і А.Адлеман (Adleman). Надійність алгоритму базується на складності факторизації (розкладення на множники) великих чисел і складності обчислення дискретних алгоритмів (знахождення x при відомих a, b і n із рівняння ax = b (mod n) ).
Алгоритм RSA складається з трьох частин: генерування ключів, шифрування і дешифрування.
-
Генерування ключів.
Оберемо два великих різних простих числа p і q (Натуральне число називається простим, якщо воно ділиться тільки на себе і на 1.) та знайдемо їх добуток
n = pq .
Обчислимо функцію Ейлера (n) за формулою
(n) = (p-1)(q-1).
Закритий ключ d обираємо з умов
d < (n) і
d взаємно просте з (n),
тобто d і (n) не мають спільних дільників.
Відкритий ключ e обираємо з умов
e < (n) і
de = 1(mod (n)) .
Остання умова означає, що різниця de - 1 повинна ділитись на (n) без залишку. Для визначення числа e слід підібрати таке число k, що
de - 1 = (n)*k .
В алгоритмі RSA
( e, n ) – відкритий ключ,
( d, n ) – секретний ключ.
-
Шифрування.
Вихідне повідомлення розбивається на блоки Mi однакової довжини. Кожен блок представляється у вигляді великого десяткового числа, менше n , і шифрується окремо. Шифрування блока M (M – десяткове число) здійснюється за наступною формулою
Me = C (mod n) ,
де C – шифрблок, що відповідає блоку відкритого повідомлення M. Шифрблоки з`єднуються в шифрограму.
-
Дешифрування.
При дешифруванні шифрограма розбивається на блоки відомої довжини і кожен шифрблок дешифрується окремо за наступною формулою
Cd = M (mod n) .
Додаток Д. Таблиця простих чисел
1 |
2 |
3 |
5 |
7 |
11 |
13 |
17 |
19 |
23 |
29 |
31 |
37 |
41 |
43 |
47 |
53 |
59 |
61 |
67 |
71 |
73 |
79 |
83 |
89 |
97 |
101 |
103 |
107 |
109 |
113 |
127 |
131 |
137 |
139 |
149 |
151 |
157 |
163 |
167 |
173 |
179 |
181 |
191 |
193 |
197 |
199 |
211 |
223 |
227 |
229 |
233 |
239 |
241 |
251 |
257 |
263 |
269 |
271 |
277 |
281 |
283 |
293 |
307 |
311 |
313 |
317 |
331 |
337 |
347 |
349 |
353 |
359 |
367 |
373 |
379 |
383 |
389 |
397 |
401 |
409 |
419 |
421 |
431 |
433 |
439 |
443 |
449 |
457 |
461 |
463 |
467 |
479 |
487 |
491 |
499 |
503 |
509 |
521 |
523 |
541 |
547 |
557 |
563 |
569 |
571 |
577 |
587 |
593 |
599 |