RU2427885C1 - Quick-acting generator of random shifts and combinations - Google Patents

Quick-acting generator of random shifts and combinations Download PDF

Info

Publication number
RU2427885C1
RU2427885C1 RU2010102098/08A RU2010102098A RU2427885C1 RU 2427885 C1 RU2427885 C1 RU 2427885C1 RU 2010102098/08 A RU2010102098/08 A RU 2010102098/08A RU 2010102098 A RU2010102098 A RU 2010102098A RU 2427885 C1 RU2427885 C1 RU 2427885C1
Authority
RU
Russia
Prior art keywords
data
input
outputs
inputs
bit
Prior art date
Application number
RU2010102098/08A
Other languages
Russian (ru)
Inventor
Леонид Сергеевич Сотов (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 RU2010102098/08A priority Critical patent/RU2427885C1/en
Application granted granted Critical
Publication of RU2427885C1 publication Critical patent/RU2427885C1/en

Links

Images

Abstract

FIELD: information technologies. ^ SUBSTANCE: device comprises a unit of data registers arranged with the possibility of parallel and serial data loading, and a switching matrix with baseline topology. The device comprises n data outputs, formed by outputs of data registers unit, m binary inputs of control signals, to which random signals are supplied from external sources, input S of serial download of initial line of reinstalled data A1 - An, formed by an input of serial downloading of data registers unit, a binary unit to control serial and parallel recording of data into a unit of data registers PE, input of clock pulses of data registers unit clk. Parallel q digit outputs of data registers unit are electrically connected with q digit inputs of the switching matrix, outputs of the switching matrix are electrically connected to parallel q digit inputs of data registers unit. ^ EFFECT: improved device efficiency. ^ 4 dwg

Description

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

Известно устройство генерации случайных последовательностей бит (см. патент US №07583155, МПК G06F 7/58). Устройство состоит из осциллирующего блока, который генерирует случайную последовательность бит при подаче на него шумового сигнала. Устройство также включает интегральную схему, обеспечивающую формирование случайной последовательности бит.A device for generating random sequences of bits (see US patent No. 07583155, IPC G06F 7/58). The device consists of an oscillating block, which generates a random sequence of bits when a noise signal is applied to it. The device also includes an integrated circuit for generating a random sequence of bits.

Недостатком данного устройства является то, что в выходном потоке случайных чисел возможно появление одинаковых, что недопустимо для генератора перестановок числовых последовательностей. Устройство также нельзя непосредственно использовать для генерации случайных сочетаний числовых последовательностей.The disadvantage of this device is that in the output stream of random numbers the appearance of identical numbers is possible, which is unacceptable for a generator of permutations of numerical sequences. The device also cannot be used directly to generate random combinations of numerical sequences.

Известен генератор n-значной псевдослучайной последовательности (см. Авторское свидетельство №2081450, МПК G06F 7/58), содержащий n элементов И, блок управления, снабженный n выходами, первые входы которых соединены с соответствующими выходами блока управления, n сумматоров по модулю два и n регистров сдвига, причем выходы j-го (где

Figure 00000001
) и i-го разрядов первого регистра сдвига подключены соответственно к первому и второму входам первого сумматора по модулю два, выход k-го и (i+1)-го (где
Figure 00000002
Figure 00000003
)разрядов 1-го регистра сдвига подключены соответственно к первому и второму входам 1-го сумматора по модулю два, выход первого сумматора по модулю два соединен с информационным входом одноименного регистра сдвига и с одноименным выходом блока управления, выход каждого регистра сдвига подключен к второму входу одноименного элемента И, выходы элементов И являются выходами генератора.A known generator of an n-digit pseudo-random sequence (see Copyright certificate No. 2081450, IPC G06F 7/58), 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 element of the same name AND, the outputs of the elements AND are the outputs of the generator.

При длине сдвигового регистра 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 №05871400, МПК A63F 9/21). Устройство содержит генератор на сдвиговых регистрах, в котором используются коэффициенты примитивного полинома порядка k для генерации случайных чисел, и второй генератор для формирования индекса случайного числа, хранящегося в массиве случайных чисел, полученных от генератора на сдвиговых регистрах.A known random number generator for electronic applications (see US patent No. 05871400, IPC A63F 9/21). The device contains a generator on shift registers, which uses coefficients of a primitive polynomial of order k to generate random numbers, and a second generator to generate an index of a random number stored in an array of random numbers received from the generator on shift registers.

