Способ генерации случайных чисел

Изобретение относится к криптографии и средствам защиты информации от несанкционированных действий, разграничения доступа несанкционированного ознакомления, изменения содержания при хранении и передаче информации и может применяться для быстрой генерации случайных последовательностей с большим периодом. Техническим результатом является обеспечение быстрой программной реализации генерации случайных последовательностей для больших размеров периода N, а также непредсказуемости генерируемой последовательности. Способ заключается в генерации случайных чисел с использованием регистра сдвига с обратной связью, элементарным разрядом которого является q-ичный символ (q=2l, l - двоичная длина символа) при длине регистра n q-ичных разрядов, в цепях обратной связи используют нелинейные двухпараметрические операции над q-ичными символами F (ub, ud) на основе случайных таблиц замены, для генерации очередного случайного значения вычисляют значения z1=F(ui, uj), z2=F(ut, um), zg=F(z1, z2), где ui, uj, ut, um - значения заполнения соответствующих разрядов регистра, значение результата в цепях обратной связи zg записывается в g-й разряд регистра сдвига и является очередным результатом генерации случайных чисел, после чего производится сдвиг содержимого регистра на один q-ичный разряд. 2 з.п. ф-лы.

Реферат

Изобретение относится к криптографии и средствам защиты информации от несанкционированных действий (НСД), разграничения доступа несанкционированных ознакомления, изменения содержания (модификации) при хранении и передаче информации и может применяться для быстрой генерации случайных последовательностей с очень большим периодом, с высокой степенью статистического соответствия закону равномерного распределения и качеством непредсказуемости таких последовательностей.

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

Известны способы генерации случайных (квазислучайных) последовательностей на основе двоичных регистров с обратной связью, использующие операции сложения по модулю два в соответствии с описывающим закон обратной связи примитивным полиномом Q(X) степени n. При правильном выборе полинома такой регистр сдвига может обеспечить “последовательность максимальной длины”, связанную с двоичной длиной регистра n соотношением между периодом N и длиной регистра n следующего вида N=2n-1. Однако такие генераторы не обеспечивают быстрой программной реализации для больших размерах периода N, не обладают свойствами непредсказуемости генерируемой последовательности, что не обеспечивает криптографической стойкости при использовании таких генераторов для шифрования информации.

В соответствии с изобретением генерацию случайных чисел выполняют в регистре сдвига с обратной связью, элементом которого является не один двоичный разряд (бит), а q-ичный символ длиной l бит символ (q=2l, l - двоичная длина символа). При программной реализации в компьютере удобно в качестве такого символа использовать один или два байта информации (l=8 или l=16 бит). Сдвиг и обработка информации в таком регистре выполняется q-ичными символами, т.е. единичный сдвиг в регистре выполняется на l бит, например на 1 или 2 байта информации (при l=8 или l=16 бит соответственно). В цепи обратной связи регистра сдвига обработка информации выполняется над q-ичными символами с помощью пирамидальной схемы из не менее трех двухпараметрических операций над q-ичными символами F (ub, ud) на основе случайных таблиц замены. Операндами этой операции являются значения q-ичных символов, записанные в данном такте в ячейках регистра сдвига ub и ud, то есть с номерами b и d. Для регистра длиной n q-ичных символов выбирается 5 значений номеров таких символов i, j, t, m, g со значениями от 0 до n-1. Первая пара значений указывает номера отводов (номеров ячеек регистра) для выполнения первой операции z1=F (ui, uj), вторая пара значений указывает номера отводов (номеров ячеек регистра) для выполнения второй операции z2=F (ut и um), пятое значение указывает номер ячейки регистра сдвига, в которую записывается результат выполнения третьей операции Zg=F (z1, z2), операндами которой являются результаты выполнения первых двух операций.

Операции F (ub, ud) в цепях обратной связи строят на основе таблицы Тк, содержащей 2l неповторяющихся значений двоичных комбинаций длиной l; при выполнении операции находят в таблице значение первого операнда ub и считывают из таблицы значение результата преобразования, которое отстоит на число строк, совпадающее со значением второго операнда ud от строки со значением первого операнда.

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

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

Предлагаемый способ, характеризуемый тем, что начальное заполнение регистра сдвига длиной n l бит и трех таблиц случайной замены общей длиной 3×(2l)l бит, является ключом (параметром настройки) датчика.

Описанный способ обладает следующими преимуществами:

- высокая скорость обработки информации;

- обеспечение после шифрования квазислучайной последовательности сигналов, независимо от статистики отдельных букв в исходном тексте;

- сложное преобразование, не имеющее никакого другого формального описания, кроме описания заполнения кодовой таблицы Тк;

- возможность рассматривать начальное заполнение таблицы как ключ шифрования.

Источник информации

1. Романец Ю.В., Тимофеев П.А. Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. - М.: Радио и связь. 1999.

1. Способ генерации случайных чисел с использованием n-разрядного регистра сдвига с обратной связью, разрядом которого выбран q-ичный символ (q=2l, l=8, 16 бит), в цепях обратной связи осуществляют не менее трех двухпараметрических операций над q-ичными символами на основе случайных таблиц замены Тк, каждая из которых содержит 2l неповторяющихся значений двоичных комбинаций длиной l, начальное заполнение регистра сдвига с обратной связью и таблиц случайной замены выполняют от физического датчика случайных чисел неповторяющимися значениями случайных чисел, для чего сравнивают очередное значение случайного числа с ранее записанными значениями случайных чисел, при совпадении нового значения числа с любым из ранее записанных, новое значение отбрасывают, при несовпадении - записывают в очередной разряд регистра сдвига и очередную строку таблицы замены, для генерации очередного случайного числа выбирают пять значений, указывающих номера разрядов регистра сдвига, первая и вторая пары значений указывают номера разрядов регистра сдвига для выполнения соответственно первой и второй операций, операндами третьей операции являются результаты выполнения первых двух операций, операндами которых являются значения q-ичных символов, записанные в данном такте в разрядах регистра сдвига с указанными номерами, для выполнения всех операций находят в используемой таблице Тк значение первого операнда и считывают из таблицы Тк значение, которое отстоит на число строк используемой таблицы Тк, совпадающее с двоичным значением второго операнда, результат выполнения третьей операции, являющийся очередным результатом генерации, записывают в последний выбранный разряд регистра сдвига, после чего производят сдвиг содержимого регистра сдвига на один q-ичный разряд.

2. Способ по п.1, отличающийся тем, что операцию сдвига на один q-ичный разряд осуществляют изменением на единицу по модулю длины регистра значений номеров разрядов.

3. Способ по п.1, отличающийся тем, что начальное заполнение регистра сдвига длиной nl бит и трех таблиц случайной замены Тк общей длиной 3×(2l)l бит является ключом или параметром настройки датчика случайных чисел.