RU2395834C1 - Random permutation generator - Google Patents

Random permutation generator Download PDF

Info

Publication number
RU2395834C1
RU2395834C1 RU2009104555/09A RU2009104555A RU2395834C1 RU 2395834 C1 RU2395834 C1 RU 2395834C1 RU 2009104555/09 A RU2009104555/09 A RU 2009104555/09A RU 2009104555 A RU2009104555 A RU 2009104555A RU 2395834 C1 RU2395834 C1 RU 2395834C1
Authority
RU
Russia
Prior art keywords
generator
input
control unit
output
decoder
Prior art date
Application number
RU2009104555/09A
Other languages
Russian (ru)
Inventor
Леонид Сергеевич Сотов (RU)
Леонид Сергеевич Сотов
Валерий Николаевич Харин (RU)
Валерий Николаевич Харин
Александр Львович Хвалин (RU)
Александр Львович Хвалин
Original Assignee
Государственное образовательное учреждение высшего профессионального образования "Саратовский государственный университет им. Н.Г. Чернышевского"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Государственное образовательное учреждение высшего профессионального образования "Саратовский государственный университет им. Н.Г. Чернышевского" filed Critical Государственное образовательное учреждение высшего профессионального образования "Саратовский государственный университет им. Н.Г. Чернышевского"
Priority to RU2009104555/09A priority Critical patent/RU2395834C1/en
Application granted granted Critical
Publication of RU2395834C1 publication Critical patent/RU2395834C1/en

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: in order to speed up formation of permutations in a random permutation generator which comprises series-connected analogue noise generator, pulse former and pseudorandom sequence generator on a shift-register with a control unit, the output of the control unit is connected by an n-bit data bus to a code permutation storage register which is connected by a 2n-bit data bus with an interface to a non-volatile memory controller which in turn is connected through the control output and input to the control unit. According to the invention, the generator also includes a decoder, a second pseudorandom sequence generator on a shift-register and a high-speed generator. The output of the decoder is connected to the write input of permutation code storage register. The control input of the decoder is connected to the output of the control unit, while the code input is connected to the second pseudorandom sequence generator on a shift-register, the clock input of which is electrically connected to the high-speed generator.
EFFECT: high speed operation of the device which generates unique random numbers through generation and loading elements from a set of 2n-bit numbers.
2 dwg, 1 tbl

Description

Устройство относится к вычислительной, информационно-измерительной радиотехнике и может быть использовано в системах защиты информации от несанкционированного доступа.The device relates to computing, information and measuring radio engineering and can be used in information protection systems against unauthorized access.

