КАТЕГОРИИ: Архитектура-(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; Просмотров: 504; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |