Научная статья на тему 'О выборе слайдовых пар в корреляционном методе криптоанализа шифра KeeLoq'

О выборе слайдовых пар в корреляционном методе криптоанализа шифра KeeLoq Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
190
41
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лебедева Олеся Николаевна

We suggest an improvement for the correlation cryptanalysis of KeeLoq based on the filtering slid pairs.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

On the choice of slid pairs for the correlation cryptanalysis of KeeLoq

We suggest an improvement for the correlation cryptanalysis of KeeLoq based on the filtering slid pairs.

Текст научной работы на тему «О выборе слайдовых пар в корреляционном методе криптоанализа шифра KeeLoq»

для режима гаммирования безопасным является шифрование данных размером

231 блоков, т. е. 16 Гбайт;

для режима гаммирования с обратной связью безопасным является шифрование данных размером -у/264/3 блоков, т. е. ~ 18,475 Гбайт.

Таблица 2

Практические характеристики криптостойкости отечественных

режимов шифрования

Название режима шифрования Практическое значение AdvSnEd-cpa Значение а, обеспечивающее криптостойкость

Простой замены 1 1

Гаммирования < 4ст2/264 < 231

Гаммирования с обратной связью < 3ct2/264 < у/264/3

ЛИТЕРАТУРА

1. Bellare M. and Rogaway P. Introduction to Modern Cryptography. 2005. http://cseweb. ucsd.edu/~mihir/cse207/w-se.pdf

2. Goldwasser S. and Bellare M. Lecture Notes on Cryptography. 2001. http://cseweb.ucsd. edu/~mihir/papers/gb.pdf

3. Katz J. and Yehuda L. Introduction to Modern Cryptography. Boca Raton: Chapman& Hall/CRC, 2008.

УДК 519.7

О ВЫБОРЕ СЛАЙДОВЫХ ПАР В КОРРЕЛЯЦИОННОМ МЕТОДЕ КРИПТОАНАЛИЗА ШИФРА KeeLoq

О. Н. Лебедева

KeeLoq — блочный шифр, широко используемый в системах бесключевого удалённого доступа. Шифр был разработан профессором Г. Каном и запатентован ЮжноАфриканской компанией «Nanoteq» в середине 80-х. В 1995 г. фирма «MICROCHIP» приобрела KeeLoq у фирмы «Nanoteq» вместе с лицензионными правами.

Алгоритм KeeLoq [1] имеет 64-битный ключ и осуществляет шифрование 32-битных блоков открытого текста. В нём используются два регистра сдвига: один — длины 64 без функции обратной связи (для выработки подключа), другой — регистр сдвига длины 32 с нелинейной функцией обратной связи NLF от пяти переменных (непосредственно для шифрования). Блок открытого текста помещается в текстовый регистр. Шифртекстом является состояние регистра после 528 циклов с использованием регистра ключа. Пусть Vn = GF^ — множество всех n-битных слов; Y(i) = (y^i,... , Уо**) Е Е V32 и K3i) = (fcgg ,... , y(i)) Е V63 — соответственно состояния текстового регистра и регистра ключа после i тактов. Каждый цикл шифрования может быть описан следующим образом:

— вычисление очередного бита: ^ = NLF(y31, у2б , у2о , У2**, У3**) ® У 16 ® Уо** ® ^;

— сдвиг состояния текстового регистра: R3i+1) = (^,y31,... , У1*^);

— сдвиг состояния регистра ключа: K3 i+1) = (&0*\ ^бз,... , kl**).

Первый криптоанализ KeeLoq был опубликован только в феврале 2007 г. А. Богдановым [1]. Эта атака основана на слайдовой технике и линейном приближении нелинейной булевой функции, использующейся в KeeLoq. Криптоанализ имеет временную

сложность 252 и требует 16 Гбайт памяти. Позднее Богданов обновил свой метод, используя алгебраический криптоанализ для нахождения первых 16 битов ключа [2]. Улучшение привело к уменьшению временной сложности до 250,6.

В работе [1] Богданов описывает следующие шаги. Для каждого подключа К = = (к15,... , к0) и случайного 32-битного входа 10 € ^2 с помощью парадокса дней рождения угадывается промежуточный шифртекст О0 € ^2 после 64 циклов шифрования. Такая пара (10,00) называется слайдовой парой. Используя периодическую структуру ключа, в KeeLoq генерируются другие пары (/¿, О^) € (^32)2, г = 1,... , N — 1. Для успешной атаки их число должно быть около 28. Для каждого такого набора пар получаются линейные соотношения для неизвестных битов ключа с высокой вероятностью в связи с тем, что нелинейная функция обратной связи, использующаяся в KeeLoq, не является 2-устойчивой. Таким образом, можно определить (к47,..., к16) бит за битом. После этого решается треугольная система линейных уравнений для оставшихся битов ключа (к63,..., к48).

