2_KS_Rabina
.pdf
Дешифрование криптограммы
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 )
, а в качестве
