- •Лекция Криптосистемы Рабина,Уильямса,
- •Принципы построения криптосистем с окрытым ключем
- •2. Общий принцип построения криптосиcтемы с открытым ключем
- •Система шифрования Эль-Гамаля 1985г.
- •Система шифрования Эль-Гамаля
- •Система РША (1978г.)
- •Криптосистема Рабина
- •Дешифрование криптограммы
- •Первый метод дешифрования
- •2. Составляем 4 системы уравнений:
- •Стойкость КС Рабина
- •Пояснение к теореме оценки стойкости схемы Рабина
- •Доказательство теоремы
- •Итак, при
- •Символ Якоби
- •Пояснение к символу Якоби
- •Криптосистема М2 Уильямса (Williams) 1980
- •Шифрование
- •Дешифрование
- •Дополнения
- •Криптосистема Голдвассера-Микали
- •Понятие о вероятностном шифровании
- ••2. Семантическая безопасность.
- •Криптосистема Голдвассера-Микали
- •Шифрование
- •Расшифрование
- •Криптостойкость КС Голдвассера-Микали
- •КС Эль-Гамаля и ее варианты
- •КС Эль-Гамаля с операцией обращения при дешифровании
- •4) вычисляет k mod p, Mi a k 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.
