Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Криптоалгоритмы / Алгоритм RSA

.htm
Скачиваний:
44
Добавлен:
28.06.2014
Размер:
13.48 Кб
Скачать

Алгоритм RSA Главная О фирме Теория Продукты Цены Архив Сервис Тесты Ссылки Шифрование Хеширование ЭЦП Управление ключами RSA ГОСТ Р.34.10-94 СТБ РБ 1176.2-99 Алгоритм RSA Общее описание Первым конкретным примером системы ОШ была предложенная в 1978 году так называемая "система RSA". Ее название происходит от первых букв фамилий авторов R.Rivest, A.Shamir, L.Adleman, которые придумали ее во время совместной работы в Массачусетском технологическом институте, в 1977 году.

Зашифрование и расшифрование сообщений Система открытого шифрования RSA устроена таким образом. Открытые сообщения M представляются целыми числами, 1<M<N, где N - большое целое число, равное произведению двух различных больших простых чисел:

N = P * Q

Алгоритмы шифрования и расшифрования определяются числом N и показателями степени E и D которые связаны соотношением:

( E * D ) mоd F(N) = 1

где:

F(N) = (p - 1) * (q - 1) (B-12)

Шифрование информации можно определить следующим образом:

M ---> M E mоd(N) = C

Расшифрование:

C --> CDmоd(N)=(ME)Dmоd(N)=Mmоd(N)=M

В качестве открытого ключа выступает пара чисел (N, E), а в качестве секретного ключа - число D.

Электронная подпись Система электронной подписи RSA получается при "смене мест" ключей E и D.

Подпись сообщения:

M ---> M D mоd (N) = S

Проверка подлинности подписанного сообщения [M,S]:

M = S E mоd(N)

Совпадение чисел в левой и правой частях последнего равенства "доказывает", что сообщение M было подписано обладателем секретного ключа D, соответствующего ключу проверки подписи (N, E), т.е. авторизует сообщение.

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

Протокол работы пары абонентов сети общей связи с алгоритмом RSA выглядит так.

абоненты A и B генерируют независимо друг от друга пары простых чисел:

Pa,Qa и Pb,Qb

вычисляют произведение больших простых чисел:

Na,b = Pa,b * Qa,b

вычисляют ключи:

Ea,b и Da,b

числа Na,b и Ea,b помещаются в общедоступный справочник и получают статус открытых ключей; числа Da,b сохраняются в качестве секретных ключей; обмен сообщениями

Ca,b = M Ea,b mоd(Na,b)

расшифрование

M = Ca,b Da,b mоd(Na,b)

Формирование цифровой подписи:

подписывают и шифруют

Sa,b = M Da,b mоd(Na,b)

передают

Ca,b = M Ea,b mоd(Na,b)

расшифровывают

M = Сa,b Da,b mоd(Na,b)

проверяют подлинность подписи

M = Sa,b Ea,b mоd(Na,b)

Устойчивость метода Предполагая, что известны все параметры этого протокола кроме сохраняемых в секрете чисел D, мы должны оценить сложность их восстановления. Если известно разложение на множители числа N = P * Q, то по открытому ключу (N, E), секретный ключ E вычисляется легко.

Поэтому разложение N = P * Q должно также быть недоступным для потенциального злоумышленника. Нетрудно видеть, что после вычисления пары E, D знание множителей P, Q не нужно даже законным пользователям системы, т.е. они могут быть "забыты". Сложность их определения по числам N, E и является гарантией стойкости системы RSA.

    Copyright © 2001 ArgoSoft JSC Авторское право © 2001 ЗАО "АргоСофт"