Шифрування RSA

RSA-шифрування , в повному обсязі шифрування Rivest-Shamir-Adleman , тип криптографії з відкритим ключем, що широко використовується для шифрування даних електронної пошти та інших цифрових транзакцій через Інтернет. RSA названий на честь винахідників Рональда Л.Рівеста, Аді Шаміра та Леонарда М.Адлемана, які створили його, перебуваючи на факультеті в Массачусетському технологічному інституті.

Таблиця Віженера При шифруванні відкритого тексту буква шифру знаходиться на перетині стовпця, очолюваного відкритим текстом, і рядка, індексованого ключовою буквою. Для розшифровки шифротексту буква відкритого тексту знаходиться на початку стовпця, що визначається перетином діагоналі, що містить букву шифру, та рядка, що містить ключову букву.Детальніше про цю тему Криптологія: Шифрування RSA Найвідомішою схемою відкритого ключа є криптоалгоритм Rivest – Shamir – Adleman (RSA). У цій системі користувач таємно вибирає пару основних ...

У системі RSA користувач таємно вибирає пару простих чисел p і q настільки великих, що множення добутку n = p q значно перевищує прогнозовані обчислювальні можливості на час життя шифрів. Станом на 2000 рік, урядові стандарти безпеки США передбачають розмір модуля 1024 біта, тобто p та q мають мати розмір приблизно 155 десяткових цифр, тому n- це приблизно 310-значне число. Оскільки найбільші тверді числа, які в даний час можна врахувати, складають лише половину цього розміру, і оскільки складність факторингу приблизно подвоюється для кожних додаткових трьох цифр в модулі, 310-значні модулі вважаються безпечними від факторингу протягом декількох десятиліть.

Вибравши p і q , користувач вибирає довільне ціле число e менше n і відносно просте до p - 1 і q - 1, тобто так, що 1 є єдиним спільним фактором між e і продуктом ( p - 1) ( q - 1). Це гарантує, що існує інше число d, для якого добуток e d залишить залишок 1 при діленні на найменше загальне кратне p - 1 і q - 1. Знаючи p і q , число dможна легко обчислити за допомогою алгоритму Евкліда. Якщо один не знає p і q , настільки ж важко знайти або e, або d, враховуючи інший, як коефіцієнт n , що є основою для криптозахисту алгоритму RSA.

Мітки d та e будуть використовуватися для позначення функції, до якої кладеться клавіша, але оскільки ключі повністю взаємозамінні, це лише зручність для викладу. Для реалізації каналу секретності, використовуючи стандартну версію криптосистеми RSA з двома ключами, користувач A публікував e та n у автентифікованому загальнодоступному каталозі, але зберігав d в секреті. Кожен, хто бажає надіслати приватне повідомлення на адресу А , закодує його в числа, менші за n, а потім зашифрує за допомогою спеціальної формули на основі e та n . А може розшифрувати таке повідомлення, базуючись на знанні d, але презумпція - і на сьогодні докази - полягає в тому, що майже для всіх шифрів ніхто інший не може розшифрувати повідомлення, якщо він також не може врахувати n .

Подібним чином для реалізації каналу автентифікації A публікував би d та n і зберігав e в таємниці. У найпростішому використанні цього каналу для перевірки особистості, B може переконатися , що він знаходиться в зв'язку з А , дивлячись в каталог , щоб знайти A ключа дешифрування «s д і послати йому повідомлення , щоб бути зашифровані. Якщо він повернеться шифром , який розшифровує до його виклик повідомлення з допомогою D , щоб розшифрувати його, він буде знати , що це , ймовірно , створений ким - то , знаючи , е , і , отже, інший автор повідомлення, ймовірно ,. Цифровий підпис повідомлення є більш складною операцією і вимагає криптозахищеної функції “хешування”. Це загальновідома функція, яка відображає будь-яке повідомлення у менше повідомлення, яке називається дайджестом, в якому кожен біт дайджесту залежить від кожного біта повідомлення таким чином, що зміна навіть одного біта в повідомленні може змінюватися , криптозахищеним способом, половина бітів у дайджесті. Під криптозахистом мається на увазі, що обчислювально неможливо будь-кому знайти повідомлення, яке створить попередньо призначений дайджест, і однаково важко знайти інше повідомлення з таким самим дайджестом, як відоме. Щоб підписати повідомлення, яке, можливо, навіть не потрібно тримати в таємниці - A шифрує дайджест із секретом e, який він додає до повідомлення. Потім кожен може розшифрувати повідомлення за допомогою відкритого ключа d для відновлення дайджесту, який він також може обчислити незалежно від повідомлення. Якщо обидва погоджуються, він повинен зробити висновок, що А створив шифр, оскільки лише А знав е, а отже, міг зашифрувати повідомлення.

На даний момент усі запропоновані криптосистеми з двома ключами визначають дуже високу ціну за відокремлення каналу конфіденційності або секретності від каналу автентифікації або підпису. Значно збільшений обсяг обчислень, задіяних у процесі асиметричного шифрування / дешифрування, значно скорочує пропускну здатність каналу (біти в секунду переданої інформації повідомлення). Приблизно за 20 років для порівняно безпечних систем вдалося досягти пропускної здатності в 1000 - 10000 разів більшої для одноклавішних, ніж для алгоритмів з двома ключами. Як результат, основне застосування криптографії з двома ключами полягає в гібридних системах. У такій системі алгоритм із двома ключами використовується для автентифікації та цифрових підписів або для обміну випадково сформованим ключем сеансу, який буде використовуватися з алгоритмом з одним ключем на високій швидкості для основного зв'язку.В кінці сеансу цей ключ відкидається.