- •Лекция Криптосистемы Рабина,Уильямса,
- •Принципы построения криптосистем с окрытым ключем
- •2. Общий принцип построения криптосиcтемы с открытым ключем
- •Система шифрования Эль-Гамаля 1985г.
- •Система шифрования Эль-Гамаля
- •Система РША (1978г.)
- •Криптосистема Рабина
- •Дешифрование криптограммы
- •Первый метод дешифрования
- •2. Составляем 4 системы уравнений:
- •Стойкость КС Рабина
- •Пояснение к теореме оценки стойкости схемы Рабина
- •Доказательство теоремы
- •Итак, при
- •Символ Якоби
- •Пояснение к символу Якоби
- •Криптосистема М2 Уильямса (Williams) 1980
- •Шифрование
- •Дешифрование
- •Дополнения
- •Криптосистема Голдвассера-Микали
- •Понятие о вероятностном шифровании
- ••2. Семантическая безопасность.
- •Криптосистема Голдвассера-Микали
- •Шифрование
- •Расшифрование
- •Криптостойкость КС Голдвассера-Микали
- •КС Эль-Гамаля и ее варианты
- •КС Эль-Гамаля с операцией обращения при дешифровании
- •4) вычисляет k mod p, Mi a k mod p ;
- •Варианты схем шифрования-дешифрования
- •КС Эль-Гамаля с операцией обращения при
- •Преимущество КС Эль-Гамаля состоит также и в том, что тогда все пользователи в
- •Важно отметить,
- •Распределение ключей с использованием однонаправленных функций. Способ Диффи-Хеллмана
- •Атака человек посредине
- •Стойкость КС Диффи–Хеллмана
- •Таким образом, для КС Диффи–Хеллмана, так же как и для всех КС ОК,
- •Распределение ключей с использованием способа Диффи-Хеллмана на ЭК
- •Криптосистема ЭГ на эллиптической кривой.
Криптостойкость КС Голдвассера-Микали
•Данный алгоритм использует при шифровании псевдослучайные числа и основывается на вычислительной неразрешимости задачи о квадратичном вычете.
•Данный алгоритм вероятностного шифрования обеспечивает семантическую безопасность.
•Недостаток – существенное увеличение длины криптограммы
• ( в 2 раз, где |
- количество разрядов в числах p и q). |
КС Эль-Гамаля и ее варианты
КС Эль-Гамаля с операцией обращения при дешифровании
Генерирование ключей
Пользователь А проделывает следующие операции для генерирования ключей:
1) генерирует простое число p и примитивный элемент GF p ;
2)выбирает случайное число a такое, что 1 a p 2 , и вычисляет число
αa;
3)в качестве открытого ключа выбирает набор: p, , a mod p , а в качестве закрытого ключа – число a.
Шифрование
Пользователь В выполняет следующие шаги для шифрования сообщения M, предназначенного пользователю А:
1)получает открытый ключ A;
2)представляет сообщение M в виде цепочки чисел M i , каждое из
которых не превосходит p 1 ;
3) выбирает случайное число k такое, что 1 k p 2 ;
4) вычисляет k mod p, Mi a k mod p ;
5) посылает криптограмму C , пользователю А.
Дешифрование
Пользователь A выполняет следующие шаги для дешифрования сообщения, полученного от пользователя B:
1)используя свой закрытый ключ, вычисляет a mod p ;
2)восстанавливает сообщение Mi a mod p .
Действительно a akMi ak Mi mod p .
Особенностью схемы Эль-Гамаля является то, что она относится к так называемым схемам рандомизационного шифрования, поскольку при шифровании в ней используется дополнительная случайность в виде числа k.
(Считается, что рандомизационное шифрование более стойко по отношению к некоторым методам криптоанализа, например к таким как статистические атаки [3].)
Варианты схем шифрования-дешифрования
Шифрование
X – закрытый ключ
1.E (A, B) ( k , M ( x )k )
2.E (A, B) ( k , M ( x )k )
примитивный элемент поля GF ( p)
Дешифрование
1.M B A x M ( xk ) kx
2.C B A x M ( xk ) kx
M log C log M
ЕслиM небольшое, то логарифм находится переборным путем
КС Эль-Гамаля с операцией обращения при
шифровании
Шифрование
•Пользователь В выполняет следующие шаги для шифрования сообщения М, предназначенного пользователю А:
•получает открытый ключ A;
•представляет сообщение М в виде цепочки чисел , каждое из
|
которых не превосходит p 1 ; |
|
|
|
|
|
|
|||||
• |
выбирает случайное число k такое, что |
1 k p 2 |
; |
|||||||||
• |
вычисляет k mod p |
, |
Mi ( a ) k mod p |
; |
||||||||
• |
посылает криптограмму |
|
|
|
пользователю А. |
|||||||
|
C , |
|
||||||||||
Дешифрование |
|
|
|
|
|
|
|
|
|
|
|
|
• |
используя свой закрытый ключ, вычисляет a modp |
; |
||||||||||
• |
восстанавливает сообщение Mi |
a modp . |
|
|||||||||
• |
Действительно, |
|
a |
|
ak |
Mi ( |
a |
k |
|
. |
|
|
|
|
|
|
|
) |
|
mod p Mi |
|
||||
Первый вариант имеет меньшую сложность шифрования, второй – меньшую сложность дешифрования, из-за отсутствия операции обращения элемента по модулю
Преимущество КС Эль-Гамаля состоит также и в том, что тогда все пользователи в сети могут выбирать одинаковые и p, что невозможно для КС РША. Кроме того, как будет показано далее, эта схема может быть естественным образом распространена на случай эллиптических кривых.
Существенным недостатком схемы является то, что длина криптограммы в ней в 2 раза больше длины сообщения.
Стойкость КС Эль-Гамаля
Проблема восстановления сообщения M по заданным p , a, ипри неизвестном a эквивалентна решению задачи Диффи–Хеллмана.
Ясно также, что если будет решена проблема нахождения дискретного логарифма, то криптосистема Эль-Гамаля будет вскрыта. При выборе p с разрядностью 768 бит (для повышенной стойкости – до 1024 бит), стойкость КС Эль-Гамаля будет такой же, как и у КС РША при выборе в последней тех же параметров для модуля.
Важно отметить, |
что для |
шифрования различных |
|||
Mi , M j необходимо |
использовать |
различные значения |
|||
поскольку в противном случае |
1 |
|
Mi, |
и тогда сообщение |
|
|
|||||
|
|
2 |
M j |
||
быть легко найдено, если известно сообщение Mi .
R(логарифмирования) exp(1.923 O(1)(log p)1/3 (log log
сообщений чисел k, M j может
p)2/3 )
Перешифрование (маскирование) информации в КС Эль=Гамаля
Ei (Ai , Bi ) ( ki , Mi ( x )ki )
ERi (ARi , BRi ) ( kRi ,1( x )kRi )
Ei (Ai , Bi ) Ei ERi
( ki , Mi ( x )ki )( kRi ,1( x )kri ) ( ki kRi , Mi ( x )ki kRi )
Распределение ключей с использованием однонаправленных функций. Способ Диффи-Хеллмана
|
|
|
yA |
|
В |
|
|
А |
|
|
|
||
|
|
|
yB |
|
|
|
|
|
|
xA , 1 xA p 1, p - |
|||
|
|
|
||||
А генерирует большое случайное число |
||||||
простое число. |
вычисляет уА x A (mod p) . |
|||||
xA сохраняется в секрете. |
||||||
В: генерирует хB , вычисляет число yB .
А, приняв от В yB , вычисляет
KA ( yB )x A mod p = ( xB )x A mod p = xB x A mod p .
В, приняв от А yA , вычисляет
KB ( yA )xB mod p = ( x A )x B mod p = x A xB mod p .
Видим, что KA KB K .
Далее ключ K может быть использован в симметричной системе
шифрования.
