Скачиваний:
29
Добавлен:
25.06.2024
Размер:
1.5 Mб
Скачать

Дешифрование криптограммы

1) Зная р и q, пользователь А реализует полиномиально сложный

алгоритм для нахождения

2Сi

(подразд. 2.2.1), т. е. пользователь А

находит четыре корня:

M

, M

2

1

 

, M

,

3

 

M 4

;

2) используя избыточность, содержащуюся в сообщении, пользователь А определяет какое из этих четырех сообщений является истинным. Если в сообщении отсутствует естественная избыточность, то ее необходимо ввести до шифрования (например, повторив несколько последних бит сообщения).

Первый метод дешифрования

Известна криптограмма С и закрытый ключ – числа p и q

1. Находим корни уравнений

r

C mod p

s

C mod q

Если p=4k+3, где k положительное целое число.

То числа r,s находятся просто:

p 1

-найти r C 4 mod p

-выдать в качестве ответа (r,-r). p 1

-найти

s C

4

mod q

 

 

-выдать в качестве ответа (s,-s).

Если p=4k+1, то используем более сложный метод – алгоритм Чипполы

 

 

 

p1

r (b

b2 a )

2 mod p

b подбираем так, чтобы

 

 

было невычетом

ПРИМЕР

r

2

10 mod13

 

Можно проверить, что значение символа Лежандра для 10 равно 1,т.е. в поле GF(13) корень из 10 существует.

Шаг 1. подбором находим число b такое, что b^2-10 оказывается невычетом.

Например, b=2. Шаг 2. вычисляем Далее находим

(b

b

2

a ) 2

4 10 2

6.

 

 

 

 

 

(2 6)7 mod13 (2 6)2 (2 6)2 (2 6)2 (2 6) mod13

( 2 4 6)( 2 4 6)( 2 4 6)(2 6) mod13

(9 2 6)(2 6) mod13 6

2. Составляем 4 системы уравнений:

x

r mod p

 

1

 

x

s mod q

 

1

 

x

r mod p

 

3

 

x

s mod q

 

3

 

x

r mod p

 

 

2

 

 

x

s mod q

 

 

2

 

 

x

 

r mod p

 

4

 

 

x

 

s mod q

 

 

4

 

Каждую систему решаем, используя китайскую

теорему об остатках.

 

 

 

 

Получаем 4 решения

1

2

3

4

 

x

, x

, x

, x

3. Одно из этих решений и есть открытое сообщение

M xi

Второй метод решения квадратного уравнения по составному модулю

1)вычисляют a mod p , т. е. находят два корня r , r по mod p;

2)аналогично вычисляют корни s , s по mod q;

3)используя рассмотренный в разд. 2 алгоритм, находят числа c и d,

такие, что

c p d q 1

;

 

4)

рассчитывают

x

 

5)

в качестве решения

r d q a mod

s n

c p mod n

,

y r

 

выбирают числа

d

q s c x mod

n

p,

mod n

;

 

y mod n .

Видно, что схема Рабина обеспечивает простое генерирование ключей, а также весьма простой алгоритм шифрования, но имеет сложный алгоритм дешифрования. Данный метод можно рекомендовать в тех случаях, где шифрование должно быть простым, а при дешифровании этого не требуется.

Истинное сообщение из 4-х возможных находится на основе анализа избыточности сообщения. При отсутствии избыточности она должна быть внесена в сообщение до его шифрования, например, путем повторения некоторых символов.

 

 

 

 

 

 

Стойкость КС Рабина

Ясно,

что если злоумышленник сможет факторизовать n, то он

становится «легальным» пользователем, однако задача факторизации

является сложной и не имеет пока полиномиальных решений. Таким

образом, выбором, скажем,

l(n) 768 (или для большей стойкости

l(n) 1024)

обеспечивается невозможность факторизации. Кроме того,

для системы Рабина можно доказать и обратное утверждение.

Теорема [3]. Пусть

n p q где p и q – простые числа, и пусть

существует алгоритм

R,

который для каждого целого числа C,

которое заведомо является квадратом некоторого числа x по

mod n (т.е. x

2

C mod n ),

находит решение этого уравнения x при

 

помощи F n

битовых операций. Тогда существует вероятностный

алгоритм,

который

факторизует n со средним числом битовых

операций

2 F n O lg

2

n .

 

 

 

Пояснение к теореме оценки стойкости схемы Рабина

Прямая теорема

Если решена задача факторизации числа n=pq за полиномиальное

время, то есть известны множители p и q, то уравнение решается за полиномиальное время.

x

2

c mod n

 

Обратная теорема

Если уравнение

x

2

c mod n

 

x

,

1

 

решается за полиномиальное

время каким-то алгоритмом, то за полиномиальное время может быть решена задача факторизации n=pq.

Система называется доказуемо стойкой, если ее вскрытие невозможно без решения вычислительно трудной задачи

Доказательство теоремы

Выберем случайное целое число m, 0<m<n и найдем С=m2modn. Решим уравнение x2=Cmodn, используя алгоритм R при помощи F(n)

операций.

Обозначим найденные решения :

х mod n,

y mod n

Заметим, что для составного n=pq и целых x и y,

x

2

y

2

(x y)(x y) 0(mod pq)

 

 

x

2

y

2

(mod pq)

 

 

и

причем

x y 0(mod pq)

и x y 0(mod pq)

то есть pq (x y)(x y)

но pq не делит (x y)

и pq не делит (x y)

Тогда (1) запишем как

p

tq

 

 

 

 

(x y)(x y) tpq

Откуда следует, что НОД НОД (x y, n) НОД (x

(x y, y, tpq)

n)(

собственный делитель n либо p, либо q)

Множители p и q -найдены

Заметим. Что из 4 решений подходят только 2, не подходят случаи x=m, y=m

и x=-m, y=-m.

Итак, при каждом случайном

факторизации n с вероятностью

нахождения gcd требует O lg

2

n

 

F n

выполнения алгоритма R,

необходимых для факторизации.

выборе m приходим к возможности

1

 

 

 

сложность

2.Так как известно, что

операций,

то, учитывая

сложность

получаем

2 O lg

2

n F n операций,

 

Если алгоритм R запускается t раз, причем каждый раз выбирается

новое значение С, то вероятность не нахождения решения на превышает

1 / 2

t

 

Таким образом, стойкость КС Рабина строго эквивалентна задаче

факторизации

и

поэтому ее можно назвать доказуемо секретной

криптосистемой. Заметим, что КС Рабина, так же как и КС РША, имеет

побочные атаки

(при малом количестве сообщений, при использовании

общих модулей и т. д.) [3].

Криптосистема М2 Уильямса (Williams) 1980

Криптосистема Рабина имеет недостаток, заключающийся в неоднозначности дешифрования криптограммы. Этот недостаток преодолевается в М2 Уильямса.

Генерирование ключей:

• 1) необходимо генерировать два простых числа р и q примерно

одинаковой разрядности

• 2) вычислить N pq

p 3(mod 8 ), q

7(mod

8

)

;

• 3) выбрать в качестве

закрытого d. d

открытого ключа

( p 1)( q 1)

1

4

 

( N ,2 )

, а в качестве

Соседние файлы в предмете Криптографические протоколы