Генератор нелинейных псевдослучайных последовательностей

 

Полезная модель относится к вычислительной технике и может быть использована в цифровых вычислительных устройствах для формирования кодовых последовательностей. Техническим результатом предлагаемой полезной модели является расширение функциональных возможностей - увеличение объема формируемых максимальных периодических последовательностей до величины Q=(n/2)!, n=(2/3)·h, hmod3=0, где h - количество двоичных разрядов чисел, снимаемых с выхода регистра сдвига, целое положительное число, путем добавления на h-разрядный выход устройства-прототипа модуля, содержащего h3 нелинейных преобразователей, каждый из которых имеет три двоичных входа и двух битовый выход, а также блока из h мультиплексоров с двумя входами данных каждый и с общим управляющим входом. Технический результат в генераторе нелинейных псевдослучайных последовательностей, содержащем генератор тактовых импульсов, регистр сдвига на h разрядов с синхровходом и с последовательным входом, h умножителей на два входа и выход каждый и сумматор по модулю два на h входов, достигается тем, что в него введены h/3 однотипных нелинейных преобразователя с тремя входами данных и двумя выходами, hmod3=0, и блок из h мультиплексоров с двумя входами данных каждый и с общим управляющим входом, каждый из нелинейных преобразователей содержит инвертор, четыре функциональных преобразователя и четыре конъюнктора на два входа и два дизъюнктора на два входа, каждый функциональный преобразователь включает три входа задания преобразования, вход инициализации, два входа данных и выход, включает параллельный регистр на три разряда с входом инициализации, два двухвходовых сумматора по модулю два и трехвходовый сумматор по модулю два. 3 илл.

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

Известен генератор нелинейных последовательностей, приведенный в [1], содержащий регистр сдвига из последовательно соединенных триггеров, сумматор по модулю два, второй, третий и четвертый триггеры, сумматор по модулю два, с первого по девятый элементы «И», четыре сумматора по модулю два. Указанный генератор реализован на основе известной схемы генератора линейной М-последовательности [1, к. 1, с. 22-27].

Известен генератор псевдослучайных последовательностей, приведенный в книге [2] на с. 147, фиг. 4.2.3 (генератор M-последовательностей), выбранный в качестве прототипа, содержащий генератор тактовых импульсов, регистр сдвига с синхровходом, с последовательным входом и с выходом на h разрядов, h умножителей и сумматор по модулю два на h входов.

Устройство-прототип имеет следующие функциональные связи.

Выход генератора тактовых импульсов соединен с синхровходом регистра сдвига, а h разрядов с выхода регистра сдвига через h умножителей соединены с h входами сумматора по модулю два, выход которого соединен с последовательным входом регистра сдвига, h разрядов, снимаемых с выхода регистра сдвига, являются выходом устройства.

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

При фиксированной разрядности h сдвигового регистра устройство позволяет формировать за счет применения h умножителей возможное количество (объем) различающихся M-последовательностей с периодом N=2h-1 (под различающимися M-последовательностями понимаются последовательности, каждую из которых нельзя было бы представить в виде циклического сдвига любой другой), определяемое по формуле вида [3, с. 33.]

,

где (N) - функция Эйлера (при h=10, Q1=60).

Известные свойства М-последовательностей показывают, что, несмотря на достаточно большой период и хорошие статистические качества, последовательности этого класса имеют простое аналитическое строение. Данный недостаток является следствием того, что М-последовательности формируются (в том числе и в устройстве - прототипе) на основе класса невырожденных двоичных матриц, связанных с классом примитивных полиномов над полем GF(2) и их схемная реализация сводится к применению одного типа линейных операций «сложение по модулю два».