Данный генератор можно использовать для формирования случайных перестановок и сочетаний с равномерным распределением. Недостатком этого устройства является относительно низкое быстродействие и необходимость хранения случайных чисел в массиве, размеры которого могут стать неприемлемо большими при увеличении числа возможных перестановок.This generator can be used to form random permutations and combinations with uniform distribution. The disadvantage of this device is the relatively low speed and the need to store random numbers in an array, the size of which can become unacceptably large with an increase in the number of possible permutations.

Известны генераторы случайных перестановок и сочетаний, описанные в монографии Курейчика В.М. и др. «Комбинаторные аппаратные модели и алгоритмы в САПР»/ М.: «Радио и связь». 1990. C.185-203. Недостатками описанных генераторов являются относительно медленный спад автокорреляционных функций, генерируемых сочетаний и перестановок, низкое быстродействие при генерации некоррелированных случайных сочетаний и перестановок, возможность генерации ошибочных сочетаний, достаточно сложная конструкция при большой длине формируемых сочетаний и перестановок.Known generators of random permutations and combinations described in the monograph Kureychik V.M. and others. “Combinatorial hardware models and algorithms in CAD” / M.: “Radio and communications”. 1990. C.185-203. The disadvantages of the described generators are the relatively slow decline of autocorrelation functions, generated combinations and permutations, low speed when generating uncorrelated random combinations and permutations, the possibility of generating erroneous combinations, a rather complicated design with a large length of generated combinations and permutations.

Наиболее близким к предлагаемому решению является генератор случайных чисел (см. патент РФ №2340931, МПК G06F 7/58), содержащий генератор псевдослучайной последовательности на сдвиговом регистре длиной n с линейными обратными связями, выход которого соединен с блоком управления, аналоговый генератор шума и формирователь импульсов, один выход формирователя подключен к тактовому входу генератора псевдослучайной последовательности, а второй - к блоку управления, дополнительный сдвиговый регистр хранения перестановок чисел длиной n, выход данных, тактовый вход и вход данных которого соединены с блоком управления, интерфейс - с контроллером энергонезависимой памяти, вход и выход которого соединены с блоком управления.Closest to the proposed solution is a random number generator (see RF patent No. 2340931, IPC G06F 7/58), containing a pseudorandom sequence generator on a shift register of length n with linear feedback, the output of which is connected to the control unit, an analog noise generator and a shaper pulses, one shaper output 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 whose clock input and data input 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.

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

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

Техническим результатом является высокоскоростное устройство, формирующее случайные сочетания и перестановки элементов входного множества 2k чисел с равномерной функцией распределения.The technical result is a high-speed device that generates random combinations and permutations of the elements of the input set of 2 k numbers with a uniform distribution function.

Поставленная задача решается тем, что быстродействующий генератор случайных перестановок и сочетаний состоит из блока регистров данных, выполненного с возможностью параллельной и последовательной загрузки данных q-разрядных двоичных чисел, и коммутационной матрицы, генератор имеет n q-разрядных выходов данных, образованных параллельными выходами блока регистров данных, m бинарных входов управляющих сигналов для подачи случайных сигналов от внешних источников, вход последовательной загрузки начальной строки перестанавливаемых данных, образованный входом последовательной загрузки блока регистров данных, бинарный вход управления последовательной и параллельной записью данных в блок регистров данных, вход тактовых импульсов блока регистров данных, причем параллельные q-разрядные выходы блока регистров данных электрически соединены с q-разрядными входами коммутационной матрицы, выходы коммутационной матрицы электрически соединены с параллельными q-разрядными входами блока регистров данных, коммутационная матрица имеет n q-разрядных входов, n q-разрядных выходов и состоит из переключателей, расположенных в матричном порядке по n/2 линиям и k=log2n уровням, каждый переключатель имеет два q-разрядных входа X1, X2, два q-разрядных выхода Y1, Y2 и бинарный вход управляющего сигнала, переключатели реализуют логическую функцию

