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

Классы МПК:G06F7/58 генераторы случайных или псевдослучайных чисел
Автор(ы):
Патентообладатель(и):Федеральное государственное учреждение "Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю" (RU)
Приоритеты:
подача заявки:
2009-10-05
публикация патента:

Изобретение относится к криптографии и защите информации от несанкционированного доступа, может применяться для генерации случайных чисел. Техническим результатом является улучшение статистических свойств генерируемой последовательности за счет устранения периодичности. Способ заключается в следующем: заполняют таблицу случайной замены от физического датчика случайных чисел неповторяющимися значениями случайных чисел, используют значения случайных чисел таблицы как параметры броуновских частиц, имитируют движение броуновских частиц внутри области А путем периодического пересчета через промежуток времени параметров броуновских частиц в соответствии с законами движения броуновских частиц, сохраняют пересчитанные параметры в таблице случайной замены; выделяют область А', представляющую собой совокупность всех точек области А, в которых может находиться центр любой броуновской частицы; разбивают область А' на М равных по площади кусочков, выбирают ключевые кусочки аi; формируют значение i-го двоичного разряда случайного двоичного числа Z путем анализа наличия центров броуновских частиц в ключевом кусочке аi, при этом присваивают i-му двоичному разряду числа Z значение 1, если в ключевом кусочке аi находится центр хотя бы одной броуновской частицы, присваивают значение 0 в противном случае. 3 ил. способ генерации случайных чисел, патент № 2424551

способ генерации случайных чисел, патент № 2424551 способ генерации случайных чисел, патент № 2424551 способ генерации случайных чисел, патент № 2424551

Формула изобретения

Способ генерации случайных чисел, заключающийся в начальном заполнении таблицы случайной замены, выполняемом от физического датчика случайных чисел неповторяющимися значениями случайных чисел, для чего сравнивают очередное значение случайного числа с ранее записанными значениями случайных чисел, отбрасывают новое значение при совпадении нового значения числа с любым из ранее записанных, записывают в очередную ячейку таблицы замены - при несовпадении, отличающийся тем, что значения случайных чисел skn, записанные в k-й строке n-го столбца таблицы случайной замены, используют как n-й параметр рn k-й броуновской частицы qk, где k=1,способ генерации случайных чисел, патент № 2424551 , К, причем К - количество броуновских частиц, a n=3,способ генерации случайных чисел, патент № 2424551 , N, причем N - количество параметров броуновских частиц, при этом параметры p1 и p2 используют как координаты в двумерном пространстве xk, уk , а параметр p3 - как угол вектора движения способ генерации случайных чисел, патент № 2424551 k броуновской частицы qk, причем координаты хk, уk частицы qk такие, что qk располагается внутри области моделирования броуновского движения А, а угол вектора движения способ генерации случайных чисел, патент № 2424551 kспособ генерации случайных чисел, патент № 2424551 [0; 2способ генерации случайных чисел, патент № 2424551 ] рад; имитируют движение броуновских частиц qk внутри области А, путем периодического пересчета через промежуток времени способ генерации случайных чисел, патент № 2424551 t параметров рn броуновских частиц qk в соответствии с законами движения броуновских частиц в замкнутом пространстве с абсолютно упругими соударениями частиц между собой и со стенками области моделирования броуновского движения, с последующим сохранением пересчитанных параметров рn броуновских частиц qk в виде числа skn таблицы случайной замены; выделяют внутри области моделирования броуновского движения А область А', представляющей собой совокупность всех точек области А, в которых может находиться центр любой броуновской частицы; разбивают выделенную область А' на М равных по площади кусочков, причем Мспособ генерации случайных чисел, патент № 2424551 2, из которых выбирают ключевые кусочки аi, при этом i=1,способ генерации случайных чисел, патент № 2424551 , I, где I - количество разрядов генерируемого случайного числа, причем 2способ генерации случайных чисел, патент № 2424551 Iспособ генерации случайных чисел, патент № 2424551 М; формируют значение i-го двоичного разряда очередного I-разрядного случайного двоичного числа Z путем анализа наличия центров броуновских частиц в ключевом кусочке аi выделенной области А', присваивают i-му двоичному разряду числа Z значение 1, если в ключевом кусочке аi находится центр хотя бы одной броуновской частицы, присваивают i-му двоичному разряду числа Z значение 0 в противном случае, возвращают сформированное I-разрядное случайное двоичное число Z.

