Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3_Analiz_stoykosti_KS_RShA

.pdf
Скачиваний:
17
Добавлен:
25.06.2024
Размер:
1.36 Mб
Скачать

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

времени.‮Действительно,‮сложность‮решения‮задачи‮факторизации‮

для‮наилучшего‮известного‮сейчас‮алгоритма‮факторизации‮равна

O e

ln n ln ln n

 

[3].‮Так,‮например ln n = 200,‮если‮,‮то‮число‮

 

 

 

операций‮будет‮приблизительно‮равно‮1,37 1014 . При‮увеличении‮числа‮разрядов‮n до‮1000‮и‮более‮время‮ факторизации‮становится‮совершенно‮необозримым.

Если‮теперь‮предположить,‮что‮алгоритм‮факторизации‮неизвестен,‮ но‮удалось‮как-то‮в‮полиномиальное‮время‮найти‮секретный‮ключ‮d, то‮можно‮доказать,‮что‮тогда‮число‮n можно‮факторизовать,‮т. е.‮найти‮ такие‮p и‮q за‮полиномиальное‮время,‮что‮‮n = p ∙ q [3].‮Если‮каким-то‮ другим‮способом‮удалось‮в‮полиномиальное‮время‮найти‮параметр‮φ , то‮ясно,‮что‮КС‮РША‮может‮быть‮вскрыта.

Знание‮φ позволяет‮просто‮факторизовать‮ n,‮‮и,‮следовательно,‮задача‮ нахождения‮φ вычислительно‮эквивалентна‮задаче‮факторизации. (стр.‮150).

Утверждение. (Полезное‮для‮анализа‮стойкости‮криптосистем‮с‮открытым‮

ключом.)‮Пусть n p q , где

p q

– простые числа.

p q

.

Тогда

числа p и q можно найти, если известно n и

n p 1 q 1

 

Доказательство. Будем‮рассматривать‮p, q как‮пару‮неизвестных‮целых‮

чисел,‮для‮которых‮задано‮их‮произведение

поскольку‮

p q n 1 n p q 1 p 1 q

 

число.

1

q

n 2b

и известна‮сумма,‮ ,‮где‮b – некоторое‮целое‮

Два‮числа,‮сумма‮которых‮равна 2b ,‮а‮произведение‮равно‮n,‮являются‮ очевидно‮корнями‮уравнения‮‮ x 2 2bx n 0 (теорема‮Виета).‮Тогда‮корни‮ квадратного‮уравнения‮и‮есть‮необходимые‮числа‮p и‮q:

.

b b 2 n 2 ; q b b 2 n 2

‮ Сложность‮решения‮этого‮уравнения –

O log

3

n

 

 

 

 

q p N1/ 4

Атака факторизации методом Ферма

• Если p и q слишком близки друг к другу, то их можно найти методом факторизации Ферма.

• Пусть N=рq, где p<q, оба нечетные. Тогда, положив

x= (p+q)/2 и y= (q-p)/2, получаем

N x

2

y

2

(x y)(x y)

 

 

или

y

2

N x

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказывается, что если , то, используя это свойство можно построить эффективный алгоритм разложения N на множители.

Тем‮не‮менее‮для‮систем‮РША‮нельзя‮строго‮утверждать,‮что‮ стойкость‮этой‮КС‮эквивалентна‮задаче‮факторизации‮[3].‮Подобное‮ свойство‮имеет‮место‮для‮иных‮КС,‮например‮для‮КС‮Рабина.

2. Атака дискетного логарифмирования d

Другой‮естественной‮атакой‮на‮КС‮РША‮является‮дискретное‮ логарифмирование.‮Эта‮атака‮(при‮известном‮сообщении)‮

M = cd mod n или

выполняется‮следующим‮образом:‮

d = log с M mod n.

S h(M )

d

mod n

 

Однако‮задача‮дискретного‮логарифмирования‮по‮модулю‮ многоразрядных‮чисел‮также‮относится‮к‮трудным‮в‮математике,‮и‮ оказывается,‮что‮она‮имеет‮почти‮такую‮же‮сложность,‮как‮и‮задача‮ факторизации‮[3].

Пример атаки дискретного логарифмирования

Пусть известен открытый ключ и шифртекст

(e,n,c)=(17,2773,2258)

Найдем открытый текст, используя логарифмирование.

