ПЗ – 2. Двухключевые системы защиты информации. Математическая модель и особенности построения НКГС, страница 2

Подчеркнем, что КС и N должны быть взаимно простыми числами, т.е.

НОД (КС, N) = 1.

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

Процедура шифрования использует открытый ключ КО и открытое сообщение М и имеет вид

.

Для вычисления Е используется алгоритм возведения в степень по модулю N.

Обращение функции  , т.е. определение М при известных Е, КО и N практически неосуществимо при .

Процедура расшифрования криптограммы Е осуществляется на основе секретного ключа КС получателя и принятой им криптограммы Е на основе следующего выражения

или, что эквивалентно

,

.

Тогда

или  .

В соответствии с теоремой Эйлера

или в общей форме

.

Тогда, заменив х на М запишем

или  .

Именно вследствие указанного вычисление секретного ключа осуществляется  на основе данного выражения.

Таким образом, если криптограмму

возвести в степень КС, то как результат будет восстановлено исходное сообщение М, так как

.

Поэтому в такой криптосистеме получатель защищает два параметра:

-  секретный ключ КС;

-  пару чисел P, Q, таких что ;

в тоже время открытыми остаются (помещаются в открытый справочник):

-  значение модуля N;

-  открытый ключ КО.

Противнику известны N и КО. Вследствие большой величины N, противник не может за приемлемое время решить задачу факторизации, т.е. разложить N на простые множители, которые выполняют роль «потайного хода» при взятии дискретного логарифма. Если же указанную задачу удалось решить, то в этом случае на основе тройки чисел {P, Q, КО}, характеризующей «потайной ход» просто осуществляется вычисление функции Эйлера

и противник определяет значение секретного ключа КС

В связи с этим значение чисел P и Q должны быть очень большими (не менее 100 десятичных знаков).

3.  Процедура шифрования и расшифрования по алгоритму RSA

Абонент А – отправитель сообщения, а абонент Б его получатель.

Криптограмма RSA формируется получателем сообщения, в первую очередь для сохранения в тайне значений чисел P и Q.

Последовательность действий пользователей А и Б.

1. Пользователь Б осуществляет выбор двух произвольных больших чисел P и Q.

2. Пользователь Б вычисляет значение

3. Пользователь Б вычисляет функцию Эйлера

и выбирает значение открытого ключа КО с учетом выполнения условий

,

4. Пользователь Б вычисляет значение секретного ключа КС, используя расширенный алгоритм Евклида при решении сравнения

5. Пользователь Б пересылает пользователю А пару чисел (N и КО) по незащищенному каналу

При передачи информации пользователем А пользователю Б, отправитель осуществляет следующие действия:

6. Пользователь А разбивает исходный открытый текст М на блоки, каждый из которых может быть представлен в виде числа Мi

Мi = 0, 1, 2, …, N-1.

7. Пользователь А шифрует текст, представленный в виде последовательности чисел Мi по формуле

и отправляет криптограмму

пользователю Б.

8. Пользователь Б расшифровывает принятую криптограмму

используя секретный ключ КС

Пример

Занумеруем алфавит

А  Б  В …

1   2  3

Необходимо передать сообщение «ВАБ» ® (3, 1, 2)

1. Действия пользователя Б

1. Выбираем Р = 3, Q = 11

2. Вычисляем модуль N = Р×Q = 3×11 = 33

3. Вычисляет значение функции Эйлера

j(N) = j(33) = (Р-1)(Q-1) = (3-1)(11-1) = 20

и выбирает в качестве открытого ключа КО число удовлетворяющее условиям

,   НОД (КО, 20) = 1.

Пусть КО =7.

4. Вычисляет значение секретного ключа КС решая сравнение

с применением расширенного алгоритма Евклида.

Перейдем к обозначениям расширенного алгоритма Евклида

Данное уравнение эквивалентно уравнению

Так как , то

или

или

.

Начальный цикл:

1 цикл   

 следующий цикл

2 цикл  

 следующий цикл

3 цикл  

 

Значит ,

Отсюда  

КС=3

5. Пользователь Б пересылает пользователю А пару чисел (N=33, КО=7)

Действия пользователя А

6. Шифрует текст, представленный в виде последовательности чисел М1, М2, М3, используя ключ  КО=7 и N=33 по формуле

 

Указанное получено с учетом того, что

31 º 3 mod 33

32 º 9 mod 33

34 º 81 mod 33

31×32 ×34 º 37 = 3×9×15 mod 33= 405 mod 33 = 9 mod 33

21 º 2 mod 33

22 º 4 mod 33

24 º 16 mod 33

21×22 ×24 º 27 = 2×4×16 mod 33= 128 mod 33 = 29 mod 33

7. Передается криптограмма

Е123 = 9,1,29

Действия пользователя Б по расшифровке

8. Осуществляет расшифровку с помощью секретного ключа КС по формуле

М123 = 3,1,2 ® ВАБ.

Указанное получено с учетом того, что

291 º 29 mod 33

292 º 16 mod 33

291 ×292 = 29×16 = 464 mod 33 = 2

Рис. 1. Обобщенная схема НКГС


Рис. 2. Криптографический алгоритм RSA