Ясно, що за аналогічною схемою можуть передавати повідомлення всі абоненти в мережі. Зауважимо, що будь-який абонент, що знає відкритий ключ абонента 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 вибрав для себе секретне число компакт-дисків=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.
Тепер E посилає до A зашифроване повідомлення у вигляді пари чисел. A обчислює по (3.4):
'= 3161-1-43 mod 61=3.
Ми бачимо, що A зміг розшифрувати передане повідомлення.
Висновок
У цій роботі розглядаються криптосистеми з відкритим ключем. У таких системах для шифрування даних використовується один ключ, який немає необхідності приховувати, а для дешифрування другий - закритий, математично пов'язаний з відкритим ключем, однак на його визначення і розшифровку шифру піде відносно великий період часу.
Метод RSA є дуже зручним, оскільки не вимагає для шифрування передачі ключа іншим користувачам, на відміну, скажімо, від симетричних алгоритмів. Висока крипостійкість, яка пояснюється складністю визначити секретний ключ з відкритого, а також досить проста програмна реалізація ставлять даний метод на досить високий рівень.
Використання системи Діффі-Хеллмана полегшує постачання великої кількості абонентів секретними ключами.
Шифр ??Шаміра дозволяє організувати обмін секретними ...