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.
Статья в тему
Измерительный преобразователь для медного термопреобразователя сопротивления
термопреобразователь температура сопротивление
Измерению температуры придается большое значение в различных
отраслях промышленного производства. Температура является наиболее массовым и,
зачастую, решающим параметром, характеризующим различные технологические
процессы металлургической ...