
- •Методичні вказівки до виконання контрольної роботи
- •Завдання №1
- •Мета роботи
- •Приклад виконання завдання 1
- •Завдання 2
- •Мета роботи
- •Приклад виконання завдання 2
- •Завдання 3
- •Мета роботи
- •Приклад виконання завдання 3
- •Завдання 4
- •Мета роботи
- •Приклад виконання завдання 4
- •Завдання 5
- •Мета роботи
- •Приклад виконання завдання 5
- •Додатки Додаток а Алгоритм шифрування гост 28147-89
- •Проста заміна
- •Додаток б Символи кирилиці (альтернативна кодова таблиця ascii)
- •Додаток в Блок підстановки в алгоритмі шифрування гост 28147-89
- •Приклад. Нехай 32-бітна послідовність має вигляд
- •Додаток г Алгоритм шифрування rsa
- •Криптографічна система rsa (Rivest-Shamir-Adleman)
- •Додаток д
- •Функція хешування
- •Електронний цифровий підпис
- •Класична схема створення цифрового підпису
Додаток г Алгоритм шифрування rsa
Алгоритм шифрування RSA відноситься до криптографічних систем із відкритим ключем. Криптосистеми з відкритим ключем (асиметричні криптосистеми) були розроблені в другій половині семидесятих років. В асиметричних криптосистемах процедури прямого і зворотнього криптоперетворення виконуються на різних ключах і не мають між собою очевидних і легковідсліджуваних зв`язків, що дозволяють за одним ключем визначити інший. В такій схемі знання тільки ключа зашифрування не дозволяє розшифрувати повідомлення, тому він не є секретним елементом шифру і зазвичай публікується учасником обміну для того, щоб будь-хто бажаючий міг послати йому зашифроване повідомлення.
Принцип функціонування асиметричної криптосистеми полягає в наступному:
користувач А генерує два ключі - відкритий (незасекречений) і секретний - і передає відкритий ключ по незахищеному каналу користувачу Б;
користувач Б шифрує повідомлення, використовуючи відкритий ключ шифрування користувача А;
користувач Б посилає зашифроване повідомлення користувачу А по незахищеному каналу;
користувач А отримує зашифроване повідомлення і дешифрує його, використовуючи свій секретний ключ.
Пари {відкритий ключ; секретний ключ} обчислюються за допомогою спеціальних алгоритмів, причому жоден ключ не може бути виведений з другого.
Криптографічна система 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) .