RU2395834C1 - Random permutation generator - Google Patents
Random permutation generator Download PDFInfo
- 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
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
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-го (где ) и i-го разрядов первого регистра сдвига подключены соответственно к первому и второму входам первого сумматора по модулю два, выход k-го и (i+1)-го (где , разрядов 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 ) 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 , 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
Устройство работает следующим образом.The device operates as follows.
После включения генератора сигнал от аналогового генератора шума 1 через формирователь импульсов 2 подается на тактовый вход генератора псевдослучайной последовательности на сдвиговом регистре 3, на выходах данных которого формируется псевдослучайная последовательность кодов длиной n. Сдвиг данных происходит по переднему фронту импульсов. Тактовые импульсы от быстродействующего генератора 7 поступают на второй генератор псевдослучайной последовательности 8 на сдвиговом регистре, который также формирует на своих выводах данных псевдослучайную последовательность кодов длиной n. Частота следования тактовых импульсов быстродействующего генератора 7 в 2n раз выше средней частоты следования импульсов формирователя импульсов 2. Коды второго генератора псевдослучайной последовательности 8 на сдвиговом регистре поступают на входы дешифратора номера ячейки записи 9. Схема дешифратора для N=2 представлена на фиг.2. Каждый узел дешифрации выполнен в виде логических элементов D1 с двумя входами x1, х2 и двумя выходами u1, u2, реализующих логическую функцию , u2=х1×х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 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 , 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.
При поступлении от контроллера энергонезависимой памяти 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
Таким образом, предлагаемое решение обеспечивает за 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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2549524C1 (en) * | 2014-06-26 | 2015-04-27 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ" (КНИТУ-КАИ) | Generator of nonlinear pseudorandom sequences |
-
2009
- 2009-02-12 RU RU2009104555/09A patent/RU2395834C1/en not_active IP Right Cessation
Cited By (1)
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 | |
US11294640B2 (en) | Random number generator | |
US11082241B2 (en) | Physically unclonable function with feed-forward addressing and variable latency output | |
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 | |
JP6061523B2 (en) | Data processing apparatus and operation method thereof | |
WO2010034326A1 (en) | State machine and generator for generating a description of a state machine feedback function | |
US20180309453A1 (en) | Nvff monotonic counter and method of implementing same | |
CN103631732B (en) | Nonvolatile storage and electronic equipment | |
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 | |
US11755287B2 (en) | Random number generator | |
Ding et al. | PIMA-LPN: Processing-in-memory Acceleration for Efficient LPN-based Post-Quantum Cryptography | |
WO2022177984A1 (en) | High clock-efficiency random number generation system and method | |
US11237800B2 (en) | Time-shifted seed for random number generator | |
CN102543182A (en) | Randomization circuit, memory control unit, memory, communicating system and method | |
RU2474871C1 (en) | Highly parallel special-purpose processor for solving boolean formula satisfiability problem | |
RU2246129C2 (en) | Random numbers generation method | |
RU2390052C2 (en) | Decoder for controlled rearrangement of information stored on personal computer | |
Riahi Alam et al. | Stochastic Computing for Reliable Memristive In-Memory Computation | |
RU2439662C2 (en) | Device of controlled shift of binary line bits | |
US20220334800A1 (en) | Exact stochastic computing multiplication in memory | |
US20220261221A1 (en) | Random number generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20160213 |