УДК 519.722 DOI 10.17223/2226308X/9/27
ПРИМЕНЕНИЕ ДВУЛИКИХ ПРОЦЕССОВ К ГЕНЕРИРОВАНИЮ
ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ1
Б. Я. Рябко
Описываются случайные процессы, у которых энтропия может быть сколь угодно близка к нулю, но при этом, как для полностью случайных последовательностей, частота встречаемости любого двоичного слова u стремится к 2-|u|, где |u| —длина u. Это позволяет строить генераторы псевдослучайных чисел с доказанными свойствами, что представляет большой интерес для криптографических систем защиты информации.
Ключевые слова: случайные числа, псевдослучайные числа, энтропия Шеннона.
Генераторы случайных и псевдослучайных чисел (ГСЧ и ГПСЧ) находят широкое применение в системах защиты информации, причём используемые в таких системах генераторы должны удовлетворять целому ряду требований, одно из которых — статистическая неотличимость порождаемых генератором последовательностей от бернуллиевских с p(0) = p(1) = 1/2 [1]. С другой стороны, ГПСЧ по своему построению существенно отличаются от бернуллиевских процессов: энтропия (на символ) у выходной последовательности значительно меньше одного бита, тогда как у полностью случайной — один (см. описание схемы ГПСЧ, например, в [2, 3]). Напомним определение энтропии стационарного процесса условная энтропия порядка m, m = 1,2,..., и (предельная) энтропия даются равенствами hm = -Y, M«) S Mv/u)log Mv/u), hœ = lim hm [4].
«€{0,1}™-! ve{o,i}
В работе описываются процессы, для которых с вероятностью 1 в порождаемой последовательности ... для каждого двоичного слова u выполняется равенство
lim vt(u)/(í — |u|) = 2-|u|,
где vt(u) —число встреч слов u в последовательности x1. ..X|«|, x2 ... Ж|«|+1,..., xt-|u|+i. ..xt, что должно выполняться для полностью случайных последовательностей. Однако энтропия процесса может быть много меньше единицы, что обычно выполняется для ГПСЧ.
Сначала определим два семейства процессов Tk,n и Tk,n, где k =1, 2,... и п G (0,1) — параметры. Оба процесса — марковские цепи связности, или памяти k, которые генерируют буквы из алфавита {0,1}. Определим их матрицы переходов по индукции: матрица для Т1п определяется равенствами PTl п (0/0) = п, PTl П (0/1) = 1 — п (очевидно, PTl п(1/0) = 1 — п, PTl п(1/1) = п). Процесс определяется равенствами Рт1 п (0/0) = 1 — п, Pfi п (0/1) = п. Предположим теперь, что Tk,n и Tk,n определены. Тогда Tfc+1,n и Tk+1,n определяются так:
PTfc+i (0/0u) = Pfk (0/u), PTfc+i (1/0u) = Pf(k,n) (1/u),
PT(k+1,n)(0/1u) = PT(fc,n) (0/u) , PT(k+1,n)(1/1u) = PT(fc,n) (1/u) ,
1 Работа поддержана грантом РФФИ, проект №15-29-07932.
Математические методы криптографии
69
и наоборот,
РТ(к+1,п)(0/0и) = ^(ОМ РТ(к+1,п)(1/0и) = -^(к^М
РТ(к+1,п) (0/1и) = Рт(к,^0^ РТ(к+1,п)(1/1и) = Рт(к,п)(1/и) для каждого и Е {0,1}к (здесь V« — конкатенация слов V и и). Например,
Рт(2,п)(0/00) = П, Рт(2,п)(0/01) = 1 - П, Рт(2,п)(0/10) = 1 - П, Рт(2,п)(0/11) = П.
Будем считать, что начальное распределение равномерное на {0,1}к, т. е. Р{х1... Хк = = и} = 2-к для и Е {0,1}к.
Теорема 1. Пусть последовательность х1х2 ... порождается процессом Т (к,п) (или Т(к,п)), к ^ 1 и и — двоичное слово длины к. Тогда
I) имеет место
Р (х,-+1 ...х,+ = и) = 2-|и|; (1)
II) для каждого п Е (0,1) энтропия кк процессов Т(к,П) и Т(к,П) равна 1 бит, тогда как предельная энтропия кравна — (п log2 п + (1 — п) log2(1 — п)).
Определение 1. Назовём случайный процесс двуликим к-го порядка, если для него выполняются свойства г и гг.
Поясним название «двуликие». Если мы рассматриваем слова длины, не превосходящей к, то они все равновероятны (энтропия равна 1), т.е. такие, какие должны быть у полностью случайного процесса. С другой стороны, если длина слова больше к, то энтропия меньше единицы, распределение вероятностей слов отличается от равномерного и процесс явно не «полностью случайный».
Рассмотрим на простом примере свойства этих процессов. Возьмём возможные типичные последовательности для Т(1, п) и Т(1, п) для п = 1/5. Пусть последовательности такие: 010101101010100101... и 000011111000111111000 ... Каждая последовательность содержит примерно половину единиц и нулей и поэтому энтропия первого порядка равна 1, что должно выполняться для полностью случайной последовательности. С другой стороны, последовательности не выглядят как случайные, так как они содержат слишком длинные подпоследовательности вида 101010 ... или 000 ... 11111... Поэтому энтропия второго и высших порядков меньше 1. Другими словами, данные последовательности имитируют полностью случайные, если учитываются только слова длины 1; при большей длине это не выполняется.
Следующая теорема показывает, что, в некотором смысле, двуликих процессов довольно много.
Теорема 2. Пусть X = х1х2 ... и У = у1 у2 ... — случайные процессы и процесс % = ... задаётся равенствами г1 = х1 фу1, г2 = х2фу2,... Тогда если X — двуликий процесс к-го порядка (к ^ 1), то % тоже двуликий к-го порядка.
Двуликие процессы к-го порядка имитируют полностью случайные только при длине слова, не превосходящей к. Оказывается, существуют процессы, для которых это свойство выполняется для слов любой длины.
Теорема 3. Существуют процессы, для которых (1) выполняется для слов любой длины.
В работе показано, как на основе двуликих процессов могут быть построены ГСЧ и ГПСЧ с доказанными статистическими свойствами.
ЛИТЕРАТУРА
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 G N;
X^ = {xo, x1,...} —последовательность над множеством X;
r(A) —граф автомата Мили A;
(H) — линейная оболочка множества векторов H.
Свойства ключевого расписания, характеризующие взаимосвязи основного ключа с раундовыми ключами, являются определяющими при оценке стойкости итеративного блочного шифра (ИБШ) относительно ряда методов криптоанализа: согласования, дифференциального и др. Например, нежелательно ключевое расписание, при котором генерируемая из основного ключа последовательность раундовых ключей содержит определённое число повторяющихся элементов. Так, по отношению к основному ключу при криптографическом анализе DES-алгоритма введено понятие слабого ключа, то есть основного ключа, порождающего 16 одинаковых раундовых ключей. В [1, с. 298] для r-раундового блочного алгоритма это понятие обобщено до ^-слабого ключа, порождающего в наборе раундовых ключей q1,... , qr ровно ^ различных элементов, 1 ^ ^ < r. Показано, что при определённых условиях использование слабых ключей может привести к негативным последствиям с точки зрения обеспечения конфиденциальности данных. Криптографические свойства ИБШ считаются хорошими, если шифрующие подстановки близки по свойствам к случайным подстановкам, в частности, когда набор раундовых ключей q1,...,qr есть случайная бесповторная