Описание изобретения к патенту

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

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

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

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

Техническим результатом заявляемого изобретения является генерация последовательности чисел более случайных, чем в прототипе, близкой по характеристикам к белому шуму [6, стр.172-180].

Указанный технический результат достигается тем, что в известном способе генерации случайных чисел, заключающемся в начальном заполнении таблицы случайной замены, выполняемом от физического датчика случайных чисел неповторяющимися значениями случайных чисел, для чего сравнивают очередное значение случайного числа с ранее записанными значениями случайных чисел, отбрасывают новое значение при совпадении нового значения числа с любым из ранее записанных, записывают в очередную ячейку таблицы замены - при несовпадении, согласно изобретению значения случайных чисел skn, записанные в k-й строке n-го столбца таблицы случайной замены, используют как n-й параметр рn k-й броуновской частицы qk, где k=1,способ генерации случайных чисел, патент № 2424551 , K, причем K - количество броуновских частиц, а n=3,способ генерации случайных чисел, патент № 2424551 , N, причем N - количество параметров броуновских частиц, при этом параметры р1 и р2 используют как координаты в двумерном пространстве xk, yk , а параметр р3 - как угол вектора движения способ генерации случайных чисел, патент № 2424551 k броуновской частицы qk, причем координаты xk, yk частицы qk такие, что qk располагается внутри области моделирования броуновского движения А, а угол вектора движения способ генерации случайных чисел, патент № 2424551 kспособ генерации случайных чисел, патент № 2424551 [0; 2способ генерации случайных чисел, патент № 2424551 ] рад; имитируют движение броуновских частиц qk внутри области А путем периодического пересчета через промежуток времени способ генерации случайных чисел, патент № 2424551 t параметров pn броуновских частиц qk в соответствии с законами движения броуновских частиц в замкнутом пространстве с абсолютно упругими соударениями частиц между собой и со стенками области моделирования броуновского движения, с последующим сохранением пересчитанных параметров pn броуновских частиц qk в виде числа skn таблицы случайной замены; выделяют внутри области моделирования броуновского движения А область А', представляющей собой совокупность всех точек области А, в которых может находиться центр любой броуновской частицы; разбивают выделенную область А' на М равных по площади кусочков, причем Мспособ генерации случайных чисел, патент № 2424551 2, из которых выбирают ключевые кусочки ai при этом i=1,способ генерации случайных чисел, патент № 2424551 , I, где I - количество разрядов генерируемого случайного числа, причем 2способ генерации случайных чисел, патент № 2424551 Iспособ генерации случайных чисел, патент № 2424551 М; формируют значение i-го двоичного разряда очередного I-разрядного случайного двоичного числа Z путем анализа наличия центров броуновских частиц в ключевом кусочке ai выделенной области А', присваивают i-му двоичному разряду числа Z значение 1, если в ключевом кусочке ai находится центр хотя бы одной броуновской частицы, присваивают i-му двоичному разряду числа Z значение 0 в противном случае, возвращают сформированное I-разрядное случайное двоичное число Z.

Эти отличительные признаки по сравнению с прототипом позволяют сделать вывод о соответствии заявляемого технического решения критерию "новизна".

Сущность изобретения заключается в следующем. Движение броуновских частиц является случайным и имеет плоский ("белый") спектр мощности (2, стр.199). За счет имитации в предлагаемом способе броуновского движения спектр мощности генерируемых чисел близок к спектру мощности "белого" шума. При этом генерируемая последовательность будет тем ближе по своим статистическим свойствам к "белому" шуму, чем точнее будут определяться координаты движения броуновских частиц. Координаты могут быть дробными и рассчитываться с любой необходимой точностью.

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

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

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

