y"> i )=(Y ( i )) d (mod n ).
Приклад застосування методу RSA для криптографічного закриття інформації. Примітка: для простоти обчислень використані мінімально можливі числа.
Нехай потрібно зашифрувати повідомлення російською мовою ГАЗ .
Для шифрування і розшифрування повідомлення необхідно виконати наступні кроки.
Крок 1. Вибирається p =3 і q =11.
Крок 2. Обчислюється n =3 * 11=33.
Крок 3. Визначається функція Ейлера
f ( p , q )=(3-1) * (11-1) =20.
Крок 4. В якості взаємно простого числа вибирається число
Крок 5. Вибирається таке число е , яке задовольняло б носінню: ( е * 3) (mod 20)=1. Нехай е =7.
Крок 6. Початкове повідомлення представляється як послідовність цілих чисел. Нехай букві А відповідає число 1, букві Г - число 4, букві З - число 9. Для подання чисел у двійковому коді потрібно 6 двійкових розрядів, тому що в російській алфавіті використовуються 33 літери (випадковий збіг з числом n). Вихідна інформація в двійковому коді має вигляд:
000001 001001.
Довжина блоку L визначається як мінімальне число з цілих чисел, що задовольняють умові: L? log2 (33 + 1), так як n=33. Звідси L=6. Тоді вихідний текст представляється у вигляді кортежу Х (i)= lt; 4, 1, 9 gt;.
Крок 7. Кортеж Х (i) зашифровується за допомогою відкритого ключа {7, 33}:
Y (1)=(4 7) (mod 33)=16384 (mod 33)=16; (2)=(1 7) (mod 33)=1 (mod 33)=1 ;
Y (3)=(9 7) (mod 33)=4782969 (mod 33)=15.
Отримано зашифроване повідомлення Y (i)= lt; 16, 1, 15 gt;.
Крок 8. Розшифровка повідомлення Y (i)= lt; 16, 1, 15 gt; здійснюється за допомогою секретного ключа {3, 33}:
Х (1)=(16 3) (mod 33)=4096 (mod 33)=4;
Х (2)=(1 3) (mod 33)=1 (mod 33)=1;
Х (3)=(15 3) (mod 33)=3 375 (mod 33)=9.
Вихідна числова послідовність в розшифрованому вигляді X (1)= lt; 4, 1, 9 gt; замінюється вихідним текстом ГАЗ .
Система Ель-Гамаля заснована на складності обчислення дискретних логарифмів в кінцевих полях. Основним недоліком систем RSA і Ель-Гамаля є необхідність виконання трудомістких операцій в модульній арифметиці, що вимагає залучення значних обчислювальних ресурсів. Криптосистема Мак-Еліса використовує коди, що виправляють помилки. Вона реалізується в кілька разів швидше, ніж криптосистема RSA, але має і суттєвий недолік. У криптосистеме Мак-Еліса використовується ключ великої довжини і одержуваний шифртекст в два рази перевищує довжину вихідного тексту.
Для всіх методів шифрування з відкритим ключем математично строго не доведено відсутність інших методів криптоаналізу крім рішення NP-повної задачі (задачі повного перебору). Якщо з'являться методи ефективного вирішення таких завдань, то криптосистеми такого типу будуть дискредитовані. Наприклад, раніше вважалося, що завдання укладання рюкзака є NР-повній. В даний час відомий метод вирішення такого завдання, що дозволяє уникнути повного перебору.
2.4.1 дві важливі властивості криптографії з відкритим ключем
Малюнок 2.4.1.1 Два властивості криптографії з відкритими ключами
Схема шифрування даних з використанням відкритого ключа наведена на Малюнку 2.4.1.1 і складається з двох етапів. На першому з них проводиться обмін по несекретних каналу відкритими ключами. При цьому необхідно забезпечити справжність передачі ключової інформації. На другому етапі, власне, реалізується шифрування повідомлень, при якому відправник зашифровує повідомлення відкритим ключем одержувача.
Зашифрований файл може бути прочитаний тільки власником секретного ключа, тобто одержувачем. Схема розшифрування, реалізована одержувачем повідомлення, використовує для цього секретний ключ одержувача.
2.4.2 Шифрування
Малюнок 2.4.2.1 Схема шифрування в криптографії з відкритими ключами.
Реалізація схеми ЕЦП пов'язана з обчисленням хеш-функції (дайджесту) даних, яка являє собою унікальне число, отримане з вихідних даних шляхом його стиснення (згортки) за допомогою складного, але ві...