Шифрування й розшифрування
RSA Матеріал з Вікіпедії — вільної енциклопедії. RSA — криптографічна система з відкритим ключем. RSA став першим алгоритмом такого типу, придатним і для шифрування і для цифрового підпису. Алгоритм використовується у великій кількості криптографічних застосунків. Зміст
Історія Опис RSA було опубліковано у 1977 році Рональдом Райвестом, Аді Шаміром і Леонардом Адлеманом з Масачусетського Технологічного Інституту (MIT). Британський математик Кліфорд Кокс (Clifford Cocks), що працював в центрі урядового зв'язку (GCHQ) Великобританії, описав аналогічну систему в 1973 році у внутрішніх документах центру, але ця робота не була розкрита до 1997 року, тож Райвест, Шамір і Адлеман розробили RSA незалежно від роботи Кокса. В 1983 році був виданий патент 4405829 США, термін дії якого минув 21 вересня 2000 року. Опис алгоритму Безпека алгоритму RSA побудована на принципі складності факторизації. Алгоритм використовує два ключі — відкритий (public) і секретний (private), разом відкритий і відповідний йому секретний ключі утворюють пари ключів (keypair). Відкритий ключ не потрібно зберігати в таємниці, він використовується для шифрування даних. Якщо повідомлення було зашифровано відкритим ключем, то розшифрувати його можна тільки відповідним секретним ключем. Генерування ключів Для того, щоб згенерувати пари ключів виконуються такі дії: 1. вибираються два великі прості числа і приблизно 512 біт завдовжки кожне 2. обчислюється їх добуток 3. обчислюється функція Ейлера 4. вибирається ціле таке, що та взаємно просте з 5. за допомогою розширеного алгоритму Евкліда знаходиться число таке, що Число називається модулем, а числа і — відкритою й секретною експонентами (англ. encryption and decryption exponents), відповідно. Пари чисел є відкритою частиною ключа, а — секретною. Числа і після генерації пари ключів можуть бути знищені, але в жодному разі не повинні бути розкриті. Шифрування й розшифрування Для того, щоб зашифрувати повідомлення обчислюється . Число і використовується в якості шифртексту. Для розшифрування потрібно обчислити . Неважко переконатися, що при розшифруванні ми відновимо вихідне повідомлення: З умови випливає, що для деякого цілого , отже Згідно з теоремою Ейлера: , тому RSA припущення — RSA є односторонньою переставкою, тобто для будь-якого дієвого алгоритму A: нехтовно мала, що означає неможливість обернення RSA без секретної інформації — . Наведений вище варіант шифрування називається підручник RSA (англ. textbook RSA) і є цілком уразливим[1]. В жодному разі його не можна використовувати в криптосистемах. Цифровий підпис RSA може використовуватися не тільки для шифрування, але й для цифрового підпису. Підпис повідомлення обчислюється з використанням секретного ключа за формулою: Для перевірки правильності підпису потрібно переконатися, що виконується рівність ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|