- •Лекция Криптосистемы Рабина,Уильямса,
- •Принципы построения криптосистем с окрытым ключем
- •2. Общий принцип построения криптосиcтемы с открытым ключем
- •Система шифрования Эль-Гамаля 1985г.
- •Система шифрования Эль-Гамаля
- •Система РША (1978г.)
- •Криптосистема Рабина
- •Дешифрование криптограммы
- •Первый метод дешифрования
- •2. Составляем 4 системы уравнений:
- •Стойкость КС Рабина
- •Пояснение к теореме оценки стойкости схемы Рабина
- •Доказательство теоремы
- •Итак, при
- •Символ Якоби
- •Пояснение к символу Якоби
- •Криптосистема М2 Уильямса (Williams) 1980
- •Шифрование
- •Дешифрование
- •Дополнения
- •Криптосистема Голдвассера-Микали
- •Понятие о вероятностном шифровании
- ••2. Семантическая безопасность.
- •Криптосистема Голдвассера-Микали
- •Шифрование
- •Расшифрование
- •Криптостойкость КС Голдвассера-Микали
- •КС Эль-Гамаля и ее варианты
- •КС Эль-Гамаля с операцией обращения при дешифровании
- •4) вычисляет k mod p, Mi a k mod p ;
- •Варианты схем шифрования-дешифрования
- •КС Эль-Гамаля с операцией обращения при
- •Преимущество КС Эль-Гамаля состоит также и в том, что тогда все пользователи в
- •Важно отметить,
- •Распределение ключей с использованием однонаправленных функций. Способ Диффи-Хеллмана
- •Атака человек посредине
- •Стойкость КС Диффи–Хеллмана
- •Таким образом, для КС Диффи–Хеллмана, так же как и для всех КС ОК,
- •Распределение ключей с использованием способа Диффи-Хеллмана на ЭК
- •Криптосистема ЭГ на эллиптической кривой.
Лекция Криптосистемы Рабина,Уильямса,
Голдвассера-Микали, Эль-Гамаля и Диффи-Хеллмана
Принципы построения криптосистем с окрытым ключем
Все КС с открытым ключем основываются на использовании односторонних функций
Пусть X и Y дискретные множества. Функция y=f(x), где x X , y Y называется односторонней
(однонаправленной),
если y легко вычисляется по любому x, а обратная функция x=f-1(y) является трудно вычислимой.
Пример ОФ.
y=axmodp, где p- простое число, x - целое число,
a -примитивный элемент поля Галуа GF(p). То есть a такое число, что все его степени aimodp, i= 1,2…p-1, принимают все значения в множестве чисел от 1 до p-1.
Сложность нахождения функции возведения в степень Nв=O(2logp).
Обратная функция x=logay (функция дискретного
логарифмирования) трудно вычислима.
Если p - сильно простое число, то Nлог=O((p)1/2).
Пусть р 1000 разрядное двоичное число, тогда для решения задачи возведения в степень числа х по modp потребуется примерно 2000 = 2*103 операций , а для нахождения логарифма такого числа потребуется примерно
p1/2=2500~10170 операций, что вычислительно невозможно осуществить ни за какое реально обозримое время
2. Общий принцип построения криптосиcтемы с открытым ключем
А - генерирует пару
ключей:
SK(A) - секретный ключ, PK(A) - открытый ключ.
B - генерирует пару
ключей:
SK(B) - секретный ключ, PK(B) - открытый ключ.
PK(A) |
Открытые ключи помещаются |
PK(B) |
|
в общедоступную базу |
|
|
PK(A) , PK(B) |
|
PK(B) |
|
|
Шифрование. |
EA |
Расшифрование. |
А выбирает открытый ключ PK(B) |
MA=g(EA,SK(B)) |
|
Осуществляет шифрование |
|
|
EA=f(MA,PK(B)) |
|
|
|
|
Система шифрования Эль-Гамаля 1985г.
Пусть p -простое число; a - примитивный элемент.
Корреспондент А 
Создание пары: закрытый- открытый ключи
A - генерирует число xA,
вычисляет ОНФ yA=ax (modp).
(SK= xA , PK= yA).
yA передается корр. B.
Корреспондент В
Шифрование сообщения
Пусть корр. B хочет послать корр.А сообщение m<p.
Генерирует случайное число k<p. Формирует криптограмму E=(c1c2)
c1=akmodp, c2=m (yA-1)k modp. Отправляет E корр. А.
Система шифрования Эль-Гамаля
Расшифрование сообщения.
Корр.А вычисляет b=c1xmodp = akx modp , Затем находит
(c2 b)modp= (m (yA-1)k akx )modp= (m a-xk akx )modp=m
Замечание. Как найти yA-1 ?
yAp-2 modp= yAp-1 modp yA-1 modp= yA-1 modp
Система РША (1978г.)
Генерирование ключей.
Случайно выбираются два простых числа p и q. Находится модуль N=pq. Находится функция Эйлера (N)= (p-1)(q-1). Выбираем число e такое, что НОД(e, (N))=1.
Находим d, как обратный элемент к e, de=1(mod (N)).
Объявляем d=SK, (e,N)=PK. PK сообщается всем корреспондентам.
Шифрование.
Корр. А передает зашифрованное сообщение корр.В (использует открытый ключ корр. В)
E=me(modN)
Расшифрование.
Корр. В расшифровывает принятую криптограмму от корр.А,используя свой секретный ключ. m=Ed(modN)
Криптосистема Рабина
;
1979г.
Генерирование ключей
Эта процедура выполняется при помощи следующих шагов:
1) необходимо генерировать два простых числа р и q примерно одинаковой разрядности p q 3 (mod 4 );
2)вычислить n p q
3)выбрать в качестве открытого ключа - п, а в качестве закрытого – его множители р,q.
,
Шифрование
Если пользователь В хочет зашифровать сообщение М для пользователя А, то он выполняет следующие шаги:
1)получает открытый ключ n пользователя А;
2)представляет сообщение М в виде последовательности блоков
такой длины, что сообщение из каждого блока может быть задано
3) |
целым числом Mi 0,1, 2, ..., n 1 ; |
|
|
||
вычисляет криптограмму |
C M |
2 , |
i 1, 2, ... |
||
|
|
i |
mod n |
||
4) |
|
i |
|
, пользователю А. |
|
Отправляет rкриптограмму C=C1,C2…Ck |
|||||
Дешифрование криптограммы
1) Зная р и q, пользователь А реализует полиномиально сложный
алгоритм для нахождения |
2 С |
(подразд. 2.2.1), т. е. пользователь А |
|
i |
|
находит четыре корня: M1, M2 , M3, M4 ;
2) используя избыточность, содержащуюся в сообщении, пользователь А определяет какое из этих четырех сообщений является истинным. Если в сообщении отсутствует естественная избыточность, то ее необходимо ввести до шифрования (например, повторив несколько последних бит сообщения).
