Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных устройствах для формирования кодовых последовательностей.
Известен генератор нелинейных последовательностей, приведенный в [1], содержащий регистр сдвига из последовательно соединенных триггеров, сумматор по модулю два, второй, третий и четвертый триггеры, сумматор по модулю два, с первого по девятый элементы «И», четыре сумматора по модулю два. Указанный генератор реализован на основе известной схемы генератора линейной М-последовательности [1, к. 1, с. 22-27].
Известен генератор псевдослучайных последовательностей, приведенный в книге [2] на с. 147, (генератор М-последовательностей), выбранный в качестве прототипа, содержащий генератор тактовых импульсов, регистр сдвига с синхровходом, с последовательным входом и с выходом на h разрядов, h умножителей и сумматор по модулю два на h входов.
Устройство-прототип имеет следующие функциональные связи.
Выход генератора тактовых импульсов соединен с синхровходом регистра сдвига, а h разрядов с выхода регистра сдвига через h умножителей соединены с h входами сумматора по модулю два, выход которого соединен с последовательным входом регистра сдвига, h разрядов, снимаемых с выхода регистра сдвига, являются выходом устройства.
Работает устройство-прототип следующим образом. С генератора тактовых импульсов импульсы поступают на синхровход регистра сдвига, h разрядов выхода регистра сдвига поступают на выход устройства, а также через h умножителей поступают на h входов сумматора по модулю два, с выхода которого сигнал поступает на последовательный вход регистра сдвига.
При фиксированной разрядности h сдвигового регистра устройство позволяет формировать за счет применения h умножителей возможное количество (объем) различающихся М-последовательностей с периодом N=2h-1 (под различающимися М-последовательностями понимаются последовательности, каждую из которых нельзя было бы представить в виде циклического сдвига любой другой), определяемое по формуле вида [3, с. 33.]
,
где φ(N) - функция Эйлера (при h=10, Q1=60).
Известные свойства М-последовательностей показывают, что, несмотря на достаточно большой период и хорошие статистические качества, последовательности этого класса имеют простое аналитическое строение. Данный недостаток является следствием того, что М-последовательности формируются (в том числе и в устройстве - прототипе) на основе класса невырожденных двоичных матриц, связанных с классом примитивных полиномов над полем GF(2) и их схемная реализация сводится к применению одного типа линейных операций «сложение по модулю два».
Техническим результатом предлагаемого устройства является расширение функциональных возможностей за счет расширения класса формируемых последовательностей, путем добавления на h-разрядный выход устройства-прототипа модуля, содержащего h/3 нелинейных преобразователей, каждый из которых имеет три двоичных входа и двухбитовый выход, а также блока из h мультиплексоров с двумя входами данных каждый и с общим управляющим входом.
На выходе модуля можно получать последовательности двоичных n-разрядных чисел, n=(2/3)·h, hmod3=0, с периодом N=2h-1 из класса нелинейных периодических последовательностей или последовательности двоичных h-разрядных чисел с периодом N=2h-1 из класса М-последовательностей.
Добавленный модуль, содержащий h/3 нелинейных преобразователей, функционально реализует нелинейную функцию аналитического усложнения поступающей на его вход М-последовательности.
На выходе модуля получаем двоичное псевдослучайное число, характер которого зависит от значения на общем управляющем входе блока из h мультиплексоров. Либо это h-разрядное число, формируемое генератором М-последовательности, либо n-разрядное число, снимаемое с генератора нелинейных псевдослучайных последовательностей, n=(2/3)·h, при условии, что hmod3=0.
Нелинейная функция усложнения описывается следующим образом. Рассмотрим преобразование, представляемое в виде отображения (1), где GF(2)n множество n-разрядных двоичных векторов над полем GF(2)={0, 1}.
Примем ограничение: отображение (1) является биективным преобразованием (биекцией), n - четное. Всего имеется 2n! различных биекций [4].
Определим линейное преобразование вектора Х в виде:
где А - двоичная невырожденная матрица размера n и равенство понимается по модулю 2. Число линейных невырожденных преобразований, выполняемых по формуле (2), определяется числом невырожденных матриц по соотношению [5]:
Далее будем рассматривать невырожденные преобразования и ограничимся рассмотрением преобразований над двумя переменными.
Разобьем вектор X на непересекающиеся пары переменных (x2i-1, x2i),
Отображению (1) при n=2 соответствует 22!=24 биекции, что больше числа (определяемого по формуле (3)) линейных преобразований, представляемых невырожденными матрицами размера 2.
Рассмотрим аффинные преобразования, представляемые по формуле:
где вектор В∈GF(2)n, символ ⊕ - обозначение операции суммирования по модулю 2. Число аффинных преобразований определяется формулой:
Аффинному преобразованию над парой переменных (x2i-1, x2i), осуществляемому по формуле (4), ставим в соответствие операционный преобразователь (ОПaff). В этом случае, как следует из (5), число различных ОПaff равно 24. Множество всех этих ОПaff обозначим символом Пaff.
Операционные преобразователи ОПL и ОПaff будем называть эквивалентными, если для вектора (x2i-1, x2i),
Обозначим символом ПL={ОПLi},
где m=n/2, gi - некоторое линейное биективное преобразование над вектором (x2i-1, x2i),
Вследствие биективности преобразований gi,
Обозначим символом ML={Ai}, множество невырожденных матриц Ai, размера 3 вида:
элементы а11, а12, b1, а21, а22 и b2 принимают значения 0 или 1. Введем следующее подмножество MB множества ML: MB={A14, А19, А7}, где (значения индекса i из интервала [1, 24] присвоены этим трем матрицам произвольно). Множество MB является базисом, порождающим множество ML.
Путем композиции (произведения) базисных матриц построим в соответствии с [6] все остальные матрицы множества ML. В таблице 1 дано представление множества матриц ML в базисе MB.
Матрицы, представленные в таблице 1, однозначно соответствуют 24-м аффинным преобразованиям вида:
т.е. реализуют все биективные преобразования от двух переменных и ОПLi∈ПL можно задать матрицей Ai∈ML, где в качестве входного вектора используем расширение вектора (x2i-1, x2i), представляемое вектором (x2i-1, x2i, 1).
Отсюда следует, что ОПLi∈ПL можно задать 1) матрицей Ai∈ML, где в качестве входного вектора используется расширение вектора (x2i-1, x2i), представляемое вектором (x2i-1, x2i, 1) или 2) по формуле (8), на основе значений а11, а12, b1, а21, а22 и b2, заданных по матрицам вида (7), представленным в таблице 1.
Представим нелинейную модель функции усложнения на основе системы ОПLi∈ПL.
Рассмотрим преобразование двоичной последовательности, представляемое в виде отображения
пространства GF(2)g h-мерных, h=n+m, nmod2=0, векторов V=(X, Y)=(x1, x2, …, xn, y1, y2, …, ym) в пространство GF(2)n и-мерных векторов Z=(z1, z2, …, zn) над полем GF(2). В преобразовании (9) вектор V рассматривается как конкатенация векторов Х=(х1, x2, …, xn) и Y=(y1, y2, …, ym), m=n/2, где вектор Х - преобразуемый, а вектор Y - управляющий.
Отображение (9) зависит от управляющего вектора Y. Известно [4], что при таком способе преобразования нелинейность последовательности векторов Z в (9) проявляется ввиду существования этой зависимости.
Пусть периодическая последовательность векторов V=(Х, Y)=(x1, x2, …, xn, y1, y2, …, ym) в (9) формируется генератором псевдослучайных М-последовательностей с периодом L=2h-1, основанном на линейном регистре сдвига, длина которого, h, отвечает условию (10)
где nmod2=0, m=n/2, hmod3=0.
Будем рассматривать эту М-последовательность как последовательность векторов Х=(х1, x2, …, xh) размера h. Разобьем вектор X на непересекающиеся триграммы переменных (x3i-2, x3i-1, x3i), где i=1, …, n/2. В каждой триграмме переменную x3i будем рассматривать как управляющую переменную yi из управляющего вектора Y=(y1, y2, …, ym), m=n/2. Период последовательности векторов Z=(z1, z2, …, zn) в этом случае равен L=2h-1.
Преобразование (9) при данных ограничениях является моделью рассматриваемой нелинейной функции усложнения. При фиксированном управляющем векторе Y отображение (9) выполняет биективное преобразование [4].
Структурное представление нелинейной векторной функции усложнения. Введем операционный преобразователь ОПн от 3-х переменных, имеющий 2-битовый выход. В качестве входного вектора элемента ОПн используем вектор (x3i-2, x3i-1, x3i), i=1, …, n/2. ОПн осуществляет нелинейное преобразование вектора (x3i-2, x3i-1, x3i) в вектор (z2i-1, z2i), где i=1, 2, …, n/2. В каждой триграмме (x3i-2, x3i-1, x3i), i=1, …, n/2 переменная x 3i является управляющей. ОПн представим как пару ОПLi∈ПL. В ОПн один ОПLi∈ПL выполняет преобразование над вектором (x3i-2, x3i-1, 1) при x 3i=0, а второй ОПLi∈ПL выполняет преобразование над вектором (x3i-2, x3i-1, 1) при x3i=1. Нелинейность преобразования в ОПн реализуется ввиду зависимости операции, выполняемой в ОПн, от управляющего бита. Объединение ОПн рассматривается как реализация отображения (9).
Предложена модель представления ПСП, основанная на применении нелинейной функции усложнения, представляемой в виде системы линейных биективных преобразований, выполняемых над двумя двоичными переменными. Модель отличается тем, что алгоритмические возможности функции усложнения максимально расширены за счет сведения аффинного преобразования к линейному преобразованию вида (2), представляемому невырожденными двоичными матрицами вида (7), которые реализуют максимальное число биективных преобразований от двух переменных.
Предлагаемое устройство позволяет увеличить объем формируемых последовательностей с периодом N=2h-1 до величины Q=(n/2)!, n=(2/3)·h. Например, для h=48 Q=16!+20,9·1012.
Величину ансамбля Q при фиксированной входной М-последовательности можно менять следующим образом.
1) применяя в блоках ОПн различные сочетания блоков ОПLi∈ПL. Максимальное число сочетаний (и соответственно максимальное число различающихся ОПн) равно величине
2) путем перестановки блоков ОПн (при этом можно учитывать, что максимальное число различающихся ОПн, равное величине 276, достигается при h=828, что следует из (10)).
В этом случае максимальная величина ансамбля Q, получаемая путем перестановки различных блоков ОПн (при h=828), определяется величиной Q=276!.
Технический результат в генераторе нелинейных псевдослучайных последовательностей, содержащем генератор тактовых импульсов, регистр сдвига на h разрядов с синхровходом и с последовательным входом, h умножителей, каждый из которых на два входа и один выход, и сумматор по модулю два на h входов, достигается тем, что в него введены h/3 однотипных нелинейных преобразователей с тремя входами данных и двумя выходами каждый, hmod3=0, и блок из h мультиплексоров с двумя входами данных каждый и с общим управляющим входом, каждый из нелинейных преобразователей содержит инвертор, четыре функциональных преобразователя и четыре конъюнктора на два входа каждый, из которых первый и второй входят в первую группу конъюнкторов, а третий и четвертый - во вторую группу конъюнкторов, и два дизъюнктора на два входа каждый, каждый функциональный преобразователь имеет три входа задания преобразования, вход инициализации, два входа данных и выход, содержит параллельный регистр на три разряда с входом инициализации, два двухвходовых сумматора по модулю два и трехвходовый сумматор по модулю два, причем генератор тактовых импульсов соединен с синхровходом регистра сдвига, каждый из выходов которого соединен с первым входом умножителя соответственно, второй вход которого является входом для подачи заданных констант, принимающих значения «0» или «1», выходы каждого из h умножителей соединены с входами сумматора по модулю два соответственно, выход которого соединен с последовательным входом регистра сдвига, выходы которого под номерами (3i-2), (3i-1) и 3i соединены с входами данных i-го нелинейного преобразователя соответственно, а также с первыми входами данных блока мультиплексоров под номерами (3i-2), (3i-1) и 3i,
Схема генератора нелинейных псевдослучайных последовательностей приведена на фиг. 1, блока нелинейного преобразователя приведена на фиг. 2, а схема блока функционального преобразователя - на фиг. 3.
Генератор нелинейных псевдослучайных последовательностей (фиг. 1) содержит генератор 1 тактовых импульсов, регистр 2 сдвига на h разрядов с синхровходом и с последовательным входом, умножители 3k,
На фиг. 2 представлен нелинейный преобразователь 5i,
На фиг. 3 представлен функциональный преобразователь 9j,
Все блоки, приведенные на фиг. 1, фиг. 2 и фиг. 3, имеют стандартную и опубликованную в литературе реализацию, а также имеют входы электропитания, которые не изображены на фиг. 1, фиг. 2 и фиг. 3.
Рассмотрим генератор нелинейных псевдослучайных последовательностей в работе. В предлагаемом генераторе, как и в [1], вычисление элементов псевдослучайных последовательностей производится на основе генератора М-последовательности. По сравнению с прототипом ([2] на с. 147), в устройство введены: n/2=h/3 однотипных нелинейных преобразователя 5i,
Сущность изобретения в том, что предлагаемый генератор реализует процедуру последовательного вычисления элементов псевдослучайных последовательностей согласно формуле
где z1 и z2 вычисляются согласно (8) на основе значений a11, а12, b1, а21, а22 и b2, заданных по матрицам (7) при инициализации функциональных преобразователей, а значения (x1=x
3i-2, x2=x
3i-1, yi=x3i),
Техническая реализация процедуры (11) в виде блока нелинейного преобразователя, позволяет увеличить объем формируемых последовательностей с периодом N=2h-1 до величины Q=(n/2)!, n=(2/3)·h, где возможная максимальная величина - Q, получаемая путем перестановки различных блоков ОПн, определяется как Q=276! при h=828 (n=552).
При этом блок нелинейного преобразователя позволяет получить последовательность с периодом N=2h-1 согласно формуле вида (11).
Технический результат выражен в увеличении объема формируемых последовательностей путем применения нелинейного преобразователя.
Значения элементов М-последовательности, h-разрядные числа X, формируемые по синхросигналу, подаваемому с генератора 1 тактовых импульсов на синхровход регистра 2 сдвига, поступают с выходов регистра 2 сдвига на входы данных нелинейных преобразователей 5i,
При подаче напряжения питания происходит инициализация генератора нелинейных псевдослучайных последовательностей.
На этапе инициализации на вход 23 (фиг. 2) инициализации параллельного регистра 18 на три разряда с входом инициализации поступает сигнал (значение «1»), согласно которому в регистр 18 на три разряда с входом инициализации заносится информация о выполняемом преобразовании согласно формуле (7): на вход 22 задания преобразования функциональных преобразователей 91 и 93 каждого из нелинейных преобразователей 5l,
Если на выходе 8 генератора требуется получить значения М-последовательности, то на вход 7 конфигурации генератора псевдослучайных чисел требуется подать значение «0», если же на выходе 8 генератора требуется получить значения нелинейной последовательности, то на вход 7 конфигурации требуется подать значение «1».
На этапе функционирования, с генератора 1 тактовых импульсов поступает синхросигнал на синхровход регистра 2 сдвига. В данной связи в регистра 2 сдвига производится логический сдвиг двоичных значений его разрядов, а значение, формируемое на его последовательном входе при использовании умножителей 31, …, 3h и сумматора 4 по модулю два, заносится в младший разряд регистра 2 сдвига, n двоичных значений из регистра 2 сдвига поступают на входы нелинейных преобразователей 5l, n=(2/3)·h, hmod3=0, причем значения (x2l-1, x2l, yl) поступают на входы 13, 14 и 15 данных нелинейного преобразователя 5l,
Таким образом, введение в генератор нелинейных псевдослучайных последовательностей h/3 однотипных нелинейных преобразователей с тремя входами данных и двумя выходами каждый, а также блока из h мультиплексоров с двумя входами данных каждый и с общим управляющим входом, позволяет увеличить объем формируемых максимальных периодических последовательностей до величины Q=(n/2)!, n=(2/3)·h, hmod3=0, где h - количество двоичных разрядов чисел, снимаемых с выхода регистра сдвига, целое положительное число.
Источники информации
1. Пат. 1413616 SU, МПК4 G06F 1/02. Генератор нелинейных последовательностей / П.Г. Тараненко, Ю.И. Лютынский, А.В. Астанин и др. №4183715/24-24; заявл. 19.01.1987; опубл. 30.07.1988, Бюл. №28. 3 с.: ил.
2. Шумоподобные сигналы в системах передачи информации / В.Б. Пестряков, В.П. Афанасьев, В.Л. Гурвич и др. - М.: Сов. радио, 1973. - 424 с.
3. Свердлик М.Б. Оптимальные системы и сигналы. - М.: Сов. радио, 1975. - 200 с.
4. Молдовян Н.А., Молдовян А.А., Еремеев М. А. Криптография: от примитивов к синтезу алгоритмов. - СПб.: БХВ-Петербург, 2004. - 448 с.
5. Gunter, W. Linear transformations and exact minimization of BDDs / W. Gunter, R. Drechsler // IEEE Great Lakes Symposium on VLSI, Lafayette. - 1998. - P. 325-330.
6. Колпаков А.В. Методы и алгоритмы линейных и аффинных преобразований для модели бинарных диаграмм решений. Дисс. … канд. техн. наук: 05.13.18. - Казань, 2004.
7. Бухштаб А.А. Теория чисел / А.А. Бухштаб. - М.: Просвещение, 1966. - 384 с.
Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных устройствах для формирования кодовых последовательностей. Технический результат заключается в расширении функциональных возможностей за счет расширения класса формируемых последовательностей путем добавления на h-разрядный выход устройства-прототипа модуля, содержащего h/3 нелинейных преобразователей, каждый из которых имеет три двоичных входа и двухбитовый вход, а также блока из h мультиплексоров с двумя входами данных каждый и с общим управляющим входом. Технический результат достигается за счет того, что в генератор нелинейных псевдослучайных последовательностей введены h/3 однотипных нелинейных преобразователя с тремя входами данных и двумя выходами, hmod3=0, и блок из h мультиплексоров с двумя входами данных каждый и с общим управляющим входом, каждый из нелинейных преобразователей содержит инвертор, четыре функциональных преобразователя и четыре конъюнктора на два входа и два дизъюнктора на два входа. 3 ил., 1 табл.
Генератор нелинейных псевдослучайных последовательностей, содержащий генератор тактовых импульсов, регистр сдвига на h разрядов с синхровходом и с последовательным входом, h умножителей, каждый из которых на два входа и один выход, и сумматор по модулю два на h входов, отличающийся тем, что в него введены h/3 однотипных нелинейных преобразователей с тремя входами данных и двумя выходами каждый, hmod3=0, и блок из h мультиплексоров с двумя входами данных каждый и с общим управляющим входом, каждый из нелинейных преобразователей содержит инвертор, четыре функциональных преобразователя и четыре конъюнктора на два входа каждый, из которых первый и второй входят в первую группу конъюнкторов, а третий и четвертый - во вторую группу конъюнкторов, и два дизъюнктора на два входа каждый, каждый функциональный преобразователь имеет три входа задания преобразования, вход инициализации, два входа данных и выход, содержит параллельный регистр на три разряда с входом инициализации, два двухвходовых сумматора по модулю два и трехвходовый сумматор по модулю два, причем генератор тактовых импульсов соединен с синхровходом регистра сдвига, каждый из выходов которого соединен с первым входом умножителя соответственно, второй вход которого является входом для подачи заданных констант, принимающих значения «0» или «1», выходы каждого из h умножителей соединены с входами сумматора по модулю два соответственно, выход которого соединен с последовательным входом регистра сдвига, выходы которого под номерами (3i-2), (3i-1) и 3i соединены с входами данных i-го нелинейного преобразователя соответственно, а также с первыми входами данных блока мультиплексоров под номерами (3i-2), (3i-1) и 3i, , соответственно, выходы данных каждого из n/2 нелинейных преобразователей соединены со вторыми входами данных блока мультиплексоров под номерами с 1 по n соответственно, на вторые входы данных блока мультиплексоров под номерами с (n+1) по h являются входами для подачи значений «0», n=2h/3 соответственно, общий управляющий вход блока мультиплексоров является входом конфигурации, a h выходов блока мультиплексоров являются выходами генератора; первый вход данных нелинейного преобразователя соединен с первым входом данных каждого из четырех функциональных преобразователей, второй вход данных нелинейного преобразователя соединен со вторым входом каждого из четырех функциональных преобразователей, третий вход данных нелинейного преобразователя соединен с входом первого конъюнктора на два входа первой группы, с входом четвертого конъюнктора на два входа второй группы и с входом инвертора, выход инвертора соединен с входом второго конъюнктора на два входа первой группы и с входом третьего конъюнктора на два входа второй группы; выходы конъюнкторов на два входа первой группы соединены с входами первого дизъюнктора на два входа соответственно, выход которого соединен с первым выходом нелинейного преобразователя, а выходы конъюнкторов на два входа второй группы соединены с входами второго дизъюнктора на два входа соответственно, выход которого соединен со вторым выходом нелинейного преобразователя; входы задания преобразования и вход инициализации функционального преобразователя соединены с входами данных и инициализации параллельного регистра на три разряда с входом инициализации соответственно, первый выход данных параллельного регистра на три разряда соединен с входом первого двухвходового сумматора по модулю два, второй выход данных параллельного регистра на три разряда соединен с входом второго двухвходового сумматора по модулю два, третий выход данных параллельного регистра на три разряда соединен с входом трехвходового сумматора по модулю два, два входа которого соединены с выходами сумматоров по модулю два соответственно, а выход трехвходового сумматора соединен с выходом функционального преобразователя; вход первого двухвходового сумматора по модулю два соединен с первым входом данных функционального преобразователя, а вход второго двухвходового сумматора по модулю два соединен со вторым входом данных функционального преобразователя.
ГЕНЕРАТОР ПСЕВДОСЛУЧАЙНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ | 2010 |
|
RU2446444C1 |
ГЕНЕРАТОР ПСЕВДОСЛУЧАЙНЫХ СИГНАЛОВ | 2009 |
|
RU2416157C1 |
ГЕНЕРАТОР СЛУЧАЙНЫХ ПЕРЕСТАНОВОК | 2009 |
|
RU2395834C1 |
УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ РАСПРЕДЕЛЕНИЯ РАВНОМЕРНО ЦЕЛОЧИСЛЕННЫХ ПСЕВДОСЛУЧАЙНЫХ ВЕЛИЧИН | 1990 |
|
RU2042187C1 |
Цифровой оптический уровнемер | 1982 |
|
SU1075084A1 |
Авторы
Даты
2015-04-27—Публикация
2014-06-26—Подача