блок 1 - физический датчик случайных чисел;

блок 2 - запоминающее устройство (таблица случайной замены);

блок 3 - тактовый генератор (таймер);

блок 4 - вычислительное устройство;

блок 5 - устройство чтения случайных чисел.

Назначение блоков понятно из их названия.

Для простоты описания работы устройства будем использовать следующие условия и ограничения:

- в качестве области моделирования броуновского движения используют прямоугольную область;

- таблица случайной замены в каждой строке содержит координаты в двумерном пространстве xk, yk и угол вектора движения способ генерации случайных чисел, патент № 2424551 k броуновских частиц qk, где 1способ генерации случайных чисел, патент № 2424551 kспособ генерации случайных чисел, патент № 2424551 K, K - количество броуновских частиц, причем rспособ генерации случайных чисел, патент № 2424551 xkспособ генерации случайных чисел, патент № 2424551 L-r, rспособ генерации случайных чисел, патент № 2424551 ykспособ генерации случайных чисел, патент № 2424551 Н-r; xk, yk - действительные числа, где L и Н - соответственно длина и высота прямоугольной области моделирования броуновского движения, r - радиус броуновской частицы, 0способ генерации случайных чисел, патент № 2424551 способ генерации случайных чисел, патент № 2424551 k<2способ генерации случайных чисел, патент № 2424551 рад (фиг.2);

- внутри области моделирования броуновского движения размера L×H выделяют область А размером (L-2·r)×(H-2·r), при этом центр области моделирования броуновского движения совпадает с центром выделенной области А;

- выделенную область А разбивают на 2n равных строк и 2n равных столбцов, где n - натуральное число, причем каждая ячейка aij, где i=1способ генерации случайных чисел, патент № 2424551 2n - количество строк, j=1способ генерации случайных чисел, патент № 2424551 2n - количество столбцов выделенной области А имеет размеры l×h, где l=(L-2·r)/2n, h=(H-2·r)/2 n.

Осуществляют начальное заполнение таблицы случайной замены 2 от физического датчика случайных чисел 1 неповторяющимися значениями случайных чисел, для чего сравнивают очередное значение случайного числа с ранее записанными значениями случайных чисел, отбрасывают новое значение при совпадении нового значения числа с любым из ранее записанных, записывают в очередную ячейку таблицы замены - при несовпадении. После заполнения таблицы случайной замены передают сигнал инициализации работы устройства на блок 3. С блока 3 поступают тактовые сигналы на вычислительное устройство 4, которое при поступлении очередного тактового сигнала осуществляет пересчет изменяемых параметров xk, yk и способ генерации случайных чисел, патент № 2424551 k всех броуновских частиц. С помощью блока 5 считывают очередное двоичное 2n-разрядное случайное двоичное число Z путем анализа наличия броуновских частиц, например, в первой строке выделенной области А следующим образом: присваивают j-му двоичному разряду числа Z значение 1, если в ячейке a 1j находится хотя бы одна броуновская частица, то есть существует хотя бы одна броуновская частица qk такая, что ее координаты удовлетворяют условиям r+(j-1)·lспособ генерации случайных чисел, патент № 2424551 xk<r+j·l, r+(j-l)·hспособ генерации случайных чисел, патент № 2424551 yk<r+j·h, в противном случае присваивают j-му двоичному разряду числа Z значение 0.

Для улучшения статистических свойств генерируемой случайной последовательности можно использовать:

- считывание случайных чисел из произвольной строки или столбца таблицы;

- в качестве дополнительных параметров броуновских частиц q k, хранимых в таблице случайной замены и учитываемых при имитации движения: радиусы rk, массы mk и скорости движения способ генерации случайных чисел, патент № 2424551 k броуновских частиц, где 1способ генерации случайных чисел, патент № 2424551 kспособ генерации случайных чисел, патент № 2424551 K, K - количество броуновских частиц;