Figure 00000004
Figure 00000005
бинарные входы управляющих сигналов переключателей матрицы образуют m бинарных входов управляющих сигналов генератора, каждый переключатель матрицы j-го уровня, где
Figure 00000006
, расположенный на линии с номером i, электрически соединен одним выходом с входом переключателя j+1 уровня, расположенного на линии с номеромThe problem is solved in that the high-speed generator of random permutations and combinations consists of a block of data registers made with the possibility of parallel and sequential loading of q-bit binary numbers, and a switching matrix, the generator has n q-bit data outputs formed by parallel outputs of the register block data, m binary inputs of control signals for supplying random signals from external sources, input of sequential loading of the initial line of resettable data formed by the serial boot input of the data register block, the binary control input of serial and parallel data recording into the data register block, the clock pulse input of the data register block, and the parallel q-bit outputs of the data register block are electrically connected to the q-bit inputs of the switching matrix, the outputs of the switching matrices are electrically connected to parallel q-bit inputs of the data register block, the switching matrix has n q-bit inputs, n q-bit outputs and with consists of switches arranged in a matrix order along n / 2 lines and k = log 2 n levels, each switch has two q-bit inputs X1, X2, two q-bit outputs Y1, Y2 and a binary control signal input, the switches implement a logical the function
Figure 00000004
Figure 00000005
the binary inputs of the control signals of the matrix switches form m binary inputs of the control signals of the generator, each matrix switch of the jth level, where
Figure 00000006
located on the line with number i, is electrically connected by one output to the input of the level switch j + 1 located on the line with number

Figure 00000007
Figure 00000007

а другим выходом с входом переключателя j+1 уровня матрицы, расположенного на линии с номеромand another output with the input of the switch j + 1 of the matrix level located on the line with the number

Figure 00000008
,
Figure 00000008
,

где INT - функция вычисления целой части от аргумента, каждый вход каждого переключателя уровня j+1 соединен с одним выходом переключателя уровня j, входы переключателей первого уровня являются входами матрицы, выходы переключателей k-го уровня являются выходами матрицы.where INT is the function of calculating the integer part of the argument, each input of each level switch j + 1 is connected to one output of the level switch j, the inputs of the first level switches are matrix inputs, the outputs of the kth level switches are matrix outputs.

Изобретение поясняется чертежами, на фиг.1 приведена блок-схема генератора, на фиг.2 представлена диаграмма орграфа коммутационной матрицы генератора для случая n=16, на фиг.3 представлена схема генератора для случая n=16, на фиг.4 представлена схема блока регистров данных генератора для случая n=8, гдеThe invention is illustrated by drawings, figure 1 shows a block diagram of a generator, figure 2 shows a diagram of the digraph of the switching matrix of the generator for the case n = 16, figure 3 shows the diagram of the generator for the case n = 16, figure 4 shows the block diagram generator data registers for the case n = 8, where

1 - блок регистров данных;1 - block data registers;

2 - коммутационная матрица с топологией baseline;2 - switching matrix with baseline topology;

- D1 - Dn - параллельные q-разрядные входы блока регистра данных и выходы коммутационной матрицы;- D 1 - D n - parallel q-bit inputs of the data register block and the outputs of the switching matrix;

- Q1 - Qn - параллельные q-разрядные выходы блока регистров данных и выходы генератора;- Q 1 - Q n - parallel q-bit outputs of the data register block and generator outputs;

- S1 - Sn - q-разрядные входы коммутационной матрицы;- S 1 - S n - q-bit inputs of the switching matrix;

- C1 - Cm - бинарные входы генератора для подачи управляющих сигналов от внешних источников случайных сигналов;- C 1 - C m - binary inputs of the generator for supplying control signals from external sources of random signals;

- A1 - An - начальная строка q-разрядных данных, загружаемая в блок регистров данных;- A 1 - A n - the initial line of q-bit data loaded into the block of data registers;

-

Figure 00000009
- переключатели коммутационной матрицы;-
Figure 00000009
- switches of the switching matrix;

- PE - бинарный вход управления последовательной и параллельной записью данных;- PE - binary input control serial and parallel data recording;

S - последовательный q-разрядный вход блока регистров данных для записи элементов начальной строки данных A1-An;S - serial q-bit input of a block of data registers for writing elements of the initial data line A 1 -A n ;

- clk - вход тактовых импульсов.- clk - clock input.

