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

О параллельных вычислениях при реализации метода согласования в криптоанализе Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Фомичев Владимир Михайлович

Three variants of implementations of the meat-in-the-middle attack based on clusters and distributed computations are considered for symmetric block cryptosystems. The average time of computations is estimated in universal proposition on equiprobability keys of cryptosystem. It is shown that the coefficient of curtailing for average time attains the number of processors comparing to monoprocessor system.

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

Похожие темы научных работ по математике , автор научной работы — Фомичев Владимир Михайлович

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

On parallel computations in implementation of the meat-in-the-middle attack

Three variants of implementations of the meat-in-the-middle attack based on clusters and distributed computations are considered for symmetric block cryptosystems. The average time of computations is estimated in universal proposition on equiprobability keys of cryptosystem. It is shown that the coefficient of curtailing for average time attains the number of processors comparing to monoprocessor system.

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

Еще одна область применения SAT-подхода связана с задачами комбинаторной оптимизации. Имеются мощные коммерческие пакеты решения оптимизационных задач из семейства 0—1-целочисленного линейного программирования (ЦЛП). Соответствующие алгоритмы комбинируют технику ветвей, границ и отсечений с методами решения задач линейного программирования над полем рациональных чисел. Однако данные методы подходят далеко не ко всем задачам комбинаторной оптимизации. Современные решатели ЦЛП-задач, как правило, не работают с нелинейными и невыпуклыми целевыми функциями. Между тем и такие задачи допускают эффективную сводимость к булевым уравнениям и, в конечном счете, к SAT-задачам.

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

ЛИТЕРАТУРА

1. Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений. М.: Вильямс, 2002.

2. Семенов А. А., Отпущенников И. В., Кочемазов С. Е. Пропозициональный подход в задачах тестирования дискретных автоматов // Современные технологии. Системный анализ. Моделирование. 2009. №4. С. 48-56.

3. http://www.satlive.org — Up-to-date links for the SATisfability Problem.

4. Системная компьютерная биология / под ред. Н. А. Колчанова, С. С. Гончарова, В. А. Лихошвая, В. А. Иванисенко. Новосибирск: Изд-во СО РАН, 2008.

5. Евдокимов А. А., Кочемазов С.Е., Семенов А. А. Применение символьных вычислений к исследованию дискретных моделей некоторых классов генных сетей // Вычислительные технологии. 2011. Т. 16. №1. С. 30-47.

УДК 519.6

О ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЯХ ПРИ РЕАЛИЗАЦИИ МЕТОДА СОГЛАСОВАНИЯ В КРИПТОАНАЛИЗЕ

В. М. Фомичев

Метод согласования [1-4] применяется для определения ключа криптосистемы, как правило, по известным открытому и шифрованному тексту. Он менее трудоемок по сравнению с полным опробованием ключей, если функция шифрования E(q,x) открытого текста x по ключу q Е Vn = {0,1}n допускает декомпозицию на две функции как E(q,x) = g(q, g'(q, x)), где для множеств существенных ключевых переменных K и K' соответственно функций g и g' выполнено K \ K' = 0 и K' \ K = 0. Наибольший эффект от применения метода достигается, если множества K и K' равномощны и K П K' = 0. При этом опробование ключа выполняется как независимое опробование переменных из множеств K и K' и ключ q определяется с вычислительной сложностью порядка O(2n/2) операций типа зашифрования-расшифрования при использовании памяти, достаточной для хранения порядка O(2n/2) ключей.

Оценим среднее время параллельных вычислений и размер памяти для реализации метода согласования применительно к некоторым итеративным симметричным блоч-

ным шифрам (СБШ) при условии, что ключ выбирается случайно равновероятно из ключевого множества.

Задача: для г-раундового СБШ вычислить п-битовый ключ д по известным ¿-битовым блокам х и у открытого и шифрованного текстов, где числа г, п,£ — натуральные, £ ^ п и ключ д по блокам х и у определяется однозначно. В условиях метода согласования сделаем следующие предположения и обозначения:

1) ключ д есть конкатенация независимых ключей: д = V • ш, где V Е Ут, ш Е Уп-т и т ^ п/2;

2) функции шифрования первых I раундов и остальных г — I раундов шифрования суть подстановки соответственно д^ и , определяемые бинарными ключами V и ш, где I < г.

Тогда зашифрование блока х в блок у с помощью подстановки Ея имеет вид

у = Ея (х) = д^ (х) = (д^ (х)). (1)

Корректность предлагаемых алгоритмов следует из (1).

