28567

Система открытого шифрования RSA, атаки на RSA

Доклад

Информатика, кибернетика и программирование

В настоящее время наиболее развитым методом криптографической защиты информации с известным ключом является RSA названный так по начальным буквам фамилий ее изобретателей Rivest Shamir и Adleman и представляющую собой криптосистему стойкость которой основана на сложности решения задачи разложения числа на простые сомножители. Чтобы использовать алгоритм RSA надо сначала сгенерировать открытый и секретный ключи выполнив следующие шаги: выберем два очень больших простых числа p и q; определим n как результат умножения p на q n = p Ч...

Русский

2013-08-20

15.87 KB

11 чел.

  1.  Система открытого шифрования RSA, атаки на RSA.

В настоящее время наиболее развитым методом криптографической защиты информации с известным ключом является RSA, названный так по начальным буквам фамилий ее изобретателей (Rivest, Shamir и Adleman) и представляющую собой криптосистему, стойкость которой основана на сложности решения задачи разложения числа на простые сомножители..

Под простым числом будем понимать такое число, которое делится только на единицу и на само себя. Взаимно простыми числами будем называть такие числа, которые не имеют ни одного общего делителя, кроме единицы.

Под результатом операции i mod j будем считать остаток от целочисленного деления i на j. Чтобы использовать алгоритм RSA, надо сначала сгенерировать открытый и секретный ключи, выполнив следующие шаги:

  1.  выберем два очень больших простых числа p и q;
  2.  определим n как результат умножения p на q (n = p Ч q);
  3.  выберем большое случайное число, которое назовем d (оно должно быть взаимно простым с m результатом умножения (р – 1) × (q – 1));
  4.  определим такое число e, для которого является истинным следующее соотношение: (e Ч d) mod (m) =1 или e = (1 mod (m))/d.

Открытым ключом будут числа e и n, а секретным ключом – числа d и n.

Теперь, чтобы зашифровать данные по известному ключу {e, n}, необходимо сделать следующее:

  1.  разбить шифруемый текст на блоки, каждый из которых может быть представлен в виде числа М(i) = 0, 1, …, n – 1;
  2.  зашифровать текст, рассматриваемый как последовательность чисел М(i) по формуле С(i) = (М(i)e) mod n.

Чтобы расшифровать данные, используя секретный ключ {d, n}, необходимо выполнить следующие вычисления: М(i) = (С(i)d) mod n. В результате получится множество чисел М(i), которые представляют собой исходный текст.

Криптостойкость алгоритма RSA основывается на проблеме факторизации больших простых чисел. Действительно, если злоумышленнику удастся разложить число n на простые множители p и q, то для него не составит труда вычислить (n), а затем и определить секретный ключ пользователя. Однако   нахождение секретного ключа RSA не эквивалентно проблеме факторизации. Это означает, что T(RSA)<=T(факторизации), где T(RSA) – трудоемкость определения секретного ключа RSA, а T(факторизации) – трудоемкость факторизации числа n. То есть, могут быть найдены эффективные алгоритмы определения секретного ключа алгоритма RSA, причем проблема факторизации при этом не будет разрешена.

Если сообщение невелико, то злоумышленник может попытаться подобрать открытый текст путем перебора всех возможных вариантов и шифрования их на открытом ключе абонента e до тех пор, пока не будет получен перехваченный шифртекст c.

Схема шифрования RSA несостоятельна при использовании абонентами общих модулей n. Допустим, что имеются 2 абонета A и В с открытыми ключами (e1,n) и (e2,n). Центр (например, общий сервер) желает послать обоим абонетам одно и то же сообщение m. Он получает me1=c1(mod n) и me2=c2(mod n) и посылает c1 и c2 абонентам А и В соответственно. Положим, что противник перехватывает эти сообщения. Затем, если (e1,e2)=1, то с помощью расширенного алгоритма Евклида можно найти такие k1 и k2, для которых e1k1+e2k2=1. И, соответственно, me1k1me2k2=m. Найдя такие k1 и k2 (это можно сделать, ведь открытые ключи противнику известны), противник вычислит собщение: (c1)k1(c2)k2 = m.


 

А также другие работы, которые могут Вас заинтересовать

50733. Изучение теории погрешностей и кинематики материальной точки 49 KB
  Наитии кинематический закон движения точки. Спроецируем точки на координатные оси рис.1 с учётом масштаба и выпишем таблицу значений координат точки.
50734. Теоретичні основи теплотехніки 144.5 KB
  Лабораторна робота №1 Визначення термічного ККД електричної печі опору Мета роботи: експериментально визначити величини теплових потоків в процесі нагрівання метала в різних температурних діапазонах і розрахувати ККД печі. Технічна характеристика електропечі Номінальна потужність кВт 25 025 Номінальна температура ˚С 900 Розміри робочого простору мм довжина ширина висота 200 160 80 Час досягнення номінальної температури без завантаження хв. не більше...
50735. ЕКСПЕРИМЕНТАЛЬНЕ ПОБУДОВА СТАТИЧНИХ ХАРАКТЕРИСТИК ЕЛЕМЕНТІВ СИСТЕМИ 765.5 KB
  Вивчити призначення приладів і перемикачів по рис. Побудувати статичні характеристики обєкта регулювання і регулятора. Короткі відомості необхідні для виконання роботи Статичною характеристикою елемента називається залежність вихідної координати від вхідної знята на сталих режимах.
50736. Інтерполяційні формули через розділені різниці 66 KB
  Мета. Навчитися знаходити значення функції при даному значенні аргумента, використовуючи інтерполяційні формули Нютона через розділені різниці. Обладнання. Лист формату А4, ручка, програмне забезпечення С++.
50737. Формули Нютона через кінцеві різниці 108.5 KB
  Мета. Навчитися обчислити значення функції при даному значенні аргумента, використовуючи формули Н’ютона через кінцеві різниці. Обладнання. Лист формату А4, ручка, олівець, програмне забезпечення С++.
50738. Финансовый контроль в бюджетных организациях 706 KB
  Цель и задачи работы обосновать значимость финансового контроля в комплексе государственных мероприятий РФ; провести анализ процесса финансового контроля, выявить проблемы, присущие этим процессам и обозначить возможные направления их решения
50739. Знаходження значення інтеграла по формулам Ньютона-Котеса 33.5 KB
  Мета. Навчитися знаходити значення інтеграла по формулам Ньютона-Котеса. Скласти програму. Устаткування: папір формату А4, ПК, С++.
50740. Знаходження інтеграла за формулами прямокутників 33.5 KB
  Мета. Навчитися знаходити значення інтегралу за формулами прямокутників. Скласти програму. Устаткування. папір формату А4, ПК, С++
50741. Знаходження інтегралу за формулами трапецій 31 KB
  Мета. навчитися знаходити значення інтегралу за формулами трапецій. Скласти програму. Устаткування: папір А4, ручка, ПК, програмне забезпечення С++.