Алгоритм шифрования Эль-Гамаля
Дешифруя сообщения получатель, используя свой Kсекретный, должен произвести следующие вычисления — формула (2.3): Для наглядного представления рассмотрим пример передачи сообщения между двумя абонентами — Аней и Борисом. Расшифрованный текст соответствует исходному, следовательно, алгоритм работает корректно. Теперь сообщение «ШИФР» представляет собой следующую последовательность: 176 69 52 107… Читать ещё >
Алгоритм шифрования Эль-Гамаля (реферат, курсовая, диплом, контрольная)
Рассмотрим способ шифрования Эль-Гамаля — рисунок 2.1, который использует вероятностный механизм преобразования исходного текста. Этот способ основан на процедурах возведения в дискретную степень и состоит в следующем. Аналогично методу открытого распределения ключей Диффи—Хеллмана, выбирается большое простое число P и любое число G, но меньше P, причем число P обязательно должно быть больше чем длина используемого алфавита. Далее выбирается секретный ключ — K (секретный), это число должно принадлежать множеству простых чисел и находиться в диапазоне от 1 до P-1. Затем по формуле (2.1) найдем открытый ключ — K (открытый):
(2.1).
После чего получатель посылает отправителю три числа (Коткрытый; G; P), а Ксекретный остается в секрете и хранится — его личный секретный ключ.
Рисунок 2.1 — Схема Эль-Гамаля.
Отправитель выбирает число K, которое меньше P-1 и взаимнопростое с P-1, то есть НОД (K, P-1) должен быть равен 1. Далее переходит к операции шифрования — формула (2.2):
(2.2).
где a и k — переменные, которые генерируются при каждой операции шифрования, b-зашифрованные данные, Tот — исходные данные. Любое сообщение можно разбить на фрагменты необходимого размера и каждый из них зашифровать отдельно, что повысит криптосктойкость.
Дешифруя сообщения получатель, используя свой Kсекретный, должен произвести следующие вычисления — формула (2.3):
(2.3).
Для наглядного представления рассмотрим пример передачи сообщения между двумя абонентами — Аней и Борисом.
Пример:
Допустим, что Аня хочет отправить Борису слово «ШИФР», каждому символу сообщения соответствует порядковый номер в алфавите (Ш-23, И-8, Ф-19, Р-15), эти числа и будут являться Tоткрытый. Для этого Борис делает следующие шаги:
- 1. выбирает P=179 — простое;
- 2. выбирает G=47, 1
- 3. выбирает Kсекретный=79 — простое Kсекретный
- 4. вычисляет по формуле (2.1)Kоткрытый=4779(Mod 179)=56;
- 5. отправляет (P; G; Kоткрытый)=(179; 47; 56) Ане.
Затем Аня делает следующие шаги:
- 1. выбирает число K=29, 1< K< P-1 и взаимнопростое с P-1;
- 2. вычисляет по формуле (2.2) a=4729(Mod 179)=110;
- 3. шифрует каждый символ по формуле (2.2):
- 1) Ш-23, b=5629*23(Mod 179)=176;
- 2) И-8= b=5629*8(Mod 179)=69;
- 3) Ф-19= b=5629*19(Mod 179)=52;
- 4) Р-15= b=5629*15(Mod 179)=107;
- 4. Отправляет (a, b) Борису.
Теперь сообщение «ШИФР» представляет собой следующую последовательность: 176 69 52 107.
Для расшифровки полученного сообщения Борису остается сделать обратные действия — формула (2.3), но с использованием своего секретного ключа:
- 1. получить порядковые номера зашифрованных символов:
- 1) 176*110179−79−1(Mod 179)=23;
- 2) 69*110179−79−1(Mod 179) =8;
- 3) 52*110179−79−1(Mod 179)=19;
- 4) 107*110179−79−1(Mod 179)=15;
- 2. выбрать из алфавита символы по соответствующим порядковым номерам:
- 1) 23-Ш;
- 2) 8-И;
- 3) 19-Ф;
- 4) 15-Р;
Расшифрованный текст соответствует исходному, следовательно, алгоритм работает корректно.