Известно устройство генератора n-значной псевдослучайной последовательности, содержащее n элементов И, блок управления, снабженный n выходами, первые входы которых соединены с соответствующими выходами блока управления, n сумматоров по модулю два и n регистров сдвига, причем выходы j-го (где

Figure 00000001
) и i-го разрядов первого регистра сдвига подключены соответственно к первому и второму входам первого сумматора по модулю два, выход k-го и (i+1)-го (где
Figure 00000002
,
Figure 00000003
разрядов 1-го регистра сдвига подключены соответственно к первому и второму входам 1-го сумматора по модулю два, выход первого сумматора по модулю два соединен с информационным входом одноименного регистра сдвига и с одноименным выходом блока управления, выход каждого регистра сдвига подключен к второму входу одноименного элемента И, выходы элементов И являются выходами генератора (см. авторское свидетельство СССР №2081450, МПК G06F 7/58).A device of the generator of an n-digit pseudo-random sequence containing n AND elements, a control unit equipped with n outputs, the first inputs of which are connected to the corresponding outputs of the control unit, n adders modulo two and n shift registers, and the outputs of the jth (where
Figure 00000001
) and the i-th bits of the first shift register are connected respectively to the first and second inputs of the first adder modulo two, the output of the k-th and (i + 1) -th (where
Figure 00000002
,
Figure 00000003
the bits of the 1st shift register are connected respectively to the first and second inputs of the 1st adder modulo two, the output of the first adder modulo two is connected to the information input of the same shift register and the same output of the control unit, the output of each shift register is connected to the second input of the same name of the element And, the outputs of the elements And are the outputs of the generator (see USSR author's certificate No. 2081450, IPC G06F 7/58).

При длине сдвигового регистра n можно получить 2n уникальных кодов длины n, однако они не являются случайными, так как, зная устройство генератора и текущий сгенерированный код, можно восстановить остальные коды.With the length of the shift register n, 2 n unique codes of length n can be obtained, however, they are not random, since, knowing the device of the generator and the current generated code, the remaining codes can be restored.

Известно устройство псевдослучайного генератора чисел, в котором использован сдвиговый регистр с линейной обратной связью и нелинейная схема. Устройство генерирует псевдослучайные числа с заданным распределением. Генератор имеет сдвиговый регистр, к которому подключен выход нелинейной схемы, схему установки случайных начальных значений в сдвиговый регистр с линейной обратной связью и сдвиговый регистр и сумматор для сложения предопределенных битов параллельного выхода регистра и выхода псевдослучайного потока чисел (см. патент US №5566099, МПК G06F 7/58; G09C 1/00; Н03К 3/84).A device for a pseudo-random number generator is known in which a shift register with linear feedback and a nonlinear circuit are used. The device generates pseudo-random numbers with a given distribution. The generator has a shift register, to which the output of the nonlinear circuit is connected, a circuit for setting random initial values in a shift register with linear feedback, and a shift register and adder for adding up the predefined bits of the parallel register output and the output of the pseudo-random number stream (see US patent No. 5566099, IPC G06F 7/58; G09C 1/00; H03K 3/84).

Однако данный генератор не является генератором случайных чисел, так как, зная устройство генератора и текущий сгенерированный код, можно восстановить остальные коды.However, this generator is not a random number generator, since, knowing the generator device and the current generated code, you can restore the remaining codes.

Наиболее близким к предлагаемому решению является генератор случайных чисел, содержащий генератор псевдослучайной последовательности на сдвиговом регистре длиной n с линейными обративши связями, выход которого соединен с блоком управления, аналоговый генератор шума и формирователь импульсов, один выход формирователя подключен к тактовому входу генератора псевдослучайной последовательности, а второй - к блоку управления, дополнительный сдвиговый регистр хранения перестановок чисел длиной n, выход данных, тактовый вход и вход данных которого соединены с блоком управления, интерфейс - с контроллером энергонезависимой памяти, вход и выход которого соединены с блоком управления (см. патент РФ №2340931, МПК G06F 7/58).Closest to the proposed solution is a random number generator containing a pseudo-random sequence generator on a shift register of length n with linear inverted connections, the output of which is connected to the control unit, an analog noise generator and a pulse shaper, one output of the shaper is connected to the clock input of the pseudo-random sequence generator, and the second - to the control unit, an additional shift register for storing permutations of numbers of length n, data output, clock input and data input to They are connected to the control unit, the interface to the non-volatile memory controller, the input and output of which are connected to the control unit (see RF patent No. 2340931, IPC G06F 7/58).

Недостатком данного генератора является низкое быстродействие, поскольку для качественного перемешивания данных в сдвиговом регистре хранения перестановок чисел требуется не менее (2n) операций сдвига и транспозиций.The disadvantage of this generator is its low speed, since high-quality data mixing in the shift storage register of number permutations requires at least (2 n ) shift and transposition operations.

Задачей настоящего решения является создание высокопроизводительного генератора случайных чисел для управления перестановкой в информационном потоке с целью обеспечения его конфиденциальности.The objective of this solution is to create a high-performance random number generator to control the permutation in the information stream in order to ensure its confidentiality.

Техническим результатом является обеспечение высокой скорости работы устройства, формирующего уникальные случайные числа путем генерации и загрузки элементов из множества 2n n-разрядных чисел.The technical result is to provide a high speed device that generates unique random numbers by generating and loading elements from a set of 2 n n-bit numbers.

Поставленная задача решается тем, что для ускорения формирования перестановки в генератор случайных перестановок, содержащий последовательно соединенные аналоговый генератор шума, формирователь импульсов и генератор псевдослучайной последовательности на сдвиговом регистре с блоком управления, к выходу блока управления n-разрядной шиной данных подключен регистр хранения перестановок кодов, соединенный 2n-разрядной шиной данных с интерфейсом с контроллером энергонезависимой памяти, который, в свою очередь, входом и выходом управления соединен с блоком управления, согласно решению в него дополнительно введены дешифратор, второй генератор псевдослучайной последовательности на сдвиговом регистре и быстродействующий генератор, при этом выход дешифратора соединен со входом записи регистра хранения перестановок кодов, вход управления дешифратора соединен с выходом блока управления, а вход кода - со вторым генератором псевдослучайной последовательности на сдвиговым регистре, тактовый вход которого электрически соединен с быстродействующим генератором.The problem is solved in that in order to accelerate the formation of a permutation into a random permutation generator containing an analog noise generator, a pulse shaper and a pseudo-random sequence generator on a shift register with a control unit, a code permutation storage register is connected to the output of the control unit n-bit data bus, Compound 2 n -bit data bus interface with a non-volatile memory controller which, in turn, the input and output is governed I am connected to the control unit, according to the decision, a decoder, a second pseudo-random sequence generator on the shift register and a high-speed generator are added to it, while the decoder output is connected to the write input of the code permutation storage register, the decoder control input is connected to the control unit output, and the code input - with a second pseudo-random sequence generator on a shift register, the clock input of which is electrically connected to a high-speed generator.

В результате перестановка формируется за 2n операций записи в регистр хранения перестановок кодов.As a result, the permutation is formed in 2 n write operations in the code permutation storage register.

Изобретение поясняется чертежами, где на фиг.1 приведена блок-схема устройства, на фиг.2 - схема дешифратора номера ячейки записи для n=2.The invention is illustrated by drawings, where in Fig. 1 is a block diagram of a device, in Fig. 2 is a diagram of a decoder of a recording cell number for n = 2.

1 - аналоговый генератор шума;1 - analog noise generator;

2 - формирователь импульсов;2 - pulse shaper;

3 - генератор псевдослучайной последовательности на сдвиговом регистре;3 - pseudo-random sequence generator on a shift register;

4 - блок управления;4 - control unit;

5 - регистр хранения перестановок кодов;5 - register storage permutations of codes;

6 - интерфейс с контроллером энергонезависимой памяти;6 - interface with a non-volatile memory controller;

7 - быстродействующий генератор;7 - high-speed generator;

8 - второй генератор псевдослучайной последовательности на сдвиговом регистре;8 - the second generator of a pseudo-random sequence in a shift register;

9 - дешифратор;9 - decoder;

D1 - логические элементы узлов дешифратора номера ячейки записи;D 1 - logical elements of the nodes of the decoder cell number records;

D2 - логические элементы выходных каскадов дешифратора номера ячейки записи;D 2 - logical elements of the output stages of the decoder of the recording cell number;

A1, A2 - входы дешифратора номера ячейки записи;A 1 , A 2 - inputs of the decoder of the recording cell number;

S1, S2, S3, S4 - выходы импульсов записи дешифратора номера ячейки записи;S 1 , S 2 , S 3 , S 4 - the output pulses of the recording pulse of the decoder of the number of the recording cell;

S - вход импульса записи дешифратора номера ячейки записи;S - input pulse recording decoder cell number recording;

R - вход импульса сброса триггеров логических элементов D2 дешифратора номера ячейки записи.R is the input of the reset pulse of the triggers of the logical elements D2 of the decoder of the recording cell number.

Генератор случайных перестановок состоит из аналогового генератора шума 1, соединенного через формирователь импульсов 2 с тактовым входом генератора псевдослучайной последовательности на сдвиговом регистре длиной n 3. Сдвиговый регистр 3 соединен n-разрядной шиной данных с блоком управления 4. Блок управления 4 соединен n-разрядной шиной данных с входами регистра хранения перестановок кодов 5. В состав устройства входит быстродействующий генератор импульсов 7, который электрически соединен своим выходом с вторым генератором псевдослучайной последовательности на сдвиговом регистре 8, электрически соединенным n-разрядной шиной данных с дешифратором номера ячейки записи 9, выходы которого электрически соединены с входами записи 2n n-разрядных ячеек регистра хранения перестановок кодов, а вход импульсов записи и сброса триггеров логических элементов электрически соединен с блоком управления. Блок управления 4 соединен также шиной данных и управления с интерфейсом с контроллером энергонезависимой памяти 6. В качестве интерфейса может быть использован любой стандартный интерфейс, используемый для подключения периферийных устройств к ЭВМ.The random permutation generator consists of an analog noise generator 1 connected through a pulse shaper 2 to the clock input of a pseudorandom sequence generator on a shift register of length n 3. Shift register 3 is connected by an n-bit data bus to control unit 4. Control unit 4 is connected by an n-bit bus data with inputs of the register of permutations storage of codes 5. The device includes a high-speed pulse generator 7, which is electrically connected by its output to the second pseudo-random generator th sequence in the shift register 8 are electrically connected n-bit bus data decoder room entry cell 9, the outputs of which are electrically connected to inputs of recording 2 n n-bit cells storing the permutation code register and the input of the write pulse and the reset trigger logic elements is electrically connected with control unit. The control unit 4 is also connected by a data and control bus with an interface with a non-volatile memory controller 6. Any standard interface used to connect peripheral devices to a computer can be used as an interface.

Устройство работает следующим образом.The device operates as follows.

После включения генератора сигнал от аналогового генератора шума 1 через формирователь импульсов 2 подается на тактовый вход генератора псевдослучайной последовательности на сдвиговом регистре 3, на выходах данных которого формируется псевдослучайная последовательность кодов длиной n. Сдвиг данных происходит по переднему фронту импульсов. Тактовые импульсы от быстродействующего генератора 7 поступают на второй генератор псевдослучайной последовательности 8 на сдвиговом регистре, который также формирует на своих выводах данных псевдослучайную последовательность кодов длиной n. Частота следования тактовых импульсов быстродействующего генератора 7 в 2n раз выше средней частоты следования импульсов формирователя импульсов 2. Коды второго генератора псевдослучайной последовательности 8 на сдвиговом регистре поступают на входы

Figure 00000004
дешифратора номера ячейки записи 9. Схема дешифратора для N=2 представлена на фиг.2. Каждый узел дешифрации выполнен в виде логических элементов D1 с двумя входами x1, х2 и двумя выходами u1, u2, реализующих логическую функцию
Figure 00000005
, u21×х2 и образующих двоичное дерево. Для предотвращения многократной записи данных в ячейки с одинаковым номером регистра хранения перестановок кодов выходные каскады дешифратора 9 выполнены на логических элементах D2. Логические элементы D2 имеют два входа x1, x2, два выхода u1, u2, вход сброса x1 внутреннего триггера. Триггер устанавливается в состояние высокого логического уровня при осуществлении записи данным выходным каскадом дешифратора. Представленная ниже таблица истинности логических элементов D2 иллюстрирует процесс записи кода в текущую ячейку или переноса в следующую ячейку. Если в текущем цикле работы запись в ячейку была осуществлена, данные переносятся в следующую ячейку и так далее до достижения пустой ячейки.After turning on the generator, the signal from the analog noise generator 1 through the pulse shaper 2 is fed to the clock input of the pseudo-random sequence generator on shift register 3, the data outputs of which generate a pseudo-random sequence of codes of length n. Data shift occurs on the leading edge of the pulses. The clock pulses from the high-speed generator 7 are fed to the second generator of the pseudo-random sequence 8 on the shift register, which also generates a pseudo-random sequence of codes of length n on its data outputs. The repetition rate of the clock pulses of the high-speed generator 7 is 2 n times higher than the average pulse repetition rate of the pulse shaper 2. The codes of the second generator of the pseudo-random sequence 8 on the shift register are input
Figure 00000004
the decoder of the cell number of the recording 9. The scheme of the decoder for N = 2 is presented in figure 2. Each decryption node is made in the form of logic elements D 1 with two inputs x 1 , x 2 and two outputs u 1 , u 2 that implement a logical function
Figure 00000005
, u 2 = x 1 × x 2 and forming a binary tree. To prevent multiple data recording in cells with the same number of the code permutation storage register, the output stages of the decoder 9 are made on logic elements D 2 . Logic elements D 2 have two inputs x 1 , x 2 , two outputs u 1 , u 2 , reset input x 1 of an internal trigger. The trigger is set to a high logic level when recording with this output stage of the decoder. The logical truth table D 2 below illustrates the process of writing code to the current cell or transferring it to the next cell. If a write to a cell has been made in the current work cycle, the data is transferred to the next cell, and so on, until an empty cell is reached.

Таблица истинности логических элементов D2 The truth table of the logic elements D 2 x1 x 1 x2 x 2 x3 x 3 u1 u 1 u2 u 2 ПримечаниеNote 00 00 00 00 00 00 1one 00 00 1one запись в текущую ячейкуwrite to current cell 1one 00 00 00 1one запись в текущую ячейкуwrite to current cell 1one 1one 00 00 4four запись в текущую ячейкуwrite to current cell 00 00 1one 00 00 00 1one 1one 1one 00 перенос в следующую ячейкуtransfer to the next cell 1one 00 1one 1one 00 перенос в следующую ячейкуtransfer to the next cell 1one 1one 1one 1one 00 перенос в следующую ячейкуtransfer to the next cell

При поступлении от контроллера энергонезависимой памяти 6 сигнала запроса выдачи кода блок управления 4 по заднему фронту сигнала формирователя импульсов подает короткий импульс на вход S дешифратора 9 номера ячейки записи. По этому импульсу осуществляется запись кода второго генератора псевдослучайной последовательности 8 на сдвиговом регистре в ячейку регистра хранения перестановок кодов, номер которой определяется кодом второго генератора псевдослучайной последовательности на сдвиговом регистре и состоянием дешифратора. В процессе записи триггер выходного каскада дешифратора 9, осуществляющего запись, устанавливается в состояние с высоким логическим уровнем. Процесс повторяется 2n раз, после чего блок управления 4 подает сигнал сброса на вход R, по которому триггеры выходных каскадов дешифратора переходят в состояние с низким логическим уровнем. После формирования перестановки данные регистра хранения перестановок кодов записываются в энергонезависимую память через интерфейс с контроллером энергонезависимой памяти 6. Поскольку сигналы записи в регистр хранения перестановок кодов 5 имеют случайный характер, запись кодов сдвигового регистра с линейной обратной связью выполняется в ячейки со случайными номерами.When the non-volatile memory 6 receives a signal for issuing a code from the controller 6, the control unit 4 sends a short pulse to the input S of the decoder 9 of the recording cell number along the trailing edge of the signal of the pulse shaper. This pulse records the code of the second generator of the pseudo-random sequence 8 on the shift register in the cell of the code permutation storage register, whose number is determined by the code of the second generator of the pseudo-random sequence on the shift register and the state of the decoder. In the recording process, the trigger of the output stage of the decoder 9 performing the recording is set to a state with a high logical level. The process is repeated 2 n times, after which the control unit 4 supplies a reset signal to the input R, by which the triggers of the decoder output stages go into a state with a low logic level. After the permutation is generated, the data of the code permutation storage register is written to non-volatile memory through the interface with the non-volatile memory controller 6. Since the write signals to the code permutation storage register 5 are random in nature, linear shift feedback register codes are written to cells with random numbers.

Таким образом, предлагаемое решение обеспечивает за 2n тактов формирователя импульсов запись множества из 2n уникальных кодов длины n, следующих в случайном порядке.Thus, the proposed solution provides for 2 n cycles of the pulse shaper record a set of 2 n unique codes of length n, following in random order.

Claims (1)

Генератор случайных перестановок, содержащий последовательно соединенные аналоговый генератор шума, формирователь импульсов и генератор псевдослучайной последовательности на сдвиговом регистре с блоком управления, к выходу блока управления n-разрядной шиной данных подключен регистр хранения перестановок кодов, соединенный 2n-разрядной шиной данных с интерфейсом с контроллером энергонезависимой памяти, который, в свою очередь, входом и выходом управления соединен с блоком управления, отличающийся тем, что в него дополнительно введены дешифратор, второй генератор псевдослучайной последовательности на сдвиговом регистре и быстродействующий генератор, при этом выход дешифратора соединен со входом записи регистра хранения перестановок кодов, вход управления дешифратора соединен с выходом блока управления, а вход кода - со вторым генератором псевдослучайной последовательности на сдвиговым регистре, тактовый вход которого электрически соединен с быстродействующим генератором. A random permutation generator containing an analog noise generator, a pulse shaper, and a pseudorandom sequence generator on a shift register with a control unit connected to the output of the control unit by an n-bit data bus is connected to a code permutation storage register connected by a 2 n- bit data bus with an interface to the controller non-volatile memory, which, in turn, is connected to the control unit by the input and output of the control, characterized in that it is additionally introduced into it This is a decoder, a second pseudo-random sequence generator on the shift register and a high-speed generator, while the decoder output is connected to the write input of the code permutation storage register, the decoder control input is connected to the control unit output, and the code input is connected to the second pseudo-random sequence generator on the shift register whose input is electrically connected to a high-speed generator.
RU2009104555/09A 2009-02-12 2009-02-12 Random permutation generator RU2395834C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2009104555/09A RU2395834C1 (en) 2009-02-12 2009-02-12 Random permutation generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2009104555/09A RU2395834C1 (en) 2009-02-12 2009-02-12 Random permutation generator

Publications (1)

Publication Number Publication Date
RU2395834C1 true RU2395834C1 (en) 2010-07-27

Family

ID=42698177

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2009104555/09A RU2395834C1 (en) 2009-02-12 2009-02-12 Random permutation generator

Country Status (1)

Country Link
RU (1) RU2395834C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2549524C1 (en) * 2014-06-26 2015-04-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ" (КНИТУ-КАИ) Generator of nonlinear pseudorandom sequences

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2549524C1 (en) * 2014-06-26 2015-04-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ" (КНИТУ-КАИ) Generator of nonlinear pseudorandom sequences

Similar Documents

Publication Publication Date Title
US10007488B2 (en) Secured pseudo-random number generator
EP3709157B1 (en) Random number generator
Guan et al. Pseudorandom number generation with self-programmable cellular automata
TW201626211A (en) Random number expansion device, random number expansion method and random number expansion program product
US10419004B2 (en) NVFF monotonic counter and method of implementing same
JP6061523B2 (en) Data processing apparatus and operation method thereof
US20150268933A1 (en) Bit sequence generator and apparatus for calculating a sub-rate transition matrix and a sub-rate initial state for a state machine of a plurality of state machines
WO2010034326A1 (en) State machine and generator for generating a description of a state machine feedback function
Alam et al. Stochastic computing in beyond von-neumann era: Processing bit-streams in memristive memory
RU2395834C1 (en) Random permutation generator
RU2313125C1 (en) Generator of pseudo-random series
CN109669669A (en) Error code generation method and error code generator
Dalal et al. A hardware framework for the fast generation of multiple long-period random number streams
WO2015078141A1 (en) Nonvolatile memory and electronic device
US11755287B2 (en) Random number generator
EP4295224A1 (en) High clock-efficiency random number generation system and method
Sunandha et al. Implementation of modified Dual-CLCG method for pseudorandom bit generation
RU2427885C1 (en) Quick-acting generator of random shifts and combinations
JP2014164342A (en) Pseudo-random number generation circuit and pseudo-random number generation method
CN102543182A (en) Randomization circuit, memory control unit, memory, communicating system and method
RU2246129C2 (en) Random numbers generation method
RU2390052C2 (en) Decoder for controlled rearrangement of information stored on personal computer
KR102285940B1 (en) Data processing circuit, data storage device comprising data processing circuit and operating method thereof
Riahi Alam et al. Stochastic Computing for Reliable Memristive In-Memory Computation
US11237800B2 (en) Time-shifted seed for random number generator

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20160213