Global Informatics

- Информатика и вычислительная техника

Шифрование по алгоритму Эль-Гамаля

Покажем теперь, как A передает сообщение m абоненту В. Будем предполагать, как и при описании шифра Шамира, что сообщение представлено в виде числа m < р.

Шаг 1. A формирует случайное число к, 1 к р-2, вычисляет числа

r=gk mod p, (3.2)=mdBk mod p, (3.3)

и передает пару чисел (r, е) абоненту В.

Шаг 2. В, получив (r,е), вычисляет

m'=еrp-1-cb mod р (3.4)

Утверждение (свойства шифра Эль-Гамаля):

) Абонент B получил сообщение, т.е. m'=m;

) противник, зная р, g, dB, r и е, не может вычислить m.

Передадим сообщение m = 7 от A к B. Возьмем р = 61, g = 11. Пусть абонент B выбрал для себя секретное число сB = 47 и вычислил по (3.1) dB= 50.

Абонент A выбирает случайно число k, например k = 23, и вычисляет по (3.2), (3.3):

r = 1123 mod 61 = 50,

е = 75023 mod 61 = 16.

Теперь A посылает к B зашифрованное сообщение в виде пары чисел. B вычисляет по (3.4):

' = 165061-1-47 mod 61 = 7.

Мы видим, что B смог расшифровать переданное сообщение.

Ясно, что по аналогичной схеме могут передавать сообщения все абоненты в сети. Заметим, что любой абонент, знающий открытый ключ абонента B, может посылать ему сообщения, зашифрованные с помощью открытого ключа dB. Но только абонент B, и никто другой, может расшифровать эти сообщения, используя известный только ему секретный ключ сB. Отметим также, что объем шифра в два раза превышает объем сообщения, но требуется только одна передача данных (при условии, что таблица с открытыми ключами заранее известна всем абонентам).

Передадим сообщение m=9 от B к C. (р = 61, g = 11. Пусть абонент C выбрал для себя секретное число СC = 51 и вычислил по (3.1) dC = 50.

Абонент B выбирает случайно число k, например k = 6, и вычисляет по (3.2), (3.3):

r = 116 mod 61 = 60

е = 9506 mod 61 = 52.

Теперь B посылает к C зашифрованное сообщение в виде пары чисел. C вычисляет по (3.4):

' = 526061-1-51 mod 61 = 9

Мы видим, что C смог расшифровать переданное сообщение.

Передадим сообщение = 11 от C к D. (р = 61, g = 11).

Пусть абонент D выбрал для себя секретное число сD = 29 и вычислил по (3.1) dD=11.

Абонент D выбирает случайно число k, например k = 5, и вычисляет по (3.2), (3.3):

r = 115 mod 61=11,

е = 11115 mod 61 = 60.

Теперь C посылает к D зашифрованное сообщение в виде пары чисел. D вычисляет по (3.4):

' = 601161-1-29 mod 61 = 11.

Мы видим, что D смог расшифровать переданное сообщение.

Передадим сообщение m= 13 от D к E. (р = 61, g = 11). Пусть абонент E выбрал для себя секретное число сE = 11 и вычислил по (3.1) dE=50.

Абонент D выбирает случайно число k, например k = 3, и вычисляет по (3.2), (3.3):

r = 113 mod 61=50,

е = 13503 mod 61 = 21.

Теперь D посылает к E зашифрованное сообщение в виде пары чисел. E вычисляет по (3.4):

' = 215061-1-11 mod 61 = 13.

Мы видим, что E смог расшифровать переданное сообщение. Передадим сообщение m= 3 от E к A. (р = 61, g = 11). Пусть абонент A выбрал для себя секретное число сA = 43 и вычислил по (3.1) dA=50.

Абонент L выбирает случайно число k, например k = 4, и вычисляет по (3.2), (3.3):

r = 114 mod 61=1,

е = 3504 mod 61 = 3.

Перейти на страницу: 1 2 3

Статья в тему

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

Главные разделы


www.globalinformatics.ru © 2024 - Все права защищены!