Техническим результатом предлагаемой полезной модели является расширение функциональных возможностей: на выходе полезной модели можно получить либо Q=(n/2)!, n=(2/3)·h, hmod3=0, последовательностей двоичных n-разрядных чисел с периодом N=2h-1 из класса нелинейных периодических последовательностей либо Q=(N)/h последовательностей двоичных h-разрядных чисел с периодом N=2h-1 из класса M-последовательностей, где (N) - функция Эйлера, за счет добавления на h-разрядный выход устройства-прототипа модуля, содержащего h/3 нелинейных преобразователей, каждый из которых имеет три двоичных входа и двух битовый выход, а также блока из h мультиплексоров с двумя входами данных каждый и с общим управляющим входом.

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

На выходе модуля получаем двоичное псевдослучайное число, характер которого зависит от значения на общем управляющем входе блока из к мультиплексоров. Либо это h-разрядное число, формируемое генератором M-последовательности, либо и-разрядное число, снимаемое с генератора нелинейных псевдослучайных последовательностей, n=(2/3)·h, при условии, что hmod3=0.

Нелинейная функция усложнения описывается следующим образом. Рассмотрим преобразование, представляемое в виде отображения (1), где GF(2) n множество n-разрядных двоичных векторов над полем GF(2)=(0, 1}.

Примем ограничение: отображение (1) является биективным преобразованием (биекцией), n - четное. Всего имеется 2n! различных биекций [4].

Определим линейное преобразование вектора X в зиде:

где A - двоичная невырожденная матрица размера n и равенство понимается по модулю 2. Число линейных невырожденных преобразований, выполняемых по формуле (2), определяется числом невырожденных матриц по соотношению [5]:

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

Разобьем вектор X на непересекающиеся пары переменных (x2i-1, x2i), . Линейному преобразованию над двумя переменными (x 2i-1, x2i), выполняемому по формуле (2), поставим в соответствие линейный операционный преобразователь (ОП L) от двух переменных, имеющий двух битовый выход.

Отображению (1) при n=2 соответствует 22!=24 биекций, что больше числа (определяемого по формуле (3)) линейных преобразований, представляемых невырожденными матрицами размера 2.

Рассмотрим аффинные преобразования, представляемые по формуле:

где вектор BGF(2)n, символ - обозначение операции суммирования по модулю 2. Число аффинных преобразований определяется формулой:

Аффинному преобразованию над парой переменных (x2i-1, x2i), осуществляемому по формуле (4), ставим в соответствие операционный преобразователь (ОПaff). В этом случае, как следует из (5), число различных ОПaff равно 24. Множество всех этих ОП aff обозначим символом Пaff

Операционные преобразователи ОПL и ОПaff будем называть эквивалентными, если для вектора (x2i-1, x2i ), , биективные преобразования вектора (x2i-1, x2i) в вектор (z2i-1, z2i), , выполняемые в ОПL и ОПaff, удовлетворяют условию ZL=Zaff.

Обозначим символом ПL,={ОПLi}, , множество ОПL, эквивалентных ОПaffПaff. Введем в рассмотрение систему - транспонированный кортеж вида

где m=n/2, gi - некоторое линейное биективное преобразование над вектором (x2i-1 , x2i), , выполняемое по формуле (2) соответствующим линейным операционным преобразователем ОПL.

Вследствие биективности преобразований gi, , система (6) описывает выполнение биективного преобразования вектора X=(x1, x2, , xn) в вектор Z=(z1, z2 , , zn). Систему (6) будем рассматривать как модель функции усложнения, реализующей отображение (1).

Обозначим символом ML={Ai}, множество невырожденных матриц Ai, размера 3 вида:

элементы a11, a12, b1, a21, a22 и b2 принимают значения 0 или 1. Введем следующее подмножество MB множества ML : MB={A14, A19, A7 }, где

(значения индекса i из интервала [1, 24] присвоены этим трем матрицам произвольно). Множество MB является базисом, порождающим множество ML.

Путем композиции (произведения) базисных матриц построим в соответствии с [6] все остальные матрицы множества ML. В таблице 1 дано представление множества матриц ML в базисе MB.

Матрицы, представленные в таблице 1 однозначно соответствуют 24-м аффинным преобразованиям вида:

т.е. реализуют все биективные преобразования от двух переменных и ОПLiПL можно задать матрицей AiML где в качестве входного вектора используем расширение вектора (x2i-1, x2i), представляемое вектором (x2i-1, x2i, 1).

