Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Линейный криптоанализ

 

Метод линейного криптоанализа впервые был применен для атаки блочного шифра FEAL [376] и затем DES [377]. Данный метод использует линейные приближения. Это озна­чает, что, если выполнить операцию XOR над некоторыми битами открытого текста, затем над некоторыми битами шифротекста, а затем выполнить XOR результатов предыдущего суммирования, можно получить бит, который равен сумме некоторых бит ключа. Это назы­вается линейным приближением, которое может быть верным с некоторой вероятностью р. Если р ¹ 0,5, то этот факт можно использовать для раскрытия бит ключа.

Рассмотрим данный метод подробнее. Пусть в общем виде линейное выражение задается уравнением:

 

 

(3..1)

 

 

где i 1, i 2,…, i a, j 1, j 2,…, j b, и l 1, l 2,…, l c, позиции некоторых бит открытого текста Р, шиф­ротекста С и ключа К. (Напомним, что суммирования в (3.1) выполняется по модулю 2) Для случайно выбранного открытого текста Р и соответствующего шифротекста с уравне­ние (3.1) выполняется с вероятностью р ¹ 1/2. Величина |р-1/2| определяет эффективность уравнения (31).

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

Алгоритм 1.

Шаг 1. Пусть T задает число открытых текстов, таких, что левая часть уравнения (3.1) равна нулю.

Шаг 2. Тогда, если T > N /2 (N — общее число открытых текстов),

угадываем

 

 

Вероятность успеха увеличивается с ростом N или |р — 1/2|.

Рассмотрим криптоалгоритм DES с n -циклами криптографического преобразования. С учетом 48-битного ключа К n и F -функции линейное выражение принимает следующий вид:

 

(3.2)

где через СR обозначена правая половина блока шифротекста.

Оценивая эффективность уравнения (3.2) при подстановке различных кандидатов, можи восстановить Кn и Для этого следует воспользоваться следующим алгоритмом максимального правдоподобия:

 

Алгоритм 2.

 

Шаг 1. Пусть Т задает число открытых текстов, таких, что левая часть уравнения (3.2 равна нулю для каждого кандидата Кn ( i ) (i = 1,2,...).

Шаг 2. Обозначим через Т mах и Т min максимальное и минимальное значения среди Ti.

Тогда

 

 

Рассмотрим линейные приближения для S -блоков. Задача заключается в исследовании вероятности того, что некоторый бит на входе S -блока равняется некоторому биту на выхо­де. Однако в более общем случае полезно рассмотреть зависимости сумм бит на некоторых входных и выходных позициях.

Для заданного S -блока Sa (a = 1,2,..., 8) и чисел 1£ a £63и1£ b £15 определим NSa (a, b) - число выходных значений для 64 возможных значений на входе Sа, таких, что результат логической операции «И» суммы по модулю 2 некоторых бит значения на входе Sа и числа a равен результату логической операции «И» суммы по модулю 2 некоторых бит значения на выходе Sа и числа b. Данное условие можно записать в виде:

 

(3.3)

где Sa (x) t — t-й бит выходного значения Sa при заданном на входе значении х.

Если NSa (a, b) не равно 32, можно сделать вывод о корреляционной зависимости вход­ных и выходных бит Sa. Например, уравнение 3.4 показывает, что четвертый бит входных значений S5 равен сумме всех бит выходных значений с вероятностью 12/64 = 0,19:

 

NS5 (16, 15)=12. (3.4)

 

Следующее уравнение выполняется с вероятностью 0,19 для случайно выбранного X и зафиксированного К (с учетом перестановки в Е - и Р -блоках):

 

(3.5)

 

В усеченной табл. 3.19 представлены значения NS5 (a, b) - 32 для всевозможных значе­ний a (номер строки) и b (номер столбца). Исследование полной таблицы показывает, что уравнение (3.4) является наилучшим линейным приближением во всех S -блоках (то есть величина | NS5 (a, b)| принимает максимальное значение). Следовательно, уравнение (3.4) является наилучшим линейным приближением для F -функции.

Из определения S -блоков вытекает, что

 

(1) NSa (a, b) четно;

(2) если a = 1,32 или 33, то NSa (a, b) = 32 для всех Sa и Sa.

 

Рассмотрим криптоалгоритм DES с тремя циклами преобразования. Следующее уравне­ние выполняется для первого цикла с вероятностью 12/64:

 

(3.6)

 

где через PR и PL обозначены правая и левая половины открытого текста. Аналогичное уравнение выполняется для последнего третьего цикла преобразования:

 

(3.7)

 

 


где через CR и CL обозначены правая и левая половины шифротекста.

 

 

Таблица 3.19 - Криптоанализ DES: усеченная таблица значений NS5 (a, b) - 32

 

 

Таким образом, линейное приближение для третьего цикла выглядит следующим образом:

 

(3.8)

 



Для случайно выбранного открытого текста Р и соответствующего шифротекста С урав­нение (3.8) выполняется с вероятностью (12/64)2 + (1 - 12/64)2 = 0,70. Поскольку уравне­ние (3.5) является наилучшим линейным приближением F -фун-кции, уравнение (3.8) явля­ется наилучшим приближением для DES с тремя циклами. Теперь, воспользовавшись Алго­ритмом 1, можно решить уравнение (3.8) для того, чтобы получить значение К122 ÅК322

Описанный метод можно обобщить на полный DES с шестнадцатью циклами криптогра­фического преобразования.


 


<== предыдущая лекция | следующая лекция ==>
Дифференциальный криптоанализ на основе отказов устройства | Силовая атака на основе распределенных вычислений
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 476; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.