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

m’ = 9100 9200 9300 9400 9500

Убеждаемся, что m’ = m.

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

4.4.1. Проектирование системы.

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

k(n) = 101111010000101111

p= p((1[k(n)]6)10) = p (47)

q= p((1[k(n)]6)10+4) = q (51)

p (47) = 74837292528621203084558307409307751680838237749

q (51) = 742483564935750544638850506712920307242110610356041

n = p*q.

n = 555654597467902801151449140603130410543658970063086809412171162867

44157232849681211932743896391709

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

y = 61111

Leg (987091713593744321148004726848586050456199337, 61111) = -1

Leg(6028823044665033947478113544111694127724324370421,61111)= -1.

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

4.4.2. Тестирование.

 Зашифровать сообщение m = k(n) = 1011110100001011112

Шифрование:

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

k(n) = 100011110000102


m1 = 1

m2 = 0

m3 = 1

m4 = 1 

m5 = 1

m6 = 1

m7 = 0

m8 = 1                                     m15 = 1

m9 = 0                                                 m16 = 1

m10 = 0                                    m17 = 1

m11 = 0                                    m18 = 1

m12 = 0

m13 = 1

m14 = 0


Для каждого mi, выбираем случайно xÎZ*n.

x1 = 1913687673137354004451820471451

x2 = 276693540989629747359934548619341

x3 = 329755817967324448089642206873123