Отсюда следует, что ОПLiПL можно задать 1) матрицей AiML, где в качестве входного вектора используется расширение вектора (x2i-1, x2i), представляемое вектором (x2i-1, х2i, 1) или 2) по формуле (8), на основе значений a11, a12 , b1, a21, a22 и b2, заданных по матрицам вида (7), представленным в таблице 1.

Представим нелинейную модель функции усложнения на основе системы ОПLiПL.

Рассмотрим преобразование двоичной последовательности, представляемое в виде отображения

пространства GF(2)h h-мерных, h=n+m, nmod2=0, векторов V=(X, Y)=(x1, x2 , , xn, y1, y2, , ym) в пространство GF(2)n n-мерных векторов Z=(z1, z2, , zn) над полем GF(2). В преобразовании (9) вектор V рассматривается как конкатенация векторов X=(x1 , x2, , xn) и Y=(y1, y2, , ym), m=n/2, где вектор X - преобразуемый, а вектор Y - управляющий.

Отображение (9) зависит от управляющего вектора Y. Известно [4], что при таком способе преобразования нелинейность последовательности векторов Z в (9) проявляется ввиду существования этой зависимости.

Пусть периодическая последовательность векторов V=(X, Y)=(x 1, x2, , xn, y1, y2, , ym) в (9) формируется генератором псевдослучайных М-последовательностей с периодом L=2h-1, основанном на линейном регистре сдвига, длина которого, h, отвечает условию (10)

где nmod2=0, m=n/2, hmod3=0.

