Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шемякин лекции 2023 / Л11. Криптосистемы с открытым ключом.ppt
Скачиваний:
17
Добавлен:
30.05.2023
Размер:
375.81 Кб
Скачать

Стойкость системы Эль-Гамаля

1.Раскрытие секретного ключа эквивалентно решению задачи дискретного логарифмирования.

2.Нахождение m без знания ключа возможно, если случайное число k используется дважды и в одном случае нарушитель знает открытый текст

C

2

= m (y -1)k (mod p),

c’ = m’ (y -1)k (mod p)

 

 

 

 

 

A

2

A

 

 

Зная c

2,

c’ и m несложно найти m’

m’= c’ m c-1

2

(mod p)

 

 

 

2

 

2

 

k должно меняться случайным образом при шифровании нового сообщения.

Пример системы Эль-Гамаля

p = 11, a = 4, a - примитивный элемент GF(2p)

Пусть x = 3 – закрытый ключ

Y = 43 (mod 11) = 64 (mod 11) = 9 открытый ключ

y

 

 

y

 

 

 

 

 

Шифрование сообщения m = 6

Генерирование СЧ k = 4 Вычисление:

С1 = ak(mod p) = 44(mod1 1) = 256(mod 11) = 3

y-1 = yp-2(mod p)= 99(mod 11)=929292929(mod11)= 4*4*4*4*9(mod11)=5*5*9(mod11) = 5

C2 = my-1k(mod p) = 6*54(mod 11)=6*3*3(mod11) = 10 C1,C2 C1,C2

Расшифрование

C1x (mod p)=33(mod 11) = 5

C2*C1x (mod p) = 10*5 (mod 11) = 50(mod 11)=6

Система РША (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 (mod N)

Расшифрование.

Корр. В расшифровывает принятую криптограмму от корр.А,используя свой секретный ключ.

m = Ed (mod N)

Доказательство обратимости операции дешифрования операции шифрования

Покажем, что Ed(mod N) = (me)d(mod N) = m

По т. Эйлера m (N) 1(modN) для любого m взаимно простого с N.

Умножая обе части сравнения на m, получаем сравнение

m (N)+1 m(mod N) справедливое уже для любого целого m.

Перепишем соотношение ed 1(mod (N)) в виде ed=1+k (N)

для некоторого целого k.

Тогда Ed=(me)d=m1+k (N)= m1+ (N) m(k-1) (N)= =m m(k-1) (N)= m1+(k-1) (N) =m1+ (N) m(k-2) (N)=

…. = m1+ (N) =m

Что и требовалось доказать.

Пример системы РША

p = 3, q =11 N = 33

( N) 20

Генерирование ключей

 

e =7, НОД(7, 20) =1

 

d =7-1(mod 20) = 3

 

Шифрование

m = 6 E = me(mod N)= 67(mod 33)=62 62 62 61(mod 33)= =3*3*3*3*2 = 30

Расшифрование

Ed(mod N) = 303(mod 33) = 900*30(mod33)=9*30(mod 33) = 6

Оценки стойкости системы РША

1. Система РША может быть вскрыта, если удастся найти p и q,

т. е. факторизовать N.

Исходя из этого факта p и q должны выбираться такой большой разрядности, чтобы факторизация числа n потребовала необозримо большого времени, даже с использованием всех доступных и современных средств вычислительной техники.

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

O eln n ln ln n [3]. Так, например ln n = 200, если , то число операций будет приблизительно равно 1,37 1014 .

 При увеличении числа разрядов n до 1000 и более время факторизации становится совершенно необозримым.

2. Другой естественной атакой на КС РША является дискретное логарифмирование. Эта атака (при известном сообщении) выполняется следующим образом: d = log E M mod N. Однако задача дискретного логарифмирования по модулю многоразрядных чисел также относится к трудным в математике, и оказывается, что она имеет почти такую же сложность, как и задача факторизации [3].

3. Циклическая атака. Будем последовательно возводить полученную криптограмму в степень равную значению открытого ключа т.е. (((((Ee)e)…..)e .

Если при некотором шаге окажется, что Ei=E , то это означает, что Ei-1=m. Доказывается, что данная атака не лучше атаки факторизации N.

4. Отсутствие шифрования. Этот случай возможен, если в результате шифрования получаем открытое сообщение, т. е. M e mod n = M. Такое условие должно выполниться хотя бы для одного из сообщений, например, для сообщений M = 0, 1, n – 1 . На самом деле таких сообщений, которые вообще! не шифруются [3], существует в точности [1 + gcd (e – 1, p – 1)][1 + gcd (e – 1, q – 1)] . Их число всегда не менее 9. Однако при случайном выборе q и p доля таких сообщений будет ничтожно мала и они почти никогда не встретятся на практике.

5. Атака при малом объеме возможных сообщений

Предположим, что количество сообщений ограничено значениями M1 , M2 ,… , Mr , где r обозримо. (Это могут быть, например, различные команды – вперед, назад, влево, вправо и т. п.). Тогда

сообщение может быть легко расшифровано.

Действительно, пусть криптограмма C перехвачена. Тогда необходимо попытаться зашифровать все команды известным открытым ключом и определить ту криптограмму, которая совпадает с принятой C:

C1 C2

Cr

M 1eM 2e

M re

mod n;

mod n; ?

C.

mod n

Способ борьбы с такой атакой – это «подсаливание» сообщений (т. е. присоединение к ним небольших цепочек бит, полученных с использованием чисто случайного датчика).