33634

RSA (буквенная аббревиатура от фамилий Rivest, Shamir и Adleman)

Доклад

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

Алгоритм RS состоит из следующих пунктов: Выбрать простые числа p и q заданного размера например 512 битов каждое. Вычислить n = p q Вычисляется значение функции Эйлера от числа n: m = p 1 q 1 Выбрать число d взаимно простое с m Два целых числа называются взаимно простыми если они не имеют никаких общих делителей кроме 1. Выбрать число e так чтобы e d = 1 mod m Числа e и d являются ключами. Шифруемые данные необходимо разбить на блоки числа от 0 до n 1.

Русский

2013-09-06

92.5 KB

10 чел.

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

В криптографической системе с открытым ключом каждый участник располагает как открытым ключом (public key), так и секретным ключом (secret key). Каждый ключ - это часть информации. В криптографической системе RSA каждый ключ состоит из пары целых чисел. Каждый участник создаёт свой открытый и секретный ключ самостоятельно. Секретный ключ каждый из них держит в секрете, а открытые ключи можно сообщать кому угодно или даже публиковать их. Открытый и секретный ключи каждого участника обмена сообщениями образуют «согласованную пару» в том смысле, что они являются взаимно обратными.

Алгоритм RSA состоит из следующих пунктов:

  1.   Выбрать простые числа p и q заданного размера (например, 512 битов каждое).

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

  1.   Вычислить n = p * q 
  2.   Вычисляется значение функции Эйлера от числа n:

 m = (p - 1) * (q - 1)

  1.   Выбрать число d взаимно простое с m 

Два целых числа называются взаимно простыми, если они не имеют никаких общих делителей, кроме ±1. Примеры: 14 и 25 взаимно просты, а 15 и 25 не взаимно просты (у них имеется общий делитель 5).

  1.   Выбрать число e так, чтобы e * d = 1 (mod m)

Числа e и d являются ключами. Шифруемые данные необходимо разбить на блоки - числа от 0 до n - 1.

Шифрование и дешифровка данных производятся следующим образом:

Шифрование: P(M) = Me mod n

Дешифровка: S(C) = Cd mod n

Следует также отметить, что ключи e и d равноправны, т.е. сообщение можно шифровать как ключом e, так и ключом d, при этом расшифровка должна быть произведена с помощью другого ключа.

Схема шифрования и дешифрования RSA представлена на рис.4. Предположим, сторона B хочет послать стороне А сообщение М. Сообщением являются целые числа от 0 до n-1.



Рис.4 – Схема шифрования/дешифрования RSA

Размер ключа в алгоритме RSA связан с размером модуля n. Два числа p  и q,  произведением  которых  является  модуль,  должны  иметь  приблизительно одинаковую  длину,  поскольку  в  этом  случае  найти  сомножители  (факторы) сложнее, чем в случае, когда длина чисел значительно  различается.  Например, если предполагается использовать 768-битный модуль, то каждое  число  должно иметь длину приблизительно 384 бита. Обратите внимание, что если  два  числа чрезвычайно близки  друг  к  другу  или  их  разность  близка  к  некоторому предопределенному значению, то возникает потенциальная угроза  безопасности, однако  такая  вероятность  –  близость  двух  случайно  выбранных  чисел  – незначительна.

Оптимальный  размер  модуля  определяется  требованиями   безопасности: модуль большего размера обеспечивает большую безопасность,  но  и  замедляет работу  алгоритма RSA. Длина модуля выбирается в  первую  очередь  на  основе значимости защищаемых данных и необходимой стойкости защищенных данных и  во вторую очередь – на основе оценки возможных угроз.

На 2009 год система шифрования на основе RSA считается надёжной, начиная с размера n = p * q  в 1024 бита. В Более подробную информацию о данном алгоритме шифрования и конкретные примеры можно получить из справки, а также из источников, указанных в литературе.

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


 

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

72393. Системы подчиненного регулирования (СПР) 602.5 KB
  Пусть обратную связь полагаем единичной. Чтобы обеспечить настройку на ОМ, необходимо применить ПИ-регулятор с ПФ параметры которого следует рассчитать по формулам Переходная характеристика контура по задающему воздействию имеет следующие показатели качества: 4.3%, Быстродействие контура, таким образом...
72394. РАЗРАБОТКА МНОГОПОТОЧНЫХ WINDOWS-ПРИЛОЖЕНИЙ, УПРАВЛЕНИЕ ПОТОКАМИ, ЗАПУСК ДОЧЕРНИХ ПРОЦЕССОВ В СРЕДЕ MS VISUAL C++ 118 KB
  В программе должно быть следующее: описана главная функция приложения WinMin в которой регистрируется класс главного окна создается и выводится это окно организуется цикл обработки очереди сообщений приложения; главное окно приложения должно быть развернутым на весь экран в заголовке...
72395. Программирование алгоритмов линейной структуры в интегрированной среде языка Turbo Pascal 388 KB
  Знакомство со средой программирования Turbo Pascal. Изучение структуры программы, стандартных функций, оператора присваивания и процедур ввода-вывода. Задачи работы Научиться создавать программы на языке Turbo Pascal с использованием стандартных функций.
72396. Сorel Draw. Управление цветом. Имитация воды. Капля росы 1.19 MB
  После этого выберите инструмент Basic Shapes (Базовые фигуры) и найдите фигуру, близкую по форме к «классической» капле на панели свойств, удерживая нажатым маленький черный треугольник. Создайте на ее основе объект средних размеров. Пропорции определите на глаз...
72397. Огибающие и деформации. Ледяная надпись 2.31 MB
  Для того чтобы инструмент Shape (Форма) мог быть применен к тексту, текст нужно перевести в кривые. Для этого, выбрав инструмент Pick (Выбор), щелкните на тексте правой кнопкой мыши. В открывшемся меню выберите команду Convert To Curves (Преобразовать в кривые).
72398. Линзы и прозрачность в Сorel Draw. Иллюзия стекла 515.5 KB
  В появившемся диалоговом окне установите тип выдавливания Back Parallel (параллели). Под вашим треугольником пунктирной линией будет отображаться копия. Обратите внимание на положение перекрестья, обозначающего точку исчезновения. Захватите его мышкой и поместите так, чтобы добиться желаемой...
72399. Перспектива и экструзия в Сorel Draw. Раскрытая книга 614.5 KB
  Этот пример демонстрирует стандартные инструменты CorelDraw, применимые в необычной ситуации, и позволяющие решать задачи, на первый взгляд кажущиеся чрезвычайно трудоемкими. Сложность примера состоит в том, что листы должны быть отделены друг от друга. Это можно выполнить и вручную, но потребуется очень много времени.
72400. Манипулирование объектами. Разбитая табличка с письменами 3.89 MB
  Сначала создайте табличку — прямоугольник с текстурной заливкой. Для этого нарисуйте объект инструментом Rectangle (Прямоугольник), после чего примените к нему текстурную заливку, выбрав в группе Fill (Заливка) инструмент Texture Fill (Текстурная заливка).
72401. Настройка параметров системы Сorel Draw 8.17 MB
  CorelDRAW предоставляет пользователю широкие возможности, но зато и требует много ресурсов, в частности оперативной и дисковой памяти. Частично об этой проблеме стоит задуматься уже на этапе установки, когда вы решаете, на какой диск устанавливать программу, а на каком будет находиться папка для хранения временных файлов.