Предлагаемый генератор состоит из блока регистров данных 1, выполненного с возможностью параллельной и последовательной загрузки данных, и коммутационной матрицы с топологией baseline 2. Генератор имеет n выходов данных, образованных выходами блока регистров данных, m бинарных входов управляющих сигналов, на которые подаются случайные сигналы от внешних источников, вход S последовательной загрузки начальной строки перестанавливаемых данных A1-An, образованный входом последовательной загрузки блока регистров данных, бинарный вход управления последовательной и параллельной записью данных в блок регистров данных PE, вход тактовых импульсов блока регистров данных clk. Параллельные q-разрядные выходы блока регистров данных электрически соединены с q-разрядными входами коммутационной матрицы, выходы коммутационной матрицы электрически соединены с параллельными q-разрядными входами блока регистров данных. Элементы начальной строки A1-An представляют собой бинарные строки длиной q и могут рассматриваться как двоичные числа разрядности q. Коммутационная матрица имеет n q-разрядных входов, n q-разрядных выходов и состоит из переключателей, расположенных в матричном порядке по n/2 линиям и k=log2n уровням. Каждый переключатель имеет 2 q-разрядных входа X1, X2, 2 q-разрядных выхода Y1, Y2 и бинарный вход управляющего сигнала C. Переключатели реализуют логическую функцию

Figure 00000010
Figure 00000011
Входы управляющих сигналов переключателей матрицы образуют m бинарных входов управляющих сигналов генератора. Выходы переключателей предыдущего уровня соединены с входами переключателей следующего уровня в соответствии с топологией сети baseline. Данная топология описана, например, в патенте US №5175539, МПК H04J 3/00. В соответствии с этой топологией каждый переключатель матрицы j-го уровня, где
Figure 00000012
, расположенный на линии с номером i, электрически соединен одним выходом с входом переключателя j+1 уровня, расположенного на линии с номеромThe proposed generator consists of a block of data registers 1, configured for parallel and sequential data loading, and a switching matrix with a topology of baseline 2. The generator has n data outputs formed by the outputs of the block of data registers, m binary inputs of control signals to which random signals from external sources, the input S of successive loading initial permutated data line A 1 -A n, formed by sequential loading input data register block, the binary input is governed I the serial and parallel writing of data in the data register unit PE, the clock input of the data register block clk. The parallel q-bit outputs of the data register block are electrically connected to the q-bit inputs of the switching matrix, the outputs of the switching matrix are electrically connected to the parallel q-bit inputs of the data register block. Elements of the initial string A 1 -A n are binary strings of length q and can be considered as binary digits of q. The switching matrix has n q-bit inputs, n q-bit outputs and consists of switches arranged in a matrix order along n / 2 lines and k = log 2 n levels. Each switch has 2 q-bit inputs X1, X2, 2 q-bit outputs Y1, Y2 and a binary input of the control signal C. The switches implement a logic function
Figure 00000010
Figure 00000011
The inputs of the control signals of the matrix switches form m binary inputs of the control signals of the generator. The outputs of the switches of the previous level are connected to the inputs of the switches of the next level in accordance with the topology of the baseline network. This topology is described, for example, in US patent No. 5175539, IPC H04J 3/00. In accordance with this topology, each j-level matrix switch, where
Figure 00000012
located on the line with number i, is electrically connected by one output to the input of the level switch j + 1 located on the line with number

Figure 00000013
Figure 00000013

а другим выходом с входом переключателя j+1 уровня матрицы, расположенного на линии с номеромand another output with the input of the switch j + 1 of the matrix level located on the line with the number

Figure 00000014
Figure 00000014

где INT - функция вычисления целой части от аргумента. Каждый вход каждого переключателя уровня j+1 соединен с одним выходом переключателя уровня j. Входы переключателей первого уровня являются входами матрицы, выходы переключателей k-го уровня являются выходами матрицы.where INT is the function of computing the integer part of the argument. Each input of each level switch j + 1 is connected to one output of the level switch j. The inputs of the switches of the first level are inputs of the matrix, the outputs of the switches of the k-th level are outputs of the matrix.

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

Перед началом работы внешняя управляющая ЭВМ устанавливает высокий логический уровень на входе управления параллельной и последовательной записью блока регистров данных PE и по отрицательным перепадам тактовых импульсов на входе clk последовательно записывает элементы начальной строки данных A1-An в регистры данных. После этого управляющая ЭВМ устанавливает низкий логический уровень на входе управления параллельной и последовательной записью блока регистров данных PE и по отрицательным перепадам тактовых импульсов на входе clk блока регистров данных генератор формирует на своих выходах случайные перестановки элементов начальной строки данных A1-An. При этом с приходом каждого нового тактового импульса на вход clk на входы управляющих сигналов генератора C1-Cm подаются новые бинарные случайные числа 0 или 1.Before starting work, the external control computer sets a high logic level at the control input for parallel and sequential recording of the block of data registers PE and, based on the negative changes in clock pulses at the input clk, sequentially writes the elements of the initial data line A 1 -A n to the data registers. After that, the control computer sets a low logic level at the control input for parallel and sequential recording of the PE data register block and, based on negative clock pulses at the input clk of the data register block, the generator generates random permutations of the elements of the initial data line A 1 -A n at its outputs. Moreover, with the arrival of each new clock pulse at the input clk, new binary random numbers 0 or 1 are supplied to the inputs of the control signals of the generator C 1 -C m .

