Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11 Алгоритм RSA.doc
Скачиваний:
42
Добавлен:
27.10.2018
Размер:
996 Кб
Скачать

11 Алгоритм rsa

RSA – криптографическая система открытого ключа, обеспечивающая такие механизмы защиты как шифрование и цифровая подпись (аутентификация – установление подлинности). ( 1977, разработчики Ronald Rivest, Adi Shamir и Leonard Adleman).

Его проще всего понять и реализовать. Безопасность RSA основана на трудности разложения на множители больших чисел. Открытый и закрытые ключи являются функциями двух больших (100-200 разрядов или даже больше) простых чисел.

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

N=p*q.

Затем случайным образом выбирается ключ шифрования e, такой что e и (p-1)(q-1) является взаимно простыми числами. Наконец расширенный алгоритм Эвклида используется для вычисления ключа дешифрирования d, такого что ed=1(mod(p-1)(q-1))

c – зашифрованное сообщение

Использование криптосистемы RSA в настоящее время

Криптосистема RSA используется в самых различных продуктах, на различных платформах и во многих отраслях. В настоящее время криптосистема RSA встраивается во многие коммерческие продукты, число которых постоянно увеличивается. Также ее используют операционные системы Microsoft, Apple, Sun и Novell. В аппаратном исполнении RSA алгоритм применяется в защищенных телефонах, на сетевых платах Ethernet, на смарт-картах, широко используется в криптографическом оборудовании. Кроме того, алгоритм входит в состав всех основных протоколов для защищенных коммуникаций Internet, в том числе S/MIME, SSL и S/WAN, а также используется во многих учреждениях, например, в правительственных службах, в большинстве корпораций, в государственных лабораториях и университетах. На осень 2000 года технологии с применением алгоритма RSA были лицензированы более чем 700 компаниями.

12. Алгоритм Эль Гамаля

Алгоритм Эль-Гамаля может использоваться для формирования электронной подписи или для шифрования данных. Он базируется на трудности вычисления дискретного логарифма. Для генерации пары ключей сначала берется простое число p и два случайных числа g и x, каждое из которых меньше p. Затем вычисляется:

y = gx mod p

Общедоступными ключами являются y, g и p, а секретным ключом являетсях. Для подписи сообщения M выбирается случайное число k, которое является простым по отношению к p-1. После этого вычисляется a = gk mod p. Далее из уравнения M = (xa + kb) mod (p-1) находим b. Электронной подписью для сообщения M будет служить пара a и b. Случайное число kследует хранить в секрете. Для верификации подписи необходимо проверить равенство:

yaab mod p = gM mod p.

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

M = b/ax mod p