ЛИТЕРАТУРА
1. Rukhin A., Soto J., Nechvatal J., et al. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications. National Institute of Standards and Technology, 2010.
2. Barker E. and Kelsey D. Recommendation for Random Bit Generator (RBG) Constructions (DRAFT NIST Special Publication 800-90C). National Institute of Standards and Technology, 2012.
3. Рябко Б. Я., Фионов А. Н., Шокин Ю. И. Криптография и стеганография в информационных технологиях. Новосибирск: Наука, 2015.
4. Cover T. M. and Thomas J. A. Elements of Information Theory. N.Y., USA: Wiley-Interscience, 2006.
УДК 519.1 DOI 10.17223/2226308X/9/28
О КЛЮЧЕВОМ РАСПИСАНИИ БЛОЧНЫХ ШИФРОВ БЕЗ СЛАБЫХ КЛЮЧЕЙ
В. М. Фомичев
Исследовано ключевое расписание симметричного r-раундового блочного шифра, при котором все раундовые ключи различны. Ключевое расписание реализуется как последовательное соединение автоматов: автономного автомата A, генерирующего выходную последовательность бинарных векторов с длиной периода не меньше r, и внутренне автономного автомата с постоянной памятью, в которой записан основной ключ блочного шифра. Рассмотрен пример, использующий в качестве автомата A линейный регистр сдвига с максимальной длиной периода.
Ключевые слова: блочный шифр, раундовый ключ, бесповторная последовательность, показатель бесповторности последовательности.
Введение
Используем следующие обозначения:
Vn — множество двоичных n-мерных векторов, n E N;
X^ = {x0, x1,...} —последовательность над множеством X ;
Г(А) —граф автомата Мили A;
{H) — линейная оболочка множества векторов H.
Свойства ключевого расписания, характеризующие взаимосвязи основного ключа с раундовыми ключами, являются определяющими при оценке стойкости итеративного блочного шифра (ИБШ) относительно ряда методов криптоанализа: согласования, дифференциального и др. Например, нежелательно ключевое расписание, при котором генерируемая из основного ключа последовательность раундовых ключей содержит определённое число повторяющихся элементов. Так, по отношению к основному ключу при криптографическом анализе DES-алгоритма введено понятие слабого ключа, то есть основного ключа, порождающего 16 одинаковых раундовых ключей. В [1, с. 298] для r-раундового блочного алгоритма это понятие обобщено до ß-слабого ключа, порождающего в наборе раундовых ключей q1,... ,qr ровно ß различных элементов, 1 ^ ß < r. Показано, что при определённых условиях использование слабых ключей может привести к негативным последствиям с точки зрения обеспечения конфиденциальности данных. Криптографические свойства ИБШ считаются хорошими, если шифрующие подстановки близки по свойствам к случайным подстановкам, в частности, когда набор раундовых ключей q1 , . . . , qr есть случайная бесповторная
выборка из множества двоичных векторов заданной размерности. В связи с этим возникает задача построения ключевого расписания, исключающего возможность повторений раундовых ключей в генерируемом наборе.
1. Постановка задачи
Рассмотрим ключевое расписание в для итеративного г-раундового блочного алгоритма, п,т,г Е N. Функция в : Уп ^ Утг отображает основной п-битовый ключ к = (к1,... , кп) в набор т-битовых раундовых ключей д1,... ,дг. Функцию в зададим системой координатных функций |в1,... ,вг}, где в г : Уп ^ Ут отображает основной п-битовый ключ в раундовый ключ дг, г = 1,... ,г. Обычно выполнены соотношения т < п < тг, при этих соотношениях функция в не сюръективная и, следовательно, система функций {в1,... ,вг} алгебраически зависимая.
Требуется построить функцию в со свойством: при любом ключе (к1,..., кп)ЕУп набор в1(к1,... , кп),... ,вг (к1,... , кп) состоит из г различных т-мерных векторов. Такую функцию в назовем ключевым расписанием без слабых ключей. В [2] такая функция построена на основе генератора «1-2 шага».
2. Бесповторность последовательностей и автономных автоматов
Последовательности X^ = {жо,ж1,...} над конечным множеством X однозначно соответствует последовательность г-грамм Х^ = {(хг,хг+1,... ,хг+г-1)}, где г = 0,1,..., / — г для конечной последовательности X^ длины I > г и г = 0,1, 2,..., если X^ бесконечная. Назовём г-грамму (х0,х1,... ,хг-1) бесповторной, если хг = х^ при г = ], г,] Е 0,1,... ,г — 1. Последовательность назовём г-бесповторной, если последовательность состоит из бесповторных г-грамм (тогда является р-бесповторной, где 1 ^ р ^ г). Показателем бесповторности (обозначается urpX^) назовём наибольшее г, при котором является г-бесповторной.
Из определений следует, что периодическая последовательность с дли-
ной периода Ь является г-бесповторной, если бесповторными являются г-граммы
(xi, хг+1, . . . , хг+г-1) , г = 0, ~1, . . . — 1.
Пусть А = (Б,У,к,/) —перестановочный автономный автомат, где Б, У — соответственно внутренний и выходной алфавиты; к : Б ^ Б — биективная функция переходов; f : Б ^ У — функция выходов. Известно, что автомат А при начальном состоянии в0, проходя периодическую последовательность состояний {во,в1, ... , вТ-1} с длиной периода т, генерирует периодическую выходную последовательность {у0,у1,... , уТ-1} с длиной периода Ь, где Ь делит т, уг = f (вг), г = 0,1,...
Рассмотрим слабо инициальный автомат [1, с. 148] (А,Ш) = ((Б,Ш),У,к^'), 0 = = Ш С Б, где Ш — множество допустимых начальных состояний автомата. В частности, при фиксированном начальном состоянии в Е Б имеем инициальный автомат (обозначаемый А8).
Автомат А (автомат (А, Ш)) называется г-бесповторным, если г-бесповторной является выходная последовательность автомата при любом начальном состоянии в Е Б (в Е Ш). Показателем бесповторности автомата А (автомата (А,Ш), инициального автомата А8) назовём наибольшее натуральное г, такое, что выходная последовательность автомата А является г-бесповторной при любом начальном состоянии в Е Б (при любом в Е Ш, при фиксированном в Е Б). Обозначим показатели бесповторности автоматов А, (А, Ш) и А3 соответственно через игрА, игр(А, Ш) и игрА^.
Утверждение 1.
а) urpA = min{urpAs}, urp(A, W) = min{urpAs};
ses sew
б) urp As не превышает длины периода выходной последовательности автомата As;
в) если состояния s и z принадлежат общему циклу графа автомата A, то urpAs = urpAz.
3. Схема ключевого расписания без слабых ключей
Пусть p,m, u Е N, где 1 < p ^ u ^ r. Обозначим A = (Vp,V„, h, f) — автономный автомат, где Vp — внутренний алфавит, Vu — выходной алфавит, h : Vp ^ Vp — функция переходов, f : Vp ^ Vu — функция выходов; G = (V^, Vm, ф) — автомат с постоянной памятью [1, с. 148], т.е. внутренне автономный автомат с тождественной функцией переходов, где Vu — входной алфавит, Vum — внутренний алфавит, Vm — выходной алфавит. Определим функцию выходов ф : Vu х Vum ^ Vm — если в памяти автомата G записана система векторов k(1),..., k(u) из Vm, то ф(а, k(1),..., k(u)) = a1 k(1) ф ... ф auk(u) при входном символе a = (а1,..., au) Е Vu.
Рассмотрим последовательное соединение управляющего автономного автомата A и генерирующего автомата G, обозначаемое A ^ G. Представим n-битовый секретный ключ k в виде набора m-битовых подключей: k = (k(1),... , k(u)).
Теорема 1. Если автомат As генерирует t-бесповторную периодическую последовательность с длиной периода t ив памяти автомата G записана линейно независимая система векторов k(1),..., k(u), то автомат (A ^ G)z генерирует при z = (s,k(1),..., k(u)) t-бесповторную периодическую последовательность с длиной периода t и urp(A ^ G)z = t.
Доказательство. Выходная последовательность автомата A ^ G состоит из элементов линейной оболочки (k(1),... , k(u)). Если a, в Е Vu и a = в, то ф^,^1), . ..,k(u)) = ф(в, k(1),... , k(u)) в силу линейной независимости системы векторов Тогда в силу t-бесповторности выходной последовательности автомата As последовательность {ф(а^, k(1),... , k(u)) : i = 0,1,...,t — 1} состоит из различных векторов, то есть автомат (A ^ G)z является t-бесповторным. Вместе с тем ф(а,, k(1),..., k(u)) = ф(аж, k(1),..., k(u)), i = 0,1,..., значит, urp(A ^ G)z = t. ■
4. Выбор параметров ключевого расписания без слабых ключей
Рассмотрим данную схему в качестве альтернативы ключевому расписанию блочного шифра ГОСТ 28147-89. Параметры в этом случае принимают значения p = u = 8, m = 32. Автомат A построим на основе линейного регистра сдвига длины 8 с примитивным характеристическим многочленом, выходными символами являются 8-граммы (байты) линейной рекуррентной последовательности. Следовательно, автомат A генерирует 255-бесповторную последовательность байтов. В соответствии с теоремой 1 автомат (A ^ G)z при любом ненулевом состоянии s автомата A и линейно независимой системе векторов
генерирует 255-бесповторную периодическую последовательность 32-битовых векторов с длиной периода 255 и urp(A ^ G)z = 255.
Для ключевого расписания без слабых ключей 32-раундового блочного шифра достаточно взять любую бесповторную выборку размера 32 из выходной последовательности автомата (A ^ G)z, полученную при любом ненулевом состоянии s автомата A.
Ограничение на секретный ключ, связанное с линейной независимостью векторов, не является сильным. Если векторы
выбраны случайно равновероятно
7
из У32, то вероятность линейной независимости системы равна П(1 — 2г-32), то есть
г=о
превышает 1 — 224.
ЛИТЕРАТУРА
1. Фомичев В. М. Методы дискретной математики в криптологии. М.: Диалог-МИФИ, 2010. 424 с.
2. Романько Д. А., Фомичев В. М. О способах построения криптографических генераторов с заданным показателем бесповторности выходных последовательностей // Прикладная дискретная математика. Приложение. 2016. №9. С. 65-67.
УДК 004.056.55 Б01 10.17223/2226308Х/9/29
КРИПТОАНАЛИЗ КРИПТОСИСТЕМЫ МАК-ЭЛИСА, ПОСТРОЕННОЙ НА (к — 1)-ПОДКОДАХ КОДА РИДА — МАЛЛЕРА
И. В. Чижов, М. А. Бородин
Описаны два вида криптосистем Мак-Элиса, построенных на подкодах кода Рида— Маллера. Изучен вопрос эквивалентных ключей для этих криптосистем. Получен результат о сводимости одной криптосистемы к другой. Приведены алгоритмы, которые позволяют применить атаку Чижова — Бородина к рассматриваемым криптосистемам для некоторых параметров кодов Рида — Маллера.
Ключевые слова: криптосистема Мак-Элиса, подкоды Рида — Маллера, автоморфизмы кодов Рида — Маллера, произведение Шура, квадрат кода.
Криптосистема Мак-Элиса предложена в 1978 г. Р. Дж. Мак-Элисом. Её стойкость основана на предположении сложности декодирования кода общего положения. Оригинальная криптосистема Мак-Элиса строится на двоичных кодах Гоппы. Для повышения эксплуатационных характеристик В. М. Сидельников предложил использовать коды Рида — Маллера [1]. Однако в 2007 г. Л. Миндера и А. Шокроллахи предложили достаточно эффективную атаку на такую криптосистему [2]. Кроме того, в 2013г. Бородин и Чижов ещё больше понизили стойкость этой криптосистемы, а также построили полиномиальную атаку в случае использования кода Рида — Маллера ЯМ(г,т) с такими параметрами, что (г,т — 1) = 1 [3].
Бывает, что атаки на кодовые криптосистемы, работающие в случае использования полного кода, оказываются бесполезными в случае использования некоторых подкодов кода. Так была предложена криптосистема Бергера — Луадро, построенная на подко-дах кода Рида — Соломона. В работе рассматриваются два аналога криптосистемы Бергера —Луадро, построенных на (к — 1)-подкодах кода Рида —Маллера ЯМ(г,т).
Пусть Уп — множество всех двоичных векторов длины п. Известно, что с каждой булевой функцией f (х1,х2,... ,хт) : Ут ^ У1 можно связать вектор значений Qf = ^(0, 0,..., 0), f (0,0,..., 1),..., f (1,1,..., 1)). В дальнейшем не будем делать различий в обозначениях между булевой функцией и её вектором значений. Каждая булева функция может быть представлена полиномом Жегалкина: f (х1,х2,... ,хт) = = 0 9f (и)хи, здесь хи = х^1 хи,2 ... хт и х^ = хг, если иг = 1, и х^ = 1,
и=(и1,и2,...,ит)еУт
если иг = 0, а gf (и) —некоторая булева функция.
Определение 1. Степенью булевой функции называется наименьшее целое положительное число й, такое, что gf (и) = 0 для всех и веса больше й, т. е. '^(и) > й.