Если в строке A1-An есть повторяющиеся элементы, на выходах генератора формируются случайные сочетания элементов этой строки. Если повторяющихся элементов нет, на выходах генератора формируются случайные перестановки элементов строки A1-An. При этом перестановки и сочетания, формируемые данным генератором, имеют равномерную функцию распределения.If there are repeating elements in line A 1 -A n , random combinations of elements of this line are formed at the generator outputs. If there are no repeating elements, random permutations of the elements of the string A 1 -A n are generated at the generator outputs. At the same time, the permutations and combinations formed by this generator have a uniform distribution function.

В качестве источника случайных бинарных сигналов, подаваемых на входы управляющих сигналов C1-Cm, могут использоваться генераторы, описанные в книге Иванова М.А., Чугункова И.В. «Теория, применение и оценка качества генераторов псевдослучайных последовательностей». Например, при использовании генератора псевдослучайной последовательности на сдвиговом регистре с линейными обратными связями данные разрядов сдвигового регистра подаются на входы C1-Cm. При этом тактовые импульсы clk используются для тактирования генератора на сдвиговом регистре, обеспечивая, таким образом, синхронизацию с предлагаемым генератором перестановок и сочетаний.As a source of random binary signals supplied to the inputs of the control signals C 1 -C m , generators described in the book by Ivanov MA, Chugunkova IV can be used "Theory, application and quality assessment of pseudo-random sequence generators." For example, when using a pseudo-random sequence generator on a shift register with linear feedbacks, the data of the bits of the shift register is fed to the inputs C 1 -C m . In this case, clk clock pulses are used to clock the generator on the shift register, thus ensuring synchronization with the proposed generator of permutations and combinations.

Блок регистров состоит из q последовательно-параллельных регистров длиной n. При этом могут быть использованы, например, регистры К155ИР1, описанные в справочнике В.Л.Шило «Популярные цифровые микросхемы» М.: Радио и связь. 1989. с.107-110. Для получения регистра необходимой длины n используется несколько регистров К155ИР1. При этом параллельный выход последнего разряда первого регистра соединяется с последовательным входом следующего регистра и т.д. Если числа A1-An имеют несколько разрядов (q>1), в блок объединяются несколько n-разрядных регистров параллельно. При этом тактовые входы этих регистров блока соединяются между собой. Входы разрешения параллельной загрузки РЕ этих регистров также соединяются между собой. Первый разряд чисел A1-An поступает на последовательный вход первого регистра, второй - на последовательный вход второго регистра и т.д., разряд q поступает на последовательный вход регистра с номером q. Вход S, выходы Q1-Qn, входы D1-Dn блока регистров имеют q разрядов. При этом первый разряд берется с первого регистра, второй - со второго и т.д. На фиг.4 приведена возможна схема соединения шести регистров К155ИР1 блока регистров данных для хранения чисел A1-A8, имеющих q=3 разряда.The block of registers consists of q series-parallel registers of length n. In this case, for example, the K155IR1 registers described in the reference book of V.L.Shilo “Popular Digital Microcircuits” M .: Radio and communication can be used. 1989.S. 107-110. To obtain a register of the required length n, several registers K155IR1 are used. In this case, the parallel output of the last bit of the first register is connected to the serial input of the next register, etc. If the numbers A 1 -A n have several digits (q> 1), several n-bit registers are combined into a block in parallel. In this case, the clock inputs of these block registers are interconnected. The parallel load enable inputs PE of these registers are also interconnected. The first digit of the numbers A 1 -A n goes to the serial input of the first register, the second to the serial input of the second register, etc., the bit q goes to the serial input of the register with number q. Input S, outputs Q 1 -Q n , inputs D 1 -D n block of registers have q bits. In this case, the first digit is taken from the first register, the second - from the second, etc. Figure 4 shows a possible connection diagram of six registers K155IR1 block data registers for storing numbers A 1 -A 8 having q = 3 digits.