Отметим, что в методе А. Богданова для каждого подключа К1 = (к15,... , к0) по сути происходит полный перебор всевозможных пар (кандидатов на первую слайдовую пару (10, О0)) из случайного подмножества мощности 216 множества всех двоичных векторов длины 32 и для каждой такой пары (10,О0) выполняется корреляционный криптоанализ.

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

Например, связь бита у064) с битами на 16-м раунде выражается так:

»061) = у333) = N1^ (у332). у2Г. у2?2).»532).»132>) ® у162) ® у032) ® ^ =

= У(32) ф У(32) ф У(62) Ф у032) Ф к32 = У( 76) ф У( 56) Ф У317) Ф У( 66) Ф к32 = = у( 76) Ф у256) ф (у316).у266).у206) .у(16).у( 1 6)) Ф у(66) Ф У01 6) Ф к 16) ф у(66) ф кз2.

Таким образом, после того как будут найдены к16 и к32 на первом шаге корреляционной атаки, для отсеивания неправильных слайдовых пар используются биты ключа (к16. к15. .... к0) и к32.

На каждом шаге корреляционной атаки используется дополнительное соотношение для битов входного и выходного текста, что позволяет останавливать криптоанализ с вероятностью 5/8 для каждой пары, которая не удовлетворяет полученным соотношениям. Следующая таблица иллюстрирует этот процесс.

Шаг 0 1 2 15 16

Количество слайдовых пар 232 231 2 30 217 216

Найденные биты ключа 5 к о 2 3 6 7, к со со 6 4 ,0 3 7 4 31

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

232 пар. Затем находятся биты ключа к16 и к32 на первом шаге корреляционной атаки, которые используются в соотношении между у064) и битами шифртекста после 16 циклов. Значит, можно не рассматривать пары, не удовлетворяющие этому соотношению.

Следовательно, число пар, для которых будет выполняться следующий шаг криптоанализа, сократится до 231, и т.д.

При выборе другого приближения нелинейной функции NLF можно добиться повышения вероятности нахождения правильной слайдовой пары.

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

ЛИТЕРАТУРА

1. Bogdanov A. Cryptanalysis of the KeeLoq Block cipher // http://eprint.iarc.org/2007/ 055, 2007.

2. Bogdanov A. Attack on the KeeLoq Block Cipher and Authentication System // http:// rfidsec07.etsit.uma.es/slides/papers/paper-22.pdf, 2007.

УДК 519.7

О НЕВОЗМОЖНЫХ УСЕЧЁННЫХ РАЗНОСТЯХ XSL-АЛГОРИТМОВ БЛОЧНОГО ШИФРОВАНИЯ

М. А. Пудовкина

Идея использовать невозможные разности, т. е. разности с нулевой вероятностью, для определения ключа шифрования была предложена Л. Р. Кнудсеном [1] при анализе алгоритма блочного шифрования DEAL. Позже невозможные разности применялись для атак на алгоритмы блочного шифрования Skipjack [2], MISTY1 [3], AES [4], ARIA [5] и др.

Пусть Xх = X\0; S(X) — множество всех подстановок на множестве X; V — множество всех t-мерных векторов над GF(2); m = d ■ q; s0,...,sq—1 G S(Vd); Hd G G {Vd, GF(2d)}; a G Vd; нелинейное преобразование s : Vm А Vm есть s = (sq-1,..., S0), где Si G S(Vd); линейное преобразование a : Hd А Hd в стандартном базисе задаётся как

(aq— 1 ,i, . . . , a0,i) a (aq— 1 ,i, . . . , a0,i) ,

где a = (aij) — обратимая (q x д)-матрица над GF(2) (GF(2d)); a—1 = b = (bij);

A(j) = {i G {0,..., q — 1} : aji > 0} , B(j) = {i G {0,..., q — 1} : bji > 0} .

В работе рассматриваются алгоритмы блочного шифрования с раундовой функцией ge : Vm А Vm, заданной как age = (a ® в)s“ для всех в, a G Vm, и f(kl,...,kj) = = gk1 ... gkj — j-раундовая функция зашифрования. Предполагается, что раундовые ключи k1,... , ki выбираются случайно и равновероятно из Vm.

Зафиксируем номера координат {jb ... , jc} С {0,... , q — 1} , j < ... < jc. Положим

Л0'ъ ... , jc) = {a G Hd : ajt = ° t = 1,... , c} .

Множество разностей (Л(^,..., jc), Л(^,... , if)) называется невозможной усечённой разностью для преобразования v G S (Vm), если для любых векторов a G G ЛЛ ... , jc), в G Л(^,... , V) выполняется равенство pa,e(v) = 0, где

Pa,e(v) = 2—m ■ |{Л G Vm : (Л 0 a)v 0 Av = в}| .

В этом случае при v = f(k1,...,kj) будем использовать обозначение

Л(7ъ ... , jc) А? Л(il,... , V).

i Надоели баннеры? Вы всегда можете отключить рекламу.