Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Лекция 4 - Анализ стойкости КС РША.ppt
Скачиваний:
0
Добавлен:
04.06.2026
Размер:
1.14 Mб
Скачать

Лекция 4

Криптосистема РША и анализ ее стойкости

1. Принцип построения КС РША 1978г.

Формирование пар открытых/закрытых ключей для КС РША

Каждый пользователь КС РША, допустим А, выполняет следующие операции для формирования пары ключей:

1)

генерирует пару простых чисел p и q;

n p 1 q 1 ;

2)

вычисляет n = p ∙ q и функцию Эйлера

3)

генерирует e, где 1 e , такое что

gcd e,; 1

4)находит число d e 1 mod , т. е. решение уравнения e d 1mod ;(n)

5)выбирает числа e, n как свой открытый ключ, а d – как свой секретный ключ.

Описанные выше операции могут быть выполнены достаточно быстро даже для чисел n, имеющих 100 и более десятичных разрядов.

Действительно, операции выполняются следующим образом:

1)случайным генерированием чисел и тестированием Миллера– Рабина;

2)обычным умножением, что требует O(log p2 ) битовых операций;

3)использованием алгоритма Евклида;

4)при помощи расширенного алгоритма Евклида для нахождения обратного элемента.

Вся процедура генерирования пар ключей выполняется один раз на длительное время действия этих ключей.

Шифрование в КС РША

Предположим, что пользователь В хочет передать пользователю А сообщение M в зашифрованном виде. Для этого он выполняет следующие шаги:

1) получает подлинный открытый ключ пользователя А (eA , nA );

2) преобразует сообщение M в последовательность целых чисел M1 , M2 , … , Mi , … , не превосходящих (nA – 1);

3) для каждого числа Mi , соответствующего части сообщения, формирует криптограмму сi по правилу ci M ieA mod nA и отправляет результат пользователю А.

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

Дешифрование в КС РША

Пользователь А для дешифрования предназначенной ему криптограммы ci выполняет следующие операции с использованием

своего секретного ключа dA:

  а) дешифрует M i ci d A mod nA , i = 1, 2, … ;

б) преобразует число Mi в содержательный вид (форму представления информации).

Видно, что операция дешифрования выполняется достаточно быстро.

Пример системы РША

p=3, q=11 N=33 ( N) 20

Генерирование ключей e=7, НОД(7,20)=1 d=7-1(mod20) = 3

Шифрование

m=6 E=(me)modN= 67mod33=(62 62 62 61)mod33= =3*3*3*3*2=30

Расшифрование EdmodN=(303)mod33=(900*30)mod33=(9*30)mod33=6

Докажем, что представленная выше процедура дешифрования действительно позволяет получить истинное сообщение M = Mi , которое и было ранее зашифровано. cd mod n (M e )d mod n M

Доказательство. Поскольку по условию e d 1mod , то

 

существует такое число «k», что e ∙ d = 1 + k ∙ φ. Предположим

 

сначала, что gcd(M, p) = 1, тогда по теореме Ферма имеем

 

M p-1 = 1 mod p .

(3.1)

Возведем обе части (3.1) в степень k(q – 1), а затем умножим обе части на M:

M1+k (p – 1)(q – 1) = M mod p .

(3.2)

Рассмотрим показатель степени в левой части равенства (3.2):

1 +k(p – 1)(q – 1) = 1 + k ∙ φ = e ∙ d

Подставляя это выражение в (3.2), получим M1+k (p – 1)(q – 1) = M e ∙ d . Из равенства (3.2) получаем, что M e ∙ d = M mod p , но, с другой стороны, M e = c, следовательно, cd = M mod p , что и требовалось доказать.

Если теперь отказаться от заданного ранее условия, что gcd M , p 1, то обязательно должно выполняться условие, что gcd M , p p , и

соотношение (3.2) будет тривиально выполняться, так как обе его части равны 0 по модулю р.

В итоге получаем, что во всех случаях . Следуя

аналогичной технике, можно доказать, что cd M modq , а поскольку p и q

различные простые числа, и, следовательно, они взаимно простые, то по китайской теореме об остатках получаем, что

.

Последнее равенство доказывает, что используемая в РША процедура дешифрования, действительно, восстанавливает исходное сообщение.

2. Анализ стойкости КС РША

Основные атаки на КС РША

1. Атака факторизации n

Для КС РША имеем следующие соотношения, связывающие ключи,

сообщение и криптограмму:

 

 

с = M e mod n ;

 

M = cd mod n ;

 

 

n = p ∙ q;

(3.3)

e ∙ d = 1 mod φ ;

φ = (p – 1) ∙ (q – 1).

Из уравнений (3.3) видно, что система РША может быть вскрыта, если удастся найти p и q, т. е. факторизовать n.

Исходя из этого факта p и q должны выбираться такой большой разрядности, чтобы факторизация числа n потребовала необозримо большого времени, даже с использованием всех доступных и современных средств вычислительной техники.