- более сложную форму области моделирования броуновского движения, например, круглую (как показано на фиг.3), кольцеобразную или несимметричную.

Для повышения скорости генерации случайных чисел можно, например, осуществлять считывание случайных чисел не только из первой строки, но также в каждом столбце и в каждой строке таблицы, то есть генерировать сразу 2n+1 случайных чисел.

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

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

В качестве физического датчика случайных чисел может быть использована частота процессора ЭВМ, запоминающее устройство (таблица случайной замены) может быть реализовано на базе любого машиночитаемого носителя информации [10, 11], тактовый генератор (таймер) - на базе кварцевого генератора и делителя частоты [5, 9], вычислительное устройство и устройство чтения случайных чисел - в виде специализированных устройств на микроконтроллерах по принципам и методам, описанным в [5-9], взаимное соединение блоков может быть реализовано по стандартным схемам подключения устройств [12].

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

1. Осмоловский С.А. Способ генерации случайных чисел. Патент на изобретение № 2246129 от 10.02.2005.

2. Шредер. М. Фракталы, хаос, степенные законы. Миниатюры из бесконечного рая. Ижевск: НИЦ "Регулярная и хаотическая динамика", 2001. - 528 с.

3. P.M.Кроновер. Фракталы и хаос в динамических системах. Основы теории. М.: Постмаркет, 2000. - 352 с.

4. Нечаев И.А. Конструкции на логических элементах цифровых микросхем. - М.: "Радио и связь", 1992. - 123 с.

5. Белов А.В. Создаем устройства на микроконтроллерах. - СПб.: Наука и техника, 2007. - 304 с.

6. Конструкторско-технологическое проектирование электронной аппаратуры. Учебник для вузов. Серия: Информатика в техническом университете. Под ред. Шахнова В.А. - М.: Изд-во МГТУ им. Н.Э.Баумана, 2003. - 528 с.: ил.

7. Суворова Е., Шейнин Ю. Проектирование цифровых систем на VHDL. Серия "Учебное пособие". - СПб.: БХВ-Петербург, 2003. - 576 с.: ил.

8. Овчинников В.А. Алгоритмизация комбинаторно-оптимизационных задач при проектировании ЭВМ и систем. Серия: Информатика в техническом университете. - М.: Изд-во МГТУ им. Н.Э.Баумана, 2001. - 288 с.: ил.

9. Новиков Ю.В. Основы цифровой схемотехники. Базовые элементы и схемы. Методы проектирования. - М.: Мир, 2001. - 379 с.

10. Левин В.И. Носители информации в цифровом веке / Под общ. ред. Д.Г.Красковского. - М.: КомпьютерПресс, 2000. - 256 с.: ил.

11. Гук М. Дисковая подсистема ПК. - СПб.: Питер, 2001. - 336 с.: ил. Пей Ан. Сопряжение ПК с внешними устройствами. - М.: ДМК Пресс, 2003. - 320 с. ил.

Класс G06F7/58 генераторы случайных или псевдослучайных чисел

способ и устройство детектирования -  патент 2506631 (10.02.2014)
способ нелинейного трехмерного многораундового преобразования данных dozen -  патент 2503994 (10.01.2014)
генератор случайных чисел на основе трехзначной логики -  патент 2495479 (10.10.2013)
генератор гиперхаотических колебаний -  патент 2472210 (10.01.2013)
способ формирования регулярных последовательностей с элементами, составленными из двоичных сигналов -  патент 2469382 (10.12.2012)
способ формирования нерегулярных последовательностей с элементами, составленными из двоичных сигналов -  патент 2467378 (20.11.2012)
имитатор бликовых переотражений лазерного излучения морской поверхностью -  патент 2451302 (20.05.2012)
генератор псевдослучайных последовательностей -  патент 2446444 (27.03.2012)
формирование последовательностей скремблирования в системе связи -  патент 2442278 (10.02.2012)

генерация случайных чисел с использованием хаоса с непрерывным временем -  патент 2440602 (20.01.2012)
Наверх