Разработка и исследование высокоскоростных генераторов псевдослучайных равномерно распределенных двоичных последовательностей, страница 8
Описание файла
PDF-файл из архива "Разработка и исследование высокоскоростных генераторов псевдослучайных равномерно распределенных двоичных последовательностей", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "диссертации и авторефераты" в общих файлах, а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.
Просмотр PDF-файла онлайн
Текст 8 страницы из PDF
существует линейный регистр сдвига длины L, порождающий эту последовательность), то для восстановления-45структуры регистра и его начального заполнения необходимо знать всеголишь 2L следующих подряд членов последовательности а.Таким образом, к достоинствам двоичных линейных регистров сдвигаотносятся простота их реализации, хорошая изученность свойств и большой период, а к недостаткам — низкая скорость работы (не превышающаяодного бита на такт) и малая линейная сложность выходной последовательности.1.2.6.3.
О Б О Б Щ Е Н Н Ы Е Р Е Г И С Т Р Ы СДВИГАВ 1973 г. Льюисом и Пэйном [46] был предложен новый генераторпсевдослучайных последовательностей — обобщенный регистр сдвига с обратными связями (generalized feedback shift register, GFSR). Появлениеобобщенных регистров сдвига явилось развитием метода генерации псевдослучайных последовательностей при помощи регистров сдвига с линейными обратными связями над полем F 2 .Значениями ячеек обобщенного регистра сдвига являются двоичныевекторы длины q с компонентами из поля F 2 .
Функционирование обобщенного регистра сдвига описывается рекуррентной зависимостьюOLt = ot-t-r+s Ф <*t-r,* = 1,2,...,(1.9)где OLi б F | , а символ ф обозначает операцию сложения по модулю 2. Следует отметить, что указанная рекуррентная зависимость по своей структуре соответствует выражению (1.7), описывающему регистр сдвига с линейными обратными связями, а также (с точностью до переобозначенияиндексов) рекурренте (1.6), описывающей генератор Фибоначчи с операцией «исключающее или».За каждый такт работы обобщенный регистр сдвига вырабатываем qбит выходной последовательности (разрядность q определяется длиной машинного слова ЭВМ), причем для этого требуется три обращения к памятии выполнение всего одной логической операции. Таким образом, генераторявляется быстродействующим, однако обладает существенными недостатками:- члены выходной последовательности обобщенного регистра сдвига —-46-векторы cxt — могут рассматриваться как совокупность битовых выходных последовательностей q независимых линейных регистров сдвига над полем F2, задаваемых рекуррентными соотношениями щ^ =cxij-r+s 0 oa,t-ri t = 1, 2,..., г = 1,..., q, где ац — г-ый компонент вектора ott\- максимальный период выходной последовательности обобщенного регистра сдвига равен Ттах = 2Г — 1, в то время как максимально возможный период для конечного автомата с внутренним состоянием, задаваемым rq бит памяти (каковым и является обобщенный регистрсдвига длины г с g-битовыми ячейками), равен 2rq.1.2.6.4.
О Б О Б Щ Е Н Н Ы Е Р Е Г И С Т Р Ы СДВИГА С З А К Р У Ч И В А Н И Е МВ 1992 г. Матсумото и Курита [54, 55] предложили новый вариантобобщенных регистров сдвига с обратными связями — обобщенные регистры сдвига с закручиванием (twisted generalized feedback shift register,TGFSR), описываемые соотношениемOLt = OCt-r+s 0oct-rA,(1.10)где (Xi G F^—-вектор длины q над полем F2, a A— (q x д)-матрица специального вида с элементами из поля F2, подбираемая таким образом, чтобыее вычисление могло быть эффективно реализовано на ЭВМ. Авторамиработы [54] предложен следующий вид матрицы А:( 0о10о1А =00\CLq-l aq-2(Ло(1.11)0aq-31Умножение на такую матрицу может быть выполнено чрезвычайно быстро. В частности, если ос — (a g _i,a 9 _2, • • •, OCQ) € F2 и а-(aq-i,aq-2, • • - ,ао) G Щ, то вычисление otA можно осуществить следую--47щим образом:_ Jshri(a),а0 = О,I shri(a) 0 a,а0 = 1,где операция shri (а) обозначает сдвиг двоичного вектора а на один разряд вправо.
Таким образом, в процессе работы обобщенного регистра сдвига осуществляется «закручивание» его внутреннего состояния, и выходнаяпоследовательность уже не может рассматриваться в качестве совокупности выходных последовательностей q независимых регистров сдвига с линейными обратными связями.Обобщенные регистры сдвига с закручиванием обладают следующими преимуществами по сравнению с обычными обобщенными регистрамисдвига:- ячейки памяти регистра могут быть инициализированы произвольными значениями при условии, что среди них будет хотя бы одно ненулевое;- свойства выходной последовательности обобщенного регистра сдвига сзакручиванием полностью определяются его структурой и не зависятот начальных значений;- максимальныйпериодвыходнойпоследовательностисоставляетГ<7Ттах = 2 — 1, и охватывает все возможные состояния регистра, кроменулевого;- выходная последовательность обобщенного регистра сдвига с закручиванием равномерно распределена в г измерениях (для сравнения: выходные последовательности линейных конгруэнтных генераторов равномерно распределены в лучшем случае в 5 измерениях [6]).1.2.6.5.
В И Х Р Ь М Б Р С Е Н Н АНаибольшее распространение приобрела модификация обобщенныхрегистров сдвига с закручиванием,известная как вихрьМерсенна(Mersenne twister, МТ) [56]. Название генератора обусловлено тем, что ониспользует некоторые свойства простых чисел Мерсенна (т. е. простых чисел вида 2Р — 1).Выходная последовательность а вихря Мерсенна описывается рекур--48рентным соотношениемoct = OLt-r+s® (upper g _ f c (a t _ r )||lower f c (a: f _ r + i)) A,£ = 1,2,...,(1.12)где члены последовательности ott 6 Zf — g-разрядные двоичные векторы.Параметрами алгоритма являются порядок рекуррентыг, целые числаs и к (0 < к < д), и (q х д)-матрица закручивания А. Начальное состояниегенератора определяется набором векторов (ско,а_1,... ,o:_ r +i).
Обозначение иррегд.(а:) соответствует к старшим битам вектора a., loweiq-k(ot) —(q — к) младшим битам, а операция || — конкатенации двоичных векторов.Матрица А имеет тот же вид, что и в случае обобщенных регистров сдвигас закручиванием (1.11).Отметим, что при к = 0 выражение (1.12) принимает вид (1.10), т.е.вихрь Мерсенна «вырождается» в обобщенный регистр сдвига с закручиванием, а при к — 0 и А = I — в обобщенный регистр сдвига (1.9).Как уже отмечалось в разделе 1.2.6.4, вычисление произведения аАсводится к логическому сдвигу двоичного слова на один разряд и побитовой операции «исключающее или».
Операции взятия старших и младшихчастей двоичных векторов может быть выполнена при помощи логическийопераций «и» и «или». Таким образом, вычисление рекурренты (1.12) основывается только на использовании логических и сдвиговых операций, чтообеспечивает генератору высокую скорость.Вихрь Мерсенна предназначен, в первую очередь, для использованияв задачах симуляции методом Монте-Карло, и члены выходной последовательности генератора в дальнейшем обычно отображаются на отрезокт[0,1) C l при помощи преобразования д(х) = х/2 ,т ^ q.
Для улучшения свойств распределения каждый член выходной последовательностиa = { a t G Z | } перед применением д{х) умножается справа на обратимуюперемешивающую матрицу Т (см. также [55]):f3t = OLtT.-49Матрица Т реализует последовательность следующих преобразований:w= oct®shrh(at),(1.13)w= ги © (shl;2(u>) Л и ) ,(1-14)ги = w © (shlfe(w) Лг>),(1.15)/3t = u>0shrf 4 (w),(1.16)где h, h, h и U — целые числа, определяющие величины сдвигов, w — промежуточные значения преобразований, и и v — g-разрядные битовые маски, shli(w) и shr/(io) — логический сдвиг двоичного слова w на I разрядоввлево и вправо соответственно, Л — операция логического «и».
Преобразования (1.14) и (1.15) были предложены в [55] для обобщенных регистровсдвига с закручиванием, а (1.13) и (1.16) добавлены при разработке вихряМерсенна.Существует несколько модификаций вихря Мерсенна, отличающихсяпараметрами. Наиболее часто используется т.н. алгоритм МТ19937 [56], вкотором:q = 32,а = 0x9908B0DF,h = 11,г = 624,u = Ox9D2C5680,l2 = 7,s = 397,v = 0xEFC60000,/3 = 15,к = 31,U = 18(вектор о = {aq-\, a g _2,..., ao) соответствует нижней строке матрицы А).Алгоритм МТ19937 обладает следующими достоинствами:- он эффективно вычислим на 32-разрядных ЭВМ и не требователен кобъему памяти (внутреннее состояние занимает 624 32-битных слова);- период выходной последовательности имеет огромное значение Т =219937 _ 1 ~ ю6001, что на много порядков превосходит текущие потребности;- выходная последовательность обладает хорошими статистическимисвйоствами: в частности, она успешно проходит статистические тестыиз набора DIEHARD и является равномерно распределенной в 623 из--50мерениях.Тем не менее, следует отметить, что вихрь Мерсенна не может напрямую использоваться в качестве криптографического генератора псевдослучайных чисел из-за предсказуемости выходной последовательности; основной областью применения генератора авторы работы [56] считали методыМонте-Карло.1.2.6.6.
Р Е Г И С Т Р Ы СДВИГА С Н Е Л И Н Е Й Н Ы М И О Б Р А Т Н Ы М И С В Я З Я М ИСтруктура регистра сдвига с нелинейными обратными связями (nonlinear feedback shift register, NLFSR) приведена на рис. 1.4. Для вычисления очередного состояния регистра и символа выходной последовательности используется нелинейная функция обратной связи /:at = f(cxt-i, «i-2, • • •, ott-ь),где L — длина регистра.1а,2«м«Г-2L«/-3Щ-L'г•'^3^^'^-гat-L''^Рис.
1.4. Регистр сдвига с нелинейными обратными связямиХотя возможно построение регистров над произвольным множествомзначений, обычно нелинейные регистры реализуются над полем F2. Функция / в таком случае является булевой и задает отображение/ : F^ —> F2.К достоинствам нелинейных регистров сдвига относятся:- эффективность и простота реализации (в первую очередь аппаратной);- непредсказуемость (в случае неизвестности функции /) и высокая линейная сложность последовательности.Тем не менее, нелинейные регистры сдвига обладают и существенныминедостатками, связанными со слабой изученностью их свойств:- сложность обеспечения хороших статистических свойств выходной последовательности ;-51- сложность предсказания периода для конкретного начального состояния.Для преодоления указанных недостатков используются различныеподходы.