В модели вычислительной системы используются N идентичных вычислителей с неограниченной памятью, с одинаковыми производительностью и скоростью чтения/записи данных и др. Различаются два случая: кластерные вычисления (КВ) и распределенные вычисления (РВ). Преимущество модели КВ заключается в возможности активного обмена данными между вычислителями. Преимущество модели РВ, где координатор распределяет задания между процессорами — участниками вычислений и объединяет результаты выполнения заданий, в том, что число участников РВ может заметно превосходить число процессоров в кластерной системе. Вместе с тем обмен данными участник осуществляет только с координатором.

Кластерные вычисления

Пусть кластерная система имеет 2к вычислителей, снабженных блоками памяти, к ^ т. Каждый вычислитель имеет номер, являющийся его адресом (число от 0 до 2к — 1). Для реализации алгоритма каждый вычислитель использует адресную память размера 2*-к ячеек, в ячейке могут быть записаны несколько вариантов ключей — элементов Уп. Адреса ячеек суть элементы У—.

Для любого двоичного вектора (а^а2,...) размерности больше к обозначим

£(а1,а2 ,...) = (а1, . . . , ак), ^(аЪ а2, . . .) = (ак+1 ,ак+2,...).

Для вектора а = (а1,... , ак) Е Ук и пространства векторов У,, где в ^ к, обозначим

У,(а) = {£ Е У, : ¿(£) = а}.

Алгоритм состоит из предварительного и оперативного этапов.

Предварительный этап (заполнение блоков памяти вычислителей).

Вычислитель с номером а Е Ук последовательно опробует ключи V из Ут(а) и вычисляет д^ (х) для блока х. Затем пара (V, д^ (х)) направляется вычислителю с номером $(д^ (х)), который записывает ключ V в свою память по адресу $(д^ (х)).

По завершении этапа множество ключей из Ут распределено по ячейкам памяти всех вычислителей. Обозначим через ф(а,в) множество ключей из Ут, записанных в памяти вычислителя с номером а по адресу в.

Оперативный этап (определение ключа).

1) Вычислитель с номером а Е Ук последовательно опробует ключи ш из УП-т(а) и вычисляет (£ш)-1 (у) для блока у, затем пара (ш, (^-1)(у)) направляется вычислителю с номером ¿((¿-1)(у)).

2) Вычислитель с номером ¿((¿-1)(у)) обращается в свою память по адресу $((г-1 )(у)). Конкатенация V • ш для каждого ключа V из множества ф = = ф(^((г-1)(у)), ^((¿-^(у))) есть кандидат на значение искомого ключа д = V•ш. Если ф = 0, то вычислитель отбраковывает все ключи вида V • ш (например, по критерию соответствия известным парам открытого и шифрованного текстов).

Характеристики метода.

Пусть тз, тп, то — время реализации зашифрования, пересылки и обращения в память в некоторых условных единицах, и тах{тз, тп, то} = т. Тогда минимум среднего времени реализации метода Т(т) достигается при т = [п/2]:

Т = Т ([п/2]) = 0(т 2п/2-к). (2)

Надёжность метода равна 1. Каждому вычислителю достаточно иметь порядка 2п/2-к ячеек, в которые записываются элементы УП/2. Таким образом, совокупный объем требуемой памяти 2п/2 ячеек также распределяется между 2к процессорами.

Распределенные вычисления

В системе РВ с 2Р участниками (вычислителями), р ^ т, каждый участник имеет номер, являющийся его адресом (число от 0 до 2Р-1). Алгоритм использует 2* ячеек адресной памяти координатора, в каждую из которых может быть записано несколько вариантов ключей — элементов УП. Участники могут отправлять данные координатору, но не могут обращаться к его памяти.

Алгоритм состоит из предварительного и оперативного этапов.

Предварительный этап (заполнение памяти координатора).

Вычислитель с номером а Е Ур последовательно при каждом ключе V из Ут(а) вычисляет дь(х) для блока х и направляет пару ^,д^(х)) координатору, где ключ V записывается в память координатора по адресу дь (х). По завершении этапа множество ключей из Ут распределено по ячейкам памяти координатора. Обозначим через ф(в) множество ключей из Ут, записанных в памяти координатора по адресу в.

Оперативный этап (определение ключа).

1) Вычислитель с номером а Е Ур последовательно при каждом ключе ш из Уп-т(а) вычисляет (¿-^(у) для блока у и направляет пару (ш, (^-1)(у)) координатору.

2) Координатор обращается в память по адресу (^-1)(у). Конкатенация каждого ключа V из ф((^-1)(у)) с ключом ш есть кандидат на значение искомого ключа д = v•w. Если ф((£-1)(у)) = 0, то координатор подвергает отбраковке все ключи вида V • ш (например, по критерию соответствия известным парам открытого и шифрованного текстов).

