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

Сгенерировать и сохранить p=p(p((1[k(n)]3)10)),

Найти α (для этого использовать факторизацию порядка p-1 группы).

Выбрать  и сохранить a , 1 < a < p-2.

Вычислить и сохранить β.

·  Взять сообщение m = 1 [k(n)]4 .

Выбрать случайно число k, 0<k<p-1.

Вычислить шифробозначение (криптограмму) (d,e).

Вычислить m’ m = (d-a)e mod p.

Убедиться, что m’=m.

·  Взять открытый текст, например, как в предыдущем случае.

Разбить текст m  на блоки длины, допускающей зашифрование полученной криптосистемой и произвести поблочное зашифрование. Затем произвести поблочное расшифрование и убедиться в правильности расшифрования.

3.4. Криптосистема Голдвассер - Микали.

3.4.1. Описание системы.

Генерация ключей:

Абонент A:

·  Генерирует два простых числа p и q примерно одинакового размера.

·  Вычисляет n = p*q.

·  Выбирает число yÎZn, такое, что y является квадратичным невычетом по модулю числа p и по модулю числа q, т.е. leg (y,p) = leg (y,q) =  -1.

·  Открытым ключом объявляет пару чисел (n,y), в качестве секретного ключа сохраняет пару (p,q).

Шифрование:

Абонент B:

·  Получает авторизированную копию открытого ключа (n,y) абонента А.

·  Представляет сообщение m, как бинарную строку m=m1 m2 …mt длины t.

·  Для i=1…t

Выбирает случайно xÎZ*n.

Если mi=1, то сi = yx2 mod n, иначе сi=x2 mod n.

·  Посылает шифртекст c=(c1, c2… ct) абоненту А.

Расшифрование.

Абонент A:

·  Для i = 1…t

Используя секретный ключ (p,q) вычисляет символ Лежандра ei=Leg(ci, p).

Если ei=1, то mi=0, иначе mi=1.

·  Образует расшифрованное сообщение m=m1 m2 …mt.

3.4.2. Пример. 

Абонент А.

·  Получает два простых числа p=61, q=71.