Таким образом, в зависимости от внешних источников управляющих сигналов предлагаемый генератор обеспечивает формирование псевдослучайных или случайных перестановок и сочетаний исходной строки из n=2k чисел A1-An. Перестановки и сочетания на выходе генератора имеют равномерное распределение. Генератор обладает высоким быстродействием, поскольку преобразования выполняются параллельно. Для получения любой случайной перестановки или сочетания из числа возможных достаточно подать 2 импульса на вход clk, так как последовательное соединение двух коммутационных сетей с топологией baseline обеспечивает формирование на выходе любой перестановки входных данных. Аппаратная сложность предлагаемого генератора растет практически линейно с ростом n, что дает возможность получения случайных перестановок и сочетаний элементов строк большой длины.Thus, depending on the external sources of control signals, the proposed generator provides the formation of pseudo-random or random permutations and combinations of the original string from n = 2 k numbers A 1 -A n . Permutations and combinations at the generator output have a uniform distribution. The generator has high speed, since the transformations are performed in parallel. To obtain any random permutation or combination of the possible ones, it is enough to apply 2 pulses to the clk input, since the serial connection of two switching networks with the baseline topology provides the formation of any input data rearrangement at the output. The hardware complexity of the proposed generator grows almost linearly with increasing n, which makes it possible to obtain random permutations and combinations of long-string elements.

Claims (1)

Быстродействующий генератор случайных перестановок и сочетаний, характеризующийся тем, что состоит из блока регистров данных, выполненного с возможностью параллельной и последовательной загрузки данных q-разрядных двоичных чисел, и коммутационной матрицы, генератор имеет n q-разрядных выходов данных, образованных параллельными выходами блока регистров данных, m бинарных входов управляющих сигналов для подачи случайных сигналов от внешних источников, вход последовательной загрузки начальной строки перестанавливаемых данных, образованный входом последовательной загрузки блока регистров данных, бинарный вход управления последовательной и параллельной записью данных в блок регистров данных, вход тактовых импульсов блока регистров данных, причем параллельные q-разрядные выходы блока регистров данных электрически соединены с q-разрядными входами коммутационной матрицы, выходы коммутационной матрицы электрически соединены с параллельными q-разрядными входами блока регистров данных, коммутационная матрица имеет n q-разрядных входов, n q-разрядных выходов и состоит из переключателей, расположенных в матричном порядке по n/2 линиям и k=log2n уровням, каждый переключатель имеет два q-разрядных входа X1, Х2, два q-разрядных выхода Y1, Y2 и бинарный вход управляющего сигнала, переключатели реализуют логическую функцию
Figure 00000015
Figure 00000016
бинарные входы управляющих сигналов переключателей матрицы образуют m бинарных входов управляющих сигналов генератора, каждый переключатель матрицы j-го уровня, где
Figure 00000017
расположенный на линии с номером i, электрически соединен одним выходом с входом переключателя (j+1)-го уровня, расположенного на линии с номером
Figure 00000018
, а другим выходом с входом переключателя (j+1)-го уровня матрицы, расположенного на линии с номером
Figure 00000019
, где INT - функция вычисления целой части от аргумента, каждый вход каждого переключателя уровня j+1 соединен с одним выходом переключателя уровня j, входы переключателей первого уровня являются входами матрицы, выходы переключателей k-го уровня являются выходами матрицы.
A high-speed generator of random permutations and combinations, characterized in that it consists of a block of data registers made with the possibility of parallel and sequential loading of data of q-bit binary numbers, and a switching matrix, the generator has n q-bit data outputs formed by parallel outputs of a block of data registers , m binary inputs of control signals for supplying random signals from external sources, the input of sequential loading of the initial line of permutable data, forming input of the serial load of the data register block, a binary input for controlling serial and parallel data recording in the data register block, the clock pulse input of the data register block, and the parallel q-bit outputs of the data register block are electrically connected to the q-bit inputs of the switching matrix, the outputs of the switching matrix electrically connected to parallel q-bit inputs of the data register block, the switching matrix has n q-bit inputs, n q-bit outputs and consists of n reklyuchateley arranged in a matrix manner by n / 2 lines and k = log 2 n levels, each switch has two q-bit input X1, X2, two q-bit output Y1, Y2, and binary input control signal switches implement the logic function
Figure 00000015
Figure 00000016
the binary inputs of the control signals of the matrix switches form m binary inputs of the control signals of the generator, each matrix switch of the jth level, where
Figure 00000017
located on line number i is electrically connected by one output to the input of the (j + 1) level switch located on line number
Figure 00000018
, and another output with the input of the switch of the (j + 1) -th level of the matrix located on the line with the number
Figure 00000019
where INT is the function of calculating the integer part of the argument, each input of each level switch j + 1 is connected to one output of the level switch j, the inputs of the first level switches are matrix inputs, the outputs of the kth level switches are matrix outputs.
RU2010102098/08A 2010-01-25 2010-01-25 Quick-acting generator of random shifts and combinations RU2427885C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2010102098/08A RU2427885C1 (en) 2010-01-25 2010-01-25 Quick-acting generator of random shifts and combinations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2010102098/08A RU2427885C1 (en) 2010-01-25 2010-01-25 Quick-acting generator of random shifts and combinations