1. Выберем любую часть открытого текста М так, чтобы НОД(n,M)=1, например, М=2113 и вычислим

с=М^e =2113^17=340 (mod2773).

2.Вычисли d, взяв дискретный логарифм М с основанием с по modn. d=log340 2113=137 (mod2773)

3.Теперь с помощью d можно расшифровать с=2258

М=c^d=2258^137=1225 (mod2773) 4. Результат легко проверить

с=M^e=1235^17=2258 (mod2773)

Замечание! Найденное d может отличаться от истинного d=e^-1 modϕ

3. Побочные атаки на КС РША

‮Помимо‮двух‮основных‮атак‮на‮КС‮РША –

факторизации и‮логарифмирования – существует‮ряд‮ побочных‮атак,‮основанных‮на‮предположении‮об‮ использовании‮в‮этой‮КС‮таких‮параметров‮или‮ режимов,‮которые‮значительно‮упрощают‮ее‮ криптоанализ.

‮Рассмотрим‮далее‮некоторые‮из‮этих‮атак,‮связанных‮с‮ неправильным‮выбором‮параметров‮КС‮РША‮при‮ее‮ разработке‮или‮эксплуатации.

Первая побочная атака.

Выбор малой величины открытого ключа e.

Смысл‮такого‮выбора‮e для‮КС‮РША‮состоит‮в‮том,‮что‮это‮позволяет‮ ускорить‮процедуру‮шифрования.‮Рассмотрим‮в‮качестве‮примера‮ величину‮e = 3.‮Предположим,‮что‮с‮таким‮малым‮e производится‮ шифрование‮в‮КС‮РША‮и‮одно‮и‮то‮же‮сообщение‮посылается‮хотя‮бы‮ трем‮разным‮пользователям,‮имеющим‮разные‮n.

Покажем,‮что‮в‮этом‮случае‮можно‮восстановить‮сообщение‮M без‮ знания‮ключа.‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮

Последовательность‮криптограмм‮будет‮выглядеть‮следующим‮ образом:

C1 = M 3 mod n1

C = M 3 mod n ;

(3.4)

2

2

 

C = M 3

mod n

.

 

3

3

 

 

Весьма‮вероятно,‮что‮будет‮выполнено‮условие‮gcd (ni , nj ) =1 при‮

i j .‮Вспомним‮китайскую‮теорему‮об‮остатках,‮которая‮гласит,‮ что‮система‮уравнений‮(3.4)‮имеет‮общее‮решение:‮x = M 3 mod (n1 ∙ n2 ∙ n3) ,‮которое‮может‮быть‮найдено‮в‮полиномиальное‮время. Вероятно‮также,‮что‮сообщение M < n1 ∙ n2 ∙ n3 ,‮и‮тогда‮дешифрование‮ выполняется‮тривиальным‮образом‮как‮извлечение‮кубичного‮корня‮из‮

числа:

M

3

x

 

 

 

Для‮ ‮защиты‮от‮этой‮атаки‮необходимо‮либо‮не‮использовать‮малые‮e, либо‮не‮отправлять‮одни‮и‮те‮же‮сообщения‮разным‮пользователям.‮ Если‮в‮этом‮есть‮объективная‮необходимость,‮то‮сообщение‮нужно‮ немного‮изменить,‮добавляя,‮например,‮в‮конце‮его‮небольшие‮ различные‮случайные‮числа.‮Такой‮метод‮называется‮методом‮

«подсаливания» сообщения.

Вторая побочная атака.

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

Предположим,‮что‮количество‮сообщений‮ограничено‮значениями‮‮

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

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

C

 

M

e

mod n;

 

1

1

 

 

 

 

 

 

 

 

M

e

 

 

C

 

mod n;

?

2

2

 

 

 

 

 

 

 

C.

 

 

 

 

 

 

 

 

 

 

 

 

C

 

M

e

mod n

 

 

r

r

 

 

 

 

 

 

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

qn 1, qn ]
[q0 , q1, q2 ,

Третья побочная атака. Малая экспонента дешифрования (d) (Математические основы)

На основе алгоритма Евклида можно рациональное число представить в виде цепной дроби

Цепная дробь, полученная из отбрасыванием всех элементов после некоторого номера k, называется k-й подходящей дробью

Соседние файлы в предмете Криптографические протоколы