Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Лекция 3 - КС Рабина1.pptx
Скачиваний:
0
Добавлен:
04.06.2026
Размер:
1.24 Mб
Скачать
mod q
mod p

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

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

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

r C mod p s C mod q

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

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

p 1

-найти r C 4

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

p 1

-найти s C 4

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

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

r (b

b2 a)

 

2

mod p

 

 

p 1

 

 

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

 

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

ПРИМЕР r2 10 mod13

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

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

Шаг 2. вычисляем

(b b2 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 системы уравнений:

x1 r mod p

x2

r mod p

x

s mod q

x

s mod q

1

 

2

 

x3

r mod p

x4

r mod p

x

s mod q

 

 

x4 s mod q

3

 

 

 

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

Получаем 4 решения x1, x2 , x3 , x4

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

M xi

 

Второй метод решения квадратного

 

 

уравнения по составному модулю

1)

вычисляют

 

mod p , т. е. находят два корня r , r по mod p;

a

2)

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

3)

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

такие, что c p d q 1 ;

4)

рассчитывают x r d q s c p mod n , y r d q s c p mod n;

5)

в качестве решения a mod n выбирают числа x mod n , y mod n .

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

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

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

Ясно, что если злоумышленник сможет факторизовать n, то он становится «легальным» пользователем, однако задача факторизации является сложной и не имеет пока полиномиальных решений. Таким образом, выбором, скажем, l(n) 768 (или для большей стойкости

l(n) 1024) обеспечивается невозможность факторизации. Кроме того, для системы Рабина можно доказать и обратное утверждение.

Теорема [3]. Пусть n p q где p и q – простые числа, и пусть существует алгоритм R, который для каждого целого числа C, которое заведомо является квадратом некоторого числа x по

mod n (т.е. x2

C mod n ), находит решение этого уравнения x при

помощи F n

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

алгоритм, который факторизует n со средним числом битовых операций 2 F n O lg2 n .

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

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

Если решена задача факторизации числа n=pq за полиномиальное время, то есть найдены множители p и q, то уравнение x2 c mod n решается за полиномиальное время.

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

x1

,

 

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

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

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

Выберем случайное целое число x, 0<x<n и найдем С=x2modn. Решим уравнение y2=Cmodn, используя алгоритм R при помощи F(n) операций. Обозначим найденные решения : y mod n

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

x

2

y

2

 

и

 

 

 

или

 

 

 

(mod n)

 

 

 

 

 

 

 

x2 y2

(x y)(x y) 0(mod n)

(1)

То есть n делит произведение

n

 

(x

y)(x y)

 

 

 

Если n делит один из множителей, это означает, что

x y(mod n) или x y(mod n)

В этом случае мы ничего не узнаем. Но мы знаем, что существуют еще 2

корня из С, отличные от у и –у.

 

 

В этом случае следует предположить, что n (x

y)(x y) , то есть n

делит произведение, но не делит сомножители x y 0(mod n)

и

¿

p

tq

 

 

 

(x

y)(x y) tpq

 

 

Можно записать НОД (x y, n) собственный делитель n НОД (x y, n) НОД (x y,tpq) (либо p, либо q)

Следовательно еще два корня - множители p и q -найдены

Итак, при

каждом случайном выборе x

приходим к возможности

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

n с вероятностью 12.Так как известно, что

сложность

нахождения gcd требует O lg2 n операций,

то, учитывая

сложность

F n

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

2 O lg2 n F n операций,

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

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

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

Таким образом, стойкость КС Рабина строго эквивалентна задаче факторизации и поэтому ее можно назвать доказуемо секретной криптосистемой. Заметим, что КС Рабина, так же как и КС РША, имеет побочные атаки (при малом количестве сообщений, при использовании общих модулей и т. д.) [3].

Символ Якоби

 

x

 

 

 

x Z

 

 

 

и принимает значения

1, 1

 

 

 

 

 

 

N

 

 

 

 

Символ Якоби

N определен для любого

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

Если N- простое число, то

a QN

 

1 (символ Якоби совпадает с

 

 

 

символом Лежандра).

 

N

 

 

 

 

 

 

 

 

 

 

 

a

 

 

Если N- составное число, то a QN

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

 

 

 

 

 

 

 

?

 

 

 

a

 

 

 

 

a QN

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a QN

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

Таким образом, если N составное, то a может принадлежать Q

N

даже если

 

a

.

 

 

 

 

 

 

 

 

 

Пусть

 

 

 

1

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

 

a

 

 

 

 

 

 

 

 

 

 

1}

 

 

 

 

JN

{ a ( ZN ) :

 

 

 

 

 

 

 

 

 

 

Обозначим,

 

 

 

 

 

N

 

 

 

 

 

 

 

JN QN

множество чисел, для которых символ

 

QN

 

 

 

 

 

 

 

 

 

 

Якоби равен 1, но они не являются вычетами. Назовем это множество множеством всех псевдоквадратов по модулю N.

Пояснение к символу Якоби