Publications (1)

Publication Number Publication Date
RU2427885C1 true RU2427885C1 (en) 2011-08-27

Family

ID=44756886

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2010102098/08A RU2427885C1 (en) 2010-01-25 2010-01-25 Quick-acting generator of random shifts and combinations

Country Status (1)

Country Link
RU (1) RU2427885C1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2488161C1 (en) * 2011-11-14 2013-07-20 Федеральное Государственное Бюджетное Образовательное Учреждение Высшего Профессионального Образования "Саратовский Государственный Университет Имени Н.Г. Чернышевского" Device for swapping and shifting of data bits in microprocessors
RU2642385C1 (en) * 2017-04-06 2018-01-24 Федеральное государственное бюджетное образовательное учреждение высшего образования "Кубанский государственный технологический университет" (ФГБОУ ВО "КубГТУ") DEVICE FOR CALCULATING arctg Y/X FUNCTION

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2488161C1 (en) * 2011-11-14 2013-07-20 Федеральное Государственное Бюджетное Образовательное Учреждение Высшего Профессионального Образования "Саратовский Государственный Университет Имени Н.Г. Чернышевского" Device for swapping and shifting of data bits in microprocessors
RU2642385C1 (en) * 2017-04-06 2018-01-24 Федеральное государственное бюджетное образовательное учреждение высшего образования "Кубанский государственный технологический университет" (ФГБОУ ВО "КубГТУ") DEVICE FOR CALCULATING arctg Y/X FUNCTION

Similar Documents

Publication Publication Date Title
US9575726B2 (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
CA2631924C (en) Extending a repetition period of a random sequence
US10007488B2 (en) Secured pseudo-random number generator
WO2009100104A1 (en) Cryptographic system incorporating a digitally generated chaotic numerical sequence
KR20100127789A (en) Digital random number generator based on digitally-controlled oscillators
US8879733B2 (en) Random bit stream generator with guaranteed minimum period
WO2010034326A1 (en) State machine and generator for generating a description of a state machine feedback function
US20120278372A1 (en) Cryptographic Random Number Generator Using Finite Field Operations
US9166795B2 (en) Device and method for forming a signature
RU2427885C1 (en) Quick-acting generator of random shifts and combinations
WO2006110954A1 (en) Process of and apparatus for counting
Justin et al. FPGA implementation of high quality random number generator using LUT based shift registers
KR100478974B1 (en) Serial finite-field multiplier
KR100735953B1 (en) Device and method for generating a sequence of numbers
RU2446444C1 (en) Pseudorandom sequence generator
Pandian et al. Five decade evolution of feedback shift register: algorithms, architectures and applications
US7502814B2 (en) Device and method for generating a pseudorandom sequence of numbers
CN109510699B (en) Six-dimensional discrete hyperchaotic system and six-dimensional discrete hyperchaotic signal generator
US8995659B2 (en) Parameterized random data generator providing a sequence of bytes with uniform statistical distribution
RU2246129C2 (en) Random numbers generation method
RU2626331C1 (en) Device for formation of systems of double derivatives of code discrete-frequency signals
RU2395834C1 (en) Random permutation generator
Alioto et al. Analysis and design of digital PRNGS based on the discretized sawtooth map
CN110633070A (en) Pseudo-random number generator and pseudo-random number generation method
MADHUPAVANI et al. Design of Random Number Generation Using 256 Bit LFSR in FPGA

Legal Events

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

Effective date: 20170126