Будем рассматривать эту M-последовательность как последовательность векторов X=(x1, x2, , xh) размера h. Разобьем вектор X на непересекающиеся триграммы переменных (x3i-2, x3i-1, x 3i), где 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-х битовый выход. В качестве входного вектора элемента ОПн используем вектор (x 3i-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 переменная x3i является управляющей. ОП н представим как пару ОПLiПL. В ОПн один ОПLiПL выполняет преобразование над вектором (x 3i-2, x3i-1, 1) при x3i=0, а второй ОПLiПL выполняет преобразование над вектором (x 3i-2, x3i-1, 1) при x3i=1. Нелинейность преобразования в ОПн реализуется ввиду зависимости операции, выполняемой в ОПн, от управляющего бита. Объединение ОПн рассматривается как реализация отображения (9).

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

Предлагаемое устройство позволяет увеличить объем формируемых последовательностей с периодом N=2 h-1 до величины Q=(n/2)!, n=(2/3)·h. Например, для h=48 Q=16!20,9·1012.

Величину ансамбля Q при фиксированной входной M-последовательности можно менять следующим образом.

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, , соответственно, выходы данных каждого из n/2 нелинейных преобразователей соединены со вторыми входами данных блока мультиплексоров под номерами с 1 по n, соответственно, на вторые входы данных блока мультиплексоров под номерами с (n+1) по h являются входами для подачи значений «0», n=2h/3, соответственно, общий управляющий вход блока мультиплексоров является входом конфигурации, а к выходов блока мультиплексоров являются выходами генератора; первый вход данных нелинейного преобразователя соединен с первым входом данных каждого из четырех функциональных преобразователей, второй вход данных нелинейного преобразователя соединен со вторым входом каждого из четырех функциональных преобразователей, третий вход данных нелинейного преобразователя соединен с входом первого конъюнктора на два входа первой группы, с входом четвертого конъюнктора на два входа второй группы и с входом инвертора, выход инвертора соединен с входом второго конъюнктора на два входа первой группы и с входом третьего конъюнктора на два входа второй группы; выходы конъюнкторов на два входа первой группы соединены с входами первого дизъюнктора на два входа, соответственно, выход которого соединен с первым выходом нелинейного преобразователя, а выходы конъюнкторов на два входа второй группы соединены с входами второго дизъюнктора на два входа, соответственно, выход которого соединен со вторым выходом нелинейного преобразователя; входы задания преобразования и вход инициализации функционального преобразователя соединены с входами данных и инициализации параллельного регистра на три разряда с входом инициализации, соответственно, первый выход данных параллельного регистра на три разряда соединен с входом первого двухвходового сумматора по модулю два, второй выход данных параллельного регистра на три разряда соединен с входом второго двухвходового сумматора по модулю два, третий выход данных параллельного регистра на три разряда соединен с входом трехвходового сумматора по модулю два, два входа которого соединены с выходами сумматоров по модулю два, соответственно, а выход трехвходового сумматора соединен с выходом функционального преобразователя; вход первого двухвходового сумматора по модулю два соединен с первым входом данных функционального преобразователя, а вход второго двухвходового сумматора по модулю два соединен со вторым входом данных функционального преобразователя.

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

Генератор нелинейных псевдослучайных последовательностей (фиг. 1) содержит генератор 1 тактовых импульсов, регистр 2 сдвига на h разрядов с синхровходом и с последовательным входом, умножители 3k, , каждый из которых на два входа и один выход, и сумматор 4 по модулю два на h входов, нелинейные преобразователи 5 l с тремя входами данных и двумя выходами каждый, , n=(2/3)·h, блок 6 мультиплексоров с двумя входами данных каждый и с общим управляющим входом 7, выход блока 6 мультиплексоров является h-разрядным выходом 8 генератора нелинейных псевдослучайных последовательностей, причем генератор 1 тактовых импульсов соединен с синхровходом регистра 2 сдвига, k-й выход которого соединен с входом умножителя 3k, на второй вход каждого из которых - 27k, , подаются константы, «0» или «1», соответствующие коэффициентам примитивного неприводимого полинома [7], образующего M-последовательность для генератора, приведенного в книге [2] на с. 147, фиг. 4.2.3, выход каждого из умножителей 3k, , соединен с k-м входом сумматора 4 по модулю два, выход которого соединен с последовательным входом регистра 2 сдвига, выходы которого с (3i-2)-го по 3i-й соединены с входами данных под номерами 13, 14 и 15, соответственно, нелинейного преобразователя 5i, , представленного на фиг. 2, и с первыми входами данных блока 6 мультиплексоров под номерами с (3i-2) по 3i, выходы данных каждого из нелинейных преобразователей 5i, , под номерами 16 и 17, представленные на фиг. 2, соединены со вторыми входами данных блока 6 мультиплексоров под номерами с 1 по n, вторые входы 28 данных блока 6 мультиплексоров под номерами с (n+1) по h являются входами для подачи значение «0», n=2h/3, управляющий вход 7 блока 6 мультиплексоров является входом конфигурации, а выход 8 блока 6 мультиплексоров является h-разрядным выходом генератора нелинейных псевдослучайных последовательностей.

На фиг.2 представлен нелинейный преобразователь 5 i, , n/2=h/3, который включает четыре функциональных преобразователя 91-94, четыре конъюнктора 101 -104 на два входа, из которых 101 и 10 2 входят в первую группу, 103 и 104 - во вторую группу, инвертор 11, два дизъюнктора 121 и 122 на два входа, три входа данных - 13, 14 и 15, а также два выхода 16 и 17, при этом вход 13 нелинейного преобразователя является первым входом 24 каждого из функциональных преобразователей 91-94, представленных на фиг. 3, вход 14 нелинейного преобразователя является вторым входом 25 каждого из функциональных преобразователей 91-94 (см. фиг. 3), выход 26 каждого из функциональных преобразователей 9j (см. фиг. 3) соединен со входом конъюнктора 10, на два входа, соответственно, , вход 15 нелинейного преобразователя соединен с входами конъюнкторов 101 и 104 на два входа и входом инвертора 11, соответственно, выход инвертора 11 соединен с входами конъюнкторов 102 и 103 на два входа, соответственно, выходы конъюнкторов 101 и 102 на два входа соединены с входами дизъюнктора 121 на два входа, соответственно, выходы конъюнкторов 103 и 104 на два входа соединены с входами дизъюнктора 122 на два входа, соответственно, выходы дизъюнкторов 121 и 122 являются выходами 16 и 17 нелинейного преобразователя, соответственно.

На фиг. 3 представлен функциональный преобразователь 9j, , который содержит параллельный регистр 18 на три разряда с входом инициализации, двухвходовые сумматоры 19 и 20 по модулю два, трехвходовый сумматор 21 по модулю два, вход 22 задания преобразования, вход 23 инициализации, входы 24 и 25 данных и выход 26, при этом вход задания преобразования 22 соединен с входом данных параллельного регистра 18 на три разряда с входом инициализации, вход 23 инициализации соединен с входом инициализации параллельного регистра 18 на три разряда с входом инициализации, первый выход параллельного регистра 18 на три разряда с входом инициализации соединен с входом двухвходового сумматора 19 по модулю два, второй выход параллельного регистра 18 на три разряда с входом инициализации соединен с входом двухвходового сумматора 20 по модулю два, третий выход параллельного регистра 18 на три разряда с входом инициализации соединен с входом трехвходового сумматора 21 по модулю два, входы которого соединены с выходами двухвходовых сумматоров 19 и 20 по модулю два, выход трехвходового сумматора 21 по модулю два является выходом 26 функционального преобразователя, входы данных 24 и 25 функционального преобразователя соединены с входами двухвходовых сумматоров 19 и 20 по модулю два, соответственно.

Все блоки, приведенные на фиг. 1, фиг. 2 и фиг. 3, имеют стандартную и опубликованную в литературе реализацию, а также имеют входы электропитания, которые не изображены на фиг. 1, фиг. 2 и фиг. 3.

Рассмотрим генератор нелинейных псевдослучайных последовательностей в работе. В предлагаемом генераторе, как и в [1], вычисление элементов псевдослучайных последовательностей производится на основе генератора M-последовательности. По сравнению с прототипом ([2] на с. 147, фиг. 4.2.3,), в устройство введены: n/2=h/3 однотипных нелинейных преобразователя 5i, , с тремя входами данных и двумя выходами, n=(2/3)·h, hmod3=0, и блок 6 мультиплексоров с общим управляющим входом 7, выход 8 блока 6 является h-разрядным выходом генератора нелинейных псевдослучайных последовательностей; каждый из нелинейных преобразователей 5i, , включает по четыре функциональных преобразователя 9 1-94, четыре конъюнктора 101-10 4 на два входа, из которых 101 и 102 входят в первую группу, а 103 и 104 - во вторую группу, инвертор 11, два дизъюнктора 121 и 122 на два входа, каждый функциональный преобразователь 9j, , включает параллельный регистр 18 на три разряда с входом инициализации, двухвходовые сумматоры 19 и 20 по модулю два, трехвходовый сумматор 21 по модулю два.

Сущность полезной модели в том, что предлагаемый генератор реализует процедуру последовательного вычисления элементов псевдослучайных последовательностей согласно формуле

где z1 и z2 вычисляются согласно (8) на основе значений a11, a 12, b1, a21, a 22 и b2, заданных по матрицам (7) при инициализации функциональных преобразователей, а значения (x1=x 3i-2, x2=x3i-1, yi=x 3i), , поступают с выхода генератора M-последовательности (прототипа), приведенного в книге [2] на с. 147, фиг. 4.2.3.

Техническая реализация процедуры (11) в виде блока нелинейного преобразователя, позволяет увеличить объем формируемых последовательностей с периодом N=2h-1 до величины Q=(n/2)!, n=(2/3)·h, где возможная максимальная величина - Q, получаемая путем перестановки различных блоков ОПн, определяется как Q=276! при h=828 (n=552).

При этом блок нелинейного преобразователя позволяет получить последовательность с периодом N=2h -1 согласно формуле вида (11).

Технический результат выражен в увеличении объема формируемых последовательностей путем применения нелинейного преобразователя.

Значения элементов M-последовательности, h-разрядные числа X, формируемые по синхросигналу, подаваемому с генератора 1 тактовых импульсов на синхровход регистра 2 сдвига, поступают с выходов регистра 2 сдвига на входы данных нелинейных преобразователей 5i , . По синхросигналу, поступающему с генератора 1 тактовых импульсов, значения X={(x2l-1, x2l, y 1)}, поступают на входы 13, 14 и 15 данных каждого из нелинейных преобразователей 5l, с выходов 16 и 17 каждого из которых снимаются значения Z={(z2l-1, z2l )}, соответственно, (фиг. 2). Выходы 16 и 17 каждого из нелинейных преобразователей 5l, , общее количество которых равно n, соединены с вторыми входами данных блока 6 мультиплексоров под номерами с 1 по n, n=2h/3, на вторые входы 28 данных блока 6 мультиплексоров под номерами с (n+1) по h подано значение «0», с первыми входами данных блока 6 мультиплексоров соединены выходы данных регистра 2 сдвига, общий вход 7 блока 6 мультиплексоров является входом конфигурации, а выход 8 блока 6 мультиплексоров является выходом генератора нелинейных псевдослучайных последовательностей.

При подаче напряжения питания происходит инициализация генератора нелинейных псевдослучайных последовательностей.

На этапе инициализации на вход 23 (фиг. 2) инициализации параллельного регистра 18 на три разряда с входом инициализации поступает сигнал (значение «1»), согласно которому в регистр 18 на три разряда с входом инициализации заносится информация о выполняемом преобразовании согласно формуле (7): на вход 22 задания преобразования функциональных преобразователей 91 и 93 каждого из нелинейных преобразователей 5l, , поступают значения a11, a 12 и b1, на первый, второй и третий разряды параллельного регистра 18 на три разряда с входом инициализации, соответственно, а на вход 22 задания преобразования функциональных преобразователей 92 и 94 каждого из нелинейных преобразователей 5l, , поступают значения a11, a 22 и b2, на первый, второй и третий разряды параллельного регистра 18 на три разряда с входом инициализации, соответственно. При этом в каждый из нелинейных преобразователей 5l, , заносятся свои значения a11, a 12, a21, a22 и b2, задающие одно из аффинных преобразований (биекций) вида (7).

Если на выходе 8 генератора требуется получить значения M-последовательности, то на вход 7 конфигурации генератора псевдослучайных чисел требуется подать значение «0», если же на выходе 8 генератора требуется получить значения нелинейной последовательности, то на вход 7 конфигурации требуется подать значение «1».

На этапе функционирования, с генератора 1 тактовых импульсов поступает синхросигнал на синхровход регистра 2 сдвига. В данной связи в регистра 2 сдвига производится логический сдвиг двоичных значений его разрядов, а значение, формируемое на его последовательном входе при использовании умножителей 31, , 3h и сумматора 4 по модулю два, заносится в младший разряд регистра 2 сдвига, n двоичных значений из регистра 2 сдвига поступают на входы нелинейных преобразователей 5 l, n=(2/3)·h, hmod3=0, причем значения (x2l-1 , x2l, yl,) поступают на входы 13, 14 и 15 данных нелинейного преобразователя 5l ,, внутри которого значения с входов 13 и 14 данных поступают на входы 24 и 25 данных каждого из функциональных преобразователей 91, , 94, соответственно, а с входа данных 15 - на входы конъюнкторов 101 и 104 на два входа и инвертора 11, с выхода которого значения поступают на входы конъюнкторов 102 и 103 на два входа; внутри каждого из функциональных преобразователей 91 , , 94 значения, поступившие на входы 24 и 25 данных поступают на один из входов двухвходовых сумматоров 19 к 20 по модулю два, значения с выходов двухвходовых сумматоров 19 и 20 поступают на два входа трехвходового сумматора 21 по модулю два, значение с выхода которого поступает на выход 26 каждого из функциональных преобразователей 91, 94; значения с выходов функциональных преобразователей 91, , 94 поступают на входы конъюнкторов 10 1, , 104, соответственно, значения с выходов конъюнкторов 101 и 102 поступают на входы дизъюнктора 121 на два входа, а значения с выходов конъюнкторов 103 и 104 поступают на входы дизъюнктора 122 на два входа, с выходов дизъюнкторов 121 и 122 на два входа, которые являются выходами 16 и 17 нелинейного преобразователя 5l, снимаются значения (z2l-1, z2l), , поступающие на вторые входы данных блока 6 мультиплексоров под номерами с 1 по n, на вторые входы 28 данных блока 6 мультиплексоров под номерами с (n+1) по h подано значение «0», на первый вход блока 6 мультиплексоров поступают данные с h-разрядного регистра 2 сдвига, значение на общем управляющем входе 7 блока 6 мультиплексоров позволяет выбрать, какая из последовательностей, линейная или нелинейная, поступит на выход 8 блока 6 мультиплексоров. Выход 8 является h-разрядным выходом генератора нелинейных псевдослучайных последовательностей, на который поступают h значений из регистра 2 сдвига (M-последовательность) при подаче на управляющий вход 7 значения «0», тогда как при подаче на вход 7 значения «1», на n разрядов h-разрядного выхода 8 поступают значения, снимаемые с n/2 нелинейных преобразователей 5l , , n=2h/3.

Таким образом, введение в генератор нелинейных псевдослучайных последовательностей h/3 однотипных нелинейных преобразователей с тремя входами данных и двумя выходами каждый, а также блока из к мультиплексоров с двумя входами данных каждый и с общим управляющим входом, позволяет увеличить объем формируемых максимальных периодических последовательностей до величины Q=(n/2)!, n=(2/3)·h, hmod3=0, где h - количество двоичных разрядов чисел, снимаемых с выхода регистра сдвига, целое положительное число.

1. Пат. 1413616 SU, МПК 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, Lafay-ette. - 1998. - P. 325-330.

6. Колпаков А.В. Методы и алгоритмы линейных и аффинных преобразований для модели бинарных диаграмм решений. Дисс канд. техн. наук: 05.13.18. - Казань, 2004.

7. Бухштаб А.А. Теория чисел / А.А. Бухштаб. - М.: Просвещение, 1966. - 384 с.

Генератор нелинейных псевдослучайных последовательностей, содержащий генератор тактовых импульсов, регистр сдвига на 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 выходов блока мультиплексоров являются выходами генератора; первый вход данных нелинейного преобразователя соединен с первым входом данных каждого из четырех функциональных преобразователей, второй вход данных нелинейного преобразователя соединен со вторым входом каждого из четырех функциональных преобразователей, третий вход данных нелинейного преобразователя соединен с входом первого конъюнктора на два входа первой группы, с входом четвертого конъюнктора на два входа второй группы и с входом инвертора, выход инвертора соединен с входом второго конъюнктора на два входа первой группы и с входом третьего конъюнктора на два входа второй группы; выходы конъюнкторов на два входа первой группы соединены с входами первого дизъюнктора на два входа, соответственно, выход которого соединен с первым выходом нелинейного преобразователя, а выходы конъюнкторов на два входа второй группы соединены с входами второго дизъюнктора на два входа, соответственно, выход которого соединен со вторым выходом нелинейного преобразователя; входы задания преобразования и вход инициализации функционального преобразователя соединены с входами данных и инициализации параллельного регистра на три разряда с входом инициализации, соответственно, первый выход данных параллельного регистра на три разряда соединен с входом первого двухвходового сумматора по модулю два, второй выход данных параллельного регистра на три разряда соединен с входом второго двухвходового сумматора по модулю два, третий выход данных параллельного регистра на три разряда соединен с входом трехвходового сумматора по модулю два, два входа которого соединены с выходами сумматоров по модулю два, соответственно, а выход трехвходового сумматора соединен с выходом функционального преобразователя; вход первого двухвходового сумматора по модулю два соединен с первым входом данных функционального преобразователя, а вход второго двухвходового сумматора по модулю два соединен со вторым входом данных функционального преобразователя.



 

Наверх