Характеристики метода.

Положим, что в каждый такт на 1-м этапе в любую ячейку памяти записывается не более одного варианта ключа V, на 2-м этапе из любой ячейки памяти извлекается не более одного варианта ключа V, т. е. замедления «из-за очередей» в работе вычислителей не происходит.

Тогда среднее время Т(т) алгоритма достигает минимума при т = [п/2]:

Т = Т([п/2]) « 2п/2-р(тз + тп + 2рТо). (3)

Координатору достаточно иметь 2n/2 ячеек, в которые записываются элементы V^/2-Отсюда среднее время алгоритма согласования по сравнению с полным опробованием ключей сокращается не более чем в 2Р раз и сокращение зависит от соотношения величин то, тз и тп. Надёжность метода равна 1.

Комбинирование кластерных и распределенных вычислений

В данной модели РВ система использует 2Р участников, р ^ m. Каждый участник имеет номер, являющийся его адресом (число от 0 до 2Р — 1). Координатор располагает кластерной подсистемой 2k вычислителей, k ^ р, каждый вычислитель кластерной системы имеет номер, являющийся его адресом (число от 0 до 2k — 1), и блок памяти размера 2t-k ячеек (адрес ячейки есть элемент Vt-k). В каждую ячейку могут быть записаны несколько вариантов ключей — элементов V^. Участники РВ могут отправлять данные кластерным вычислителям, но не могут обращаться в память кластерных вычислителей.

Предварительный этап (заполнение памяти координатора).

Участник с номером а Е Vp последовательно при каждом ключе v из Vm(a) вычисляет (x) для блока x и направляет пару (v,gv(x)) кластерному вычислителю с номером $(gv (x)), который вычисляет адрес $(gv (x)) и записывает по этому адресу ключ v. По завершении этапа множество ключей из Vm распределено по блокам памяти кластерных вычислителей координатора. Обозначим через Q(a,e) множество ключей из Vm, записанных в блоке памяти вычислителя с номером а по адресу ß.

Оперативный этап (определение ключа).

1) Вычислитель с номером а Е Vp последовательно при каждом ключе w Е Е Vn-m(a) вычисляет (z-1)^) для блока у и направляет пару (w, (z-:)(y)) кластерному вычислителю с номером i((z^-1)(y)).

2) Кластерный вычислитель с номером $((z-1)(y)) обращается к своему блоку памяти по адресу ^((zW-1)(y)). Конкатенация каждого ключа v из множества Q = Q(£((z-1)(y)), $((z-1)(y)) с ключом w есть кандидат на значение ключа. Если Q = 0, то вычислитель с номером ^((zW-1)(y)) все ключи вида v • w подвергает отбраковке (например, по критерию соответствия известным парам открытого и шифрованного текстов).

Характеристики метода.

Минимум T(m) достигается при m = |_n/2j, и верны оценки 0((тз + Тп)2п/2-Р) ^ minT(m) ^ О(то2n/2-k).

Следовательно, min T(m) может быть сокращен в несколько раз по сравнению с КВ и РВ (ср. с формулами (2), (3)). Коэффициент сокращения определяется соотношением скоростей шифрования, пересылки данных и обращения к памяти. Надёжность метода равна 1.

Кластерному вычислителю достаточно иметь 2n/2-k ячеек, в которые записываются элементы V^/2.

Выводы

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

1) при использовании КВ с числом процессоров 2k — примерно в 2k раз;

2) при использовании РВ с 2Р участниками — до 2Р раз, сокращение определяется соотношением скоростей шифрования, пересылки данных и обращения к памяти координатора;

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

При использовании КВ память распределяется по вычислителям кластерной системы.

Подробное изложение представленных результатов можно найти в [5].

ЛИТЕРАТУРА

1. Брассар Ж. Современная криптология / пер. с англ. М.: Полимед, 1999.

2. Грушо А. А., Тимонина Е. Е, Применко Э. А. Анализ и синтез криптоалгоритмов. Курс лекций. Йошкар-Ола: МФ МОСУ, 2000.

3. Фомичёв В. М. Методы дискретной математики в криптологии. М.: ДИАЛОГ-МИФИ, 2010.

4. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. М.: ТРИУМФ, 2002.

5. Фомичёв В. М. О реализации метода согласования в криптоанализе с помощью параллельных вычислений // Прикладная дискретная математика. 2011 (в печати).

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