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

Вычислить m’=c d mod n.

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

·  Тестирование реального примера

Взять открытый текст, например,

m=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.

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

Затем произвести поблочное расшифрование.

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

·  Описать, как вычислить разложение n=pq и секретный ключ d, при известном j(n).

Допустим, что криптоаналитик завладел значением phi функции Эйлера от n. Описать, как вычислить разложение n=pq и секретный ключ d.

·  Указания.

Из системы уравнений

n=p*q.

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

можно получить квадратное уравнение для p:

p2 + (j(n)  - n - 1)*p +n =0, или p2 + t*p + n = 0, где t = j(n)  - n - 1.

Откуда находим p и q как квадратные корни p,q = .

Секретный ключ d вычисляется как d = e-1 mod j(n).

3.2. Криптосистема Рабина.

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

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

Абонент A:

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

·  Вычисляет n=pq.

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

Шифрование:

Абонент B:

·  Получает  копию открытого ключа n абонента А.

·  Представляет сообщение как число m из интервала [0, n-1] (в необходимых случаях разбивает его на блоки, являющиеся числами в этом интервале).

·  Вычисляет c=m2 mod n.

·  Посылает шифртекст c абоненту А.

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

Абонент A:

·  Используя секретный ключ (p,q) вычисляет четыре квадратных корня m1, m2, m3, m4  из числа c по модулю n.

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