Функционирование криптографических систем при конкретных параметрах, страница 6

Абонент 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. Задание.

·  Спроектировать систему по следующим параметрам: