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

1610=0100002

б) образовываю инверсию  двоичного кода (N)2

инверсия = 101111

в) сравниваю двоичные коды как двоичные числа, по формуле

k1 (N) = max(,(n)2), k2 (n)= min(,(N)2

k1 (16) = max((101111)2, (010000)2)=(101111)2,

k2(16)= min ((101111)2, (010000)2) = (010000)2;

г) получаю индивидуальный ключ

k(N)= k1(N)k2 (N)k1(N)

приписыванием одного к другому двоичных кодов k1 (N), k2 (N), k1 (N)

k(16)=(101111010000101111)

4.1. Криптосистеме RSA.

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

k(16) = 1011110100001011112

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

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

p (47) = 74837292528621203084558307409307751680838237749

q (51) = 742483564935750544638850506712920307242110610356041

n = p*q

n = 555654597467902801151449140603130410543658970063086809412171162867

44157232849681211932743896391709

j(n)= (p-1)(q-1).

j(n) = 5556545974679028011514491406031304105436589700 556612253898883712

0902222167829351596938952447797920

Подобрать e такое, что НОД(e, j(n))=1.

е = 741473

d = e-1 mod j(n).

d = 3668465565509130052391161115155203415652149940948592347381295137

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

Возьмем сообщение m=k(n), зашифруем и расшифруем.

m = k(16) = 1011110100001011112 = 19358310

 

c = m e mod n

c = 335136998745032302412092136459613188153960746050239056103216

m’=c d mod n

m’= 193583

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

4.1.3. Поблочное шифрование и расшифрование большого текста m.