3_Analiz_stoykosti_KS_RShA
.pdf
Внастоящеевремязадачафакторизациичиселнеимеет полиномиальногорешения.Разработанылишьнекоторыеалгоритмы, упрощающиефакторизацию,ноихвыполнениедляфакторизуемых чиселбольшойразрядностивсеравнотребуетнеобозримобольшого
времени.Действительно,сложностьрешениязадачифакторизации
длянаилучшегоизвестногосейчасалгоритмафакторизацииравна |
|||
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 |
|
|||
|
|
|
Атака факторизации методом Ферма
• Если 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 |
|
|
||||
|
|
|
|
||||
Способ борьбыстакойатакой – это«подсаливание»сообщений(т. е. присоединениекнимнебольшихцепочекбит,полученныхс использованиемчистослучайногодатчика).
Третья побочная атака. Малая экспонента дешифрования (d) (Математические основы)
На основе алгоритма Евклида можно рациональное число представить в виде цепной дроби
Цепная дробь, полученная из отбрасыванием всех элементов после некоторого номера k, называется k-й подходящей дробью
