Абонент A:
· Генерирует простое число p и образующий элемент α мультипликативной группы Zp* .
· Выбирает случайное a, 1<a£p-2 и вычисляет β = αa mod p.
· Открытым ключом объявляет тройку чисел (p, alpha, beta), в качестве секретного ключа сохраняет число a.
Шифрование:
Абонент B:
· Получает авторизированную копию открытого ключа (p, α, β) абонента А.
· Представляет сообщение, как число m из интервала [0, p-1] (в необходимых случаях разбивает его на блоки, являющиеся числами в этом интервале).
· Выбирает случайно число k, 0<k<p-1. k – рандомизатор. Рандомизатор должен меняться при каждом зашифровании, иначе можно вычислить открытый текст, если известен предыдущий. Шифртексты (C1,C2) и (C1’,C2’) связаны следующим образом: (C2) (C2’)-1 º m (m’)-1 (mod p).
· Вычисляет d = α k mod p и e =m β k mod p.
· Посылает шифртекст (d,e) абоненту А.
Расшифрование:
Абонент A:
· Используя секретный ключ a, вычисляет dp-1-a mod p (dp-1-a = d-a = α-ak).
· Вычисляет сообщение m=(d-a)e mod p.
Пример.
Генерация ключей:
Пусть p=127, тогда a =14, a=51, b = aa mod p = 1451 mod 127=5.
Открытый ключ: (p, a, b)=(127,14,65). Секретный ключ: (a) = (51).
Шифрование:
Пусть m= 100
E(100)=(C1,C2)=( ak mod p, mbk mod p )=( 1411 mod 127, 100 511 mod 127) =
= (78,100 54 mod 127) = (78,66), где k = 11 - рандомизатор.
Расшифрование:
D (78,66)= 66 (C1 a) -1 mod p = 66 (7851 ) -1 mod 127= 66 (54 ) -1 mod 127=66 40 mod 127=100.
3.3.2. Задание.
· Спроектировать систему по следующим параметрам:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.