Diss Lavdanskiy

195
Черкаський державний технологічний університет Міністерство освіти і науки України Кваліфікаційна наукова праця на правах рукопису Лавданський Артем Олександрович УДК 004.421.5:004.056.55 ДИСЕРТАЦІЯ МЕТОДИ ТА ЗАСОБИ ФОРМУВАННЯ ПСЕВДОВИПАДКОВИХ ПОСЛІДОВНОСТЕЙ ДЛЯ КОМП'ЮТЕРНОЇ КРИПТОГРАФІЇ 05.13.05 - комп’ютерні системи та компоненти 12 - інформаційні технології Подається на здобуття наукового ступеня кандидата технічних наук Дисертація містить результати власних досліджень. Використання ідей, ’ текстів інших авторів мають посилання на відповідне джерело А.О. Лавданський Науковий керівник Фауре Еміль Віталійович кандидат технічних наук, доцент результатів і "Що' Черкаси - 2017

Transcript of Diss Lavdanskiy

Page 1: Diss Lavdanskiy

Черкаський державний технологічний університет

Міністерство освіти і науки України

Кваліфікаційна наукова праця на правах рукопису

Лавданський Артем Олександрович

УДК 004.421.5:004.056.55

ДИСЕРТАЦІЯ

МЕТОДИ ТА ЗАСОБИ ФОРМУВАННЯ ПСЕВДОВИПАДКОВИХ ПОСЛІДОВНОСТЕЙ ДЛЯ КОМП'ЮТЕРНОЇ КРИПТОГРАФІЇ

05.13.05 - комп’ютерні системи та компоненти

12 - інформаційні технології

Подається на здобуття наукового ступеня кандидата технічних наук

Дисертація містить результати власних досліджень. Використання ідей,

’ текстів інших авторів мають посилання на відповідне джерело

А.О. Лавданський

Науковий керівник

Фауре Еміль Віталійович

кандидат технічних наук, доцент

результатів і

"Що'

Черкаси - 2017

Page 2: Diss Lavdanskiy

АНОТАЦІЯ

Лавданський А.О. Методи та засоби формування псевдовипадкових

послідовностей для комп’ютерної криптографії. - Кваліфікаційна наукова праця

на правах рукопису.

Дисертація на здобуття наукового ступеня кандидата технічних наук за

спеціальністю 05.13.05 «Комп’ютерні системи та компоненти». - Черкаський

державний технологічний університет, Черкаси, 2017.

Дисертаційна робота присвячена актуальним питанням розробки нових та

вдосконалення існуючих методів і засобів формування та оцінювання

псевдовипадкових послідовностей для комп’ютерної криптографії.

У дисертаційній роботі проведено дослідження існуючих методів і засобів

формування псевдовипадкових послідовностей, зокрема лінійного

конгруентного методу та регістра зсуву з лінійними зворотними зв’язками.

Дослідження дозволило виявити та усунути основні недоліки генераторів на

основі лінійного конгруентного методу та регістра зсуву з лінійними зворотними

зв’язками за рахунок запропонованого методу перетворення послідовності слів

у рівномірно розподілену на всій області можливих значень. Це дозволило

виконати формування послідовності перестановок за рахунок конкатенації

циклів генератора для будь-якої конструкції графа його станів (за довільних

значень параметрів генератора).

Удосконалено комбінаційний метод формування псевдовипадкових

послідовностей за рахунок використання множини перестановок та комбінуючої

функції підсумовування за модулем або мультиплексування, що дозволило

збільшити період повторення псевдовипадкової послідовності та покращити її

статистичні властивості.

Проведене дослідження послідовностей слів на виході генераторів, що

реалізують запропоновані методи, дозволило зробити висновки про їх

статистичні властивості. Запропонований метод оцінки автокореляційної

функції дозволив за рахунок визначення статистичних властивостей коефіцієнтів

Page 3: Diss Lavdanskiy

автокореляції досліджуваної послідовності чисел виявити її статистичні

відхилення.

Розроблені алгоритми та структурні схеми пристроїв на основі

запропонованих методів дозволяють виконати реалізацію генераторів

псевдовипадкових послідовностей для їх практичного застосування. Розроблена

методика збільшення розрядності псевдовипадкових послідовностей дозволяє

отримувати слово будь-якої розрядності без значного зменшення продуктивності

та ускладнення конструкції існуючих методів та засобів формування

псевдовипадкових послідовностей. Запропоновано методику визначення часу

відтворення періоду повторення слів генераторів псевдовипадкових

послідовностей в умовах постійного збільшення обчислювальних можливостей

обладнання.

Наукова новизна отриманих результатів:

• вперше розроблено метод формування псевдовипадкової послідовності

на основі лінійного конгруентного генератора та регістра зсуву з лінійними

зворотними зв’язками шляхом конкатенації циклів генератора, що дозволило

формувати послідовність перестановок для довільних значень його параметрів;

• вперше розроблено метод оцінювання статистичних властивостей

послідовності рівномірно розподілених чисел на основі дослідження її

автокореляційної функції шляхом визначення статистичних властивостей

послідовності знаків коефіцієнтів автокореляції, що дало можливість виявити її

статистичні відхилення;

• набув подальшого розвитку метод формування псевдовипадкової

послідовності на основі комбінації генераторів псевдовипадкових чисел шляхом

комбінування перестановок за допомогою функції підсумовування за модулем

або мультиплексування, що дало змогу покращити статистичні властивості

послідовності та збільшити період її повторення.

Практичне значення отриманих результатів полягає у наступному.

Розроблено алгоритми та структурні схеми для:

Page 4: Diss Lavdanskiy

• пристроїв формування послідовностей перестановок на основі лінійного

конгруентного методу і регістра зсуву з лінійними зворотними зв’язками.

Використання запропонованої схеми дає змогу:

- збільшити до восьми разів розмірність ключового простору;

- збільшити період перестановок у два і більше разів залежно від

кількості циклів та їх довжин;

• пристрою формування рівномірно розподілених псевдовипадкових

чисел, розрядність яких перевищує розрядність обчислювальної платформи, що

дає можливість збільшити розрядність слова псевдовипадкової послідовності у

два і більше разів;

• пристрою формування псевдовипадкових перестановок на основі

мультиплексування первинних генераторів псевдовипадкових чисел, що

дозволяє збільшити період повторення до значення суми періодів первинних

генераторів;

• комбінаційного генератора псевдовипадкових чисел з комбінуючою

функцією підсумовування за модулем М множини первинних генераторів, що

дає змогу збільшити період повторення псевдовипадкової послідовності у два і

більше разів;

• системи двоконтурного потокового шифрування, що дозволяє її

практичну реалізацію.

Отримані наукові результати доведені автором до:

1) методики формування рівномірно розподіленої псевдовипадкової

послідовності чисел, що відрізняється перевищенням розрядності формованих

чисел над розрядністю обчислювальної платформи;

2) методики визначення часу відтворення періоду повторення слів

генераторів псевдовипадкових чисел в умовах постійного збільшення

обчислювальних можливостей обладнання;

3) програмного засобу на базі .NET Framework, що дозволяє виконувати

оцінювання статистичних властивостей послідовностей чисел за допомогою

графічних тестів.

Page 5: Diss Lavdanskiy

Результати дисертаційної роботи впроваджені на ДП НДІ "Акорд"

(система дистанційного зв’язку, контролю та управління віддаленими об’єктами)

та в навчальний процес Черкаського державного технологічного університету (в

циклі дисциплін "Захист інформації в комп’ютерних системах" та "Основи теорії

інформації та кодування").

Ключові слова: генератор псевдовипадкових послідовностей,

комп’ютерна криптографія, лінійний конгруентний метод, регістр зсуву з

лінійними зворотними зв’язками, автокореляційна функція, період

послідовності, перестановки чисел.

ABSTRACT

A. Lavdanskyi. Methods and tools of forming pseudorandom sequences for

computer cryptography. - As a manuscript.

Ph.D. thesis on specialty 05.13.05 - Computer systems and components. -

Cherkasy State Technological University, Cherkasy, 2017.

The dissertation is devoted to actual issues of developing new and improving

existing methods and tools of forming and testing pseudorandom sequences for

computer cryptography.

The research of existing methods and tools of formation of pseudorandom

sequences, in particular linear congruential method and linear feedback shift register,

is conducted in this work. The study reveals major shortcomings of generators based

on linear congruential method and linear feedback shift register. The method of

converting a sequence of words in a uniformly distributed one throughout the region

of possible values is offered. This allows to create a sequence of permutations by

running the generator for concatenation cycles of any construction of a graph of its

states (for arbitrary values of the parameters of the generator).

Based on the proposed method of forming permutations, a combination method

for the formation of pseudorandom sequences has been improved by using a set of

permutations using the combination with module or multiplexing function. It increases

the period and improves statistical properties of pseudorandom sequences.

Page 6: Diss Lavdanskiy

A study of the sequences of words at the output of generators based on the

proposed methods and tools shows the high quality of such sequences. Proposed

pseudorandom number generator with combinational function of module is tested with

NIST Statistical Test Suite and TestU01 software library. All tests taken have been

passed successfully. The proposed method for evaluation of autocorrelation function

allows to determine statistical deviations by determining statistical properties of the

coefficients of autocorrelation of sequence of numbers.

The developed algorithms and structural schemes of devices based on the

proposed methods and tools allow implementation of pseudorandom sequence

generators for their practical application. The developed method of increasing the

pseudorandom sequence bit capacity allows to obtain the number of any bit capacity

without significantly reducing the productivity and complicating the design of existing

methods and tools of pseudorandom sequences generators. The method of determining

the reproduction time of the period of generators of pseudorandom sequences in the

conditions of constant increase of computational possibilities of equipment is offered.

Based on the proposed solutions a system of two-circuit stream encryption is

developed.

Scientific novelty of the obtained results:

• for the first time a method for the formation of a pseudorandom sequence on

the basis of a linear congruential generator and linear feedback shift register was

developed, which allowed to form a sequence of permutations for arbitrary values of

its parameters by concatenating generator loops;

• for the first time a method for estimating the statistical properties of a

sequence of uniformly distributed numbers was developed, based on the study of its

autocorrelation function by determining the statistical properties of the sequence of

signs of the coefficients of autocorrelation, which made it possible to detect its

statistical deviations;

• the method of forming a pseudorandom sequence based on a combination of

pseudorandom number generators by combining permutations with the summation by

Page 7: Diss Lavdanskiy

modulus or multiplexing function has been further developed, which made it possible

to improve the statistical properties of the sequence and increase its period.

The practical value of the results. Algorithms and structural schemes were

developed for:

• devices for forming sequences of permutations on the basis of linear

congruential method and linear feedback shift register. Using the proposed scheme

allows:

- to increase up to eight times the dimension of the key space;

- increase the period of permutations for two or more times depending on

the number of cycles and their lengths;

• a device for the formation of uniformly distributed pseudorandom numbers

whose digit exceeds the bit capacity of the computing platform, which makes it

possible to increase the bit capacity of the word for two or more times;

• a device for generating pseudorandom permutations based on the multiplexing

of primary generators, which allows to increase the period of repetition to the value of

the sum of periods of primary generators;

• a combinational generator with a combinational function of summation by

modulus of the set of primary generators, which allows to increase the period of

repetition of numbers for two or more times;

• two-circuit stream encryption system, which allows its practical

implementation.

The obtained scientific results are proved by the author to:

1) method of forming a uniformly distributed pseudorandom sequence of

numbers, which allows to exceed the bit capacity over the bit capacity of the computing

platform;

2) method of determining the reproduction time of the repetition period of the

words of the generators in the conditions of constant increase of computational

capabilities of the equipment;

3) a software based on .NET Framework that allows to evaluate the statistical

properties of the sequence of numbers using graphical tests.

Page 8: Diss Lavdanskiy

The results of the dissertation work were implemented at the State Enterprise

Research Institute "Akord" (remote communication, control and objects management

system) and in the educational process of Cherkasy State Technological University (in

the cycle of disciplines "Information Protection in Computer Systems" and

"Fundamentals of Information Theory and Coding").

Keywords: pseudorandom number generator, computer cryptography, linear

congruential method, linear feedback shift register, autocorrelation function, period of

sequence, permutations of numbers.

Список публікацій здобувача:

[1] А. С. Береза, А. А. Лавданский, В. В. Швыдкий, и Э. В. Фауре, "Генерация

конгруэнтных последовательностей чисел с наперед заданными

свойствами", Вісник Черкаського державного технологічного

університету, № 2, с. 3-8, 2012.

[2] Ю. Г. Лега, Э. В. Фауре, и А. А. Лавданский, "Технология генерации

случайных последовательностей с большой разрядностью чисел", Вісник

Черкаського державного технологічного університету, № 3, с. 3-8, 2012.

[3] А. А. Лавданский, В. В. Швыдкий, и Э. В. Фауре, "Метод формирования

последовательностей случайных чисел и его использование в системах

потокового шифрования", Вісник Черкаського державного технологічного

університету, № 1, с. 5-10, 2013.

[4] А. А. Лавданский, "Оценка качества генераторов псевдослучайных чисел

по величине ошибки воспроизведения закона распределения", Вісник

Хмельницького національного університету. Технічні науки, №2 1, с. 113-117,

2014.

[5] А. А. Лавданский и Э. В. Фауре, "Оценка статистических свойств

последовательностей на выходе комбинационного генератора с помощью

графических тестов", Системні дослідження та інформаційні технології,

№ 2, с. 39-50, 2015.

Page 9: Diss Lavdanskiy

[6] Э. В. Фауре, А. И. Щерба, и А. А. Лавданский, "Анализ корреляционных

свойств последовательностей (псевдо) случайных чисел", Наука і техніка

Повітряних Сил Збройних Сил України, № 1(18), с. 142-150, 2015.

[7] Э. В. Фауре, А. И. Щерба, и А. А. Лавданский, "Оценка статистических

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

комбинационным генератором", Комп ’ютерно-інтегровані технології:

освіта, наука, виробництво, № 18, с. 165-171, 2015.

[8] А. А. Лавданский, "Оценка времени формирования последовательности

чисел с учетом повышения производительности вычислительных блоков",

The scientific potential o f the present: Proceedings o f the International Scientific

Conference December 1, 2016 in the city St. Andrews, Scotland, UK, с. 123-126,

2016.

[9] Ю. Г. Лега, В. В. Швидкий, Е. В. Фауре, А. І. Щерба, і А. О. Лавданський,

"Спосіб двоконтурного поточного шифрування", МПК H04L 9/18 (2006.01),

№82044, 25-Лип-2013.

[10] А. О. Лавданський, Е. В. Фауре, В. В. Швидкий, і А. І. Щерба, "Спосіб

формування послідовності рівномірно розподілених випадкових чисел",

МПК G06F 7/58 (2006.01), №86718, 10-Січ-2014.

[11] Ю. Г. Лега, В. В. Швидкий, Е. В. Фауре, О. С. Лісіцина, і А. О. Лавданський,

"Спосіб формування послідовності випадкових чисел", МПК G06F 7/58

(2006.01), №86705, 10-Січ-2014.

[12] А. А. Лавданский и Э. В. Фауре, "Способ определения структуры графа

состояний линейного конгруэнтного генератора", в Автоматизація та

комп’ютерно-інтегровані технології у виробництві та освіті: стан,

досягнення, перспективи розвитку: матеріали Всеукраїнської науково-

практичної Internet-конференції, Черкаси, 2013, с. 110-112.

[13] А. А. Лавданский, "Генерация непредсказуемой последовательности чисел

конечным автоматом", в Праці IV Міжнародної науково-практичної

конференції «Обробка сигналів і негауссівських процесів», присвяченої

Page 10: Diss Lavdanskiy

пам ’яті професора Ю.П. Кунченка: Тези доповідей, М-во освіти і науки

України, Черкас. держ. технол. ун-т. - Черкаси: ЧДТУ, 2013, с. 161-163.

[14] А. А. Лавданский и Э. В. Фауре, "Комбинационный метод формирования

последовательности псевдослучайных чисел", в Системний аналіз та

інформаційні технології: матеріали 16-ї Міжнародної науково-технічної

конференції SAIT 2014, Київ, 2014, с. 403-404.

[15] А. А. Лавданский, "Оценка автокорреляционной функции случайного

процесса с помощью численных характеристик", в Проблеми

інформатизації: Матеріали другої міжнародної науково-технічної

конференції, Черкаси: ЧДТУ; Тольятті: ТДУ, 2014, с. 36-37.

[16] А. А. Лавданский, Э. В. Фауре, и А. И. Щерба, "Статистическая

характеристика последовательности чисел комбинационного генератора", в

Автоматизація та комп ’ютерно-інтегровані технології у виробництві та

освіті: стан, досягнення, перспективи розвитку: матеріали Всеукраїнської

науково-практичної Internet-конференції, Черкаси, 2015, с. 51-52.

[17] А. О. Лавданський, "Оцінка часу формування послідовності

псевдовипадкових чисел", в Проблеми інформатизації: Матеріали

четвертої міжнародної науково-технічної конференції, Черкаси: ЧДТУ;

Черкаси - Баку - Бельсько-Бяла - Полтава, 2016, с. 71.

Page 11: Diss Lavdanskiy

ЗМІСТ

2

СПИСОК ПРИЙНЯТИХ СКОРОЧЕНЬ......................................................................... 6

ВСТУП ............................................................................................................................ 7

РОЗДІЛ 1. ЗАГАЛЬНА ХАРАКТЕРИСТИКА ОБ’ЄКТУ ДОСЛІДЖЕННЯ 14

1.1. Вступ........................................................................................................................ 14

1.2. Вимоги до генераторів псевдовипадкових чисел........................................... 16

1.3. Класифікація методів формування послідовностей чисел........................... 18

1.4. Аналіз методів формування псевдовипадкових послідовностей............... 20

1.4.1. Лінійний конгруентний метод.....................................................................21

1.4.2. Регістр зсуву з лінійними зворотними зв'язками.................................... 23

1.4.3. Метод Блюм-Блюма-Шуба...........................................................................24

1.4.4. Адитивний метод формування псевдовипадкової послідовності 25

1.4.5. Вихор М ерсенна............................................................................................. 26

1.4.6. Комбінаційні методи формування псевдовипадкових

послідовностей........................................................................................................... 28

1.5. Аналіз методів оцінювання статистичних характеристик генераторів

псевдовипадкових чисел............................................................................................. 31

1.5.1. Критерій узгодженості Пірсона.................................................................. 33

1.5.2. Графічні методи оцінювання статистичних характеристик

послідовностей чисел .............................................................................................. 34

1.5.3. Статистичні методи оцінювання статистичних характеристик

псевдовипадкових послідовностей........................................................................36

1.5.4. Інтерпретація результатів оцінювання статистичних

характеристик псевдовипадкових послідовностей............................................40

1.6. Висновки..................................................................................................................41

РОЗДІЛ 2. МЕТОД ФОРМУВАННЯ ПСЕВДОВИПАДКОВОЇ

ПОСЛІДОВНОСТІ НА ОСНОВІ ЛІНІЙНОГО КОНГРУЕНТНОГО

ГЕНЕРАТОРА І РЕГІСТРА ЗСУВУ З ЛІНІЙНИМИ ЗВОРОТНИМИ

ЗВ’ЯЗКАМ И......................................................................................................................43

Page 12: Diss Lavdanskiy

2.1. Вступ........................................................................................................................43

2.2. Визначення графу стану генератора на основі лінійного

конгруентного методу................................................................................................. 46

2.3. Вибір параметрів лінійного конгруентного методу для заданого типу

графу.................................................................................................................................49

2.4. Розробка методу формування псевдовипадкової послідовності

шляхом конкатенації циклів генератора................................................................. 55

2.4.1. Формування псевдовипадкової послідовності шляхом

конкатенації циклів лінійного конгруентного генератора............................... 55

2.4.2. Формування псевдовипадкової послідовності шляхом

конкатенації циклів регістра зсуву з лінійними зворотними зв’язками 57

2.4.3. Опис методу формування псевдовипадкової послідовності на

основі лінійного конгруентного генератора та регістра зсуву з

лінійними зворотними зв'язками шляхом конкатенації циклів

генератора...................................................................................................................61

2.5. Розробка методики оцінювання часу відтворення повного періоду

повторення за умови збільшення продуктивності обчислювального

обладнання......................................................................................................................62

2.6. Висновки..................................................................................................................66

РОЗДІЛ 3. МЕТОД ФОРМУВАННЯ ПСЕВДОВИПАДКОВОЇ

ПОСЛІДОВНОСТІ НА ОСНОВІ КОМБІНАЦІЇ ГЕНЕРАТОРІВ..........................68

3.1. Вступ........................................................................................................................ 68

3.2. Перетворення псевдовипадкової послідовності в таблиці

перестановок і навпаки................................................................................................ 70

3.3. Розробка методу формування псевдовипадкових послідовностей

шляхом комбінування генераторів перестановок................................................. 71

3.3.1. Формування псевдовипадкової послідовності шляхом

комбінування генераторів перестановок за допомогою функції

підсумовування за модулем....................................................................................72

3

Page 13: Diss Lavdanskiy

3.3.2. Формування псевдовипадкової послідовності шляхом

комбінування генераторів перестановок за допомогою функції

мультиплексування...................................................................................................76

3.3.3. Опис методу формування псевдовипадкової послідовності на

основі комбінації генераторів................................................................................ SG

3.4. Розробка методики формування послідовностей з перевищенням

розрядності обчислювальної платформи................................................................. S1

3.5. Пристрій формування послідовностей з перевищенням розрядності

обчислювальної платформи........................................................................................SS

3.6. Реалізація комп’ютерної системи криптографічного захисту

інформації на основі запропонованих методів формування

псевдовипадкових послідовностей........................................................................... 9G

3.7. Висновки..................................................................................................................91

РОЗДІЛ 4. МЕТОД ОЦІНЮВАННЯ СТАТИСТИЧНИХ ВЛАСТИВОСТЕЙ

ПОСЛІДОВНОСТІ РІВНОМІРНО РОЗПОДІЛЕНИХ ЧИСЕЛ НА ОСНОВІ

ЇЇ АВТОКОРЕЛЯЦІЙНОЇ ФУНКЦІ Ї ........................................................................... 94

4.1. Вступ........................................................................................................................ 94

4.2. Аналіз статистичних властивостей послідовностей на виході

запропонованих генераторів за допомогою існуючих методів тестування 95

4.2.1. Аналіз статистичних властивостей послідовностей на виході

запропонованих генераторів за допомогою графічних методів......................96

4.2.2. Аналіз статистичних властивостей послідовностей на виході

запропонованих генераторів за допомогою статистичних методів

дослідження..............................................................................................................1G3

4.2.2.1. Пакети статистичного тестування NIST та Diehard.......................1G3

4.2.2.2. Пакет статистичного тестування TestUOl........................................ 1G7

4.2.2.3. Величина помилки відтворення рівномірного закону

розподілу................................................................................................................1GS

4.2.2.4. Непараметричні критерії дослідження. Критерій знаків.

Критерій серій...................................................................................................... 1G9

4

Page 14: Diss Lavdanskiy

4.3. Розробка методу оцінювання статистичних властивостей

послідовності рівномірно розподілених чисел на основі її

автокореляційної функції.......................................................................................... 112

4.3.1. Аналіз розподілу знаків бічних пелюсток автокореляційної

функції....................................................................................................................... 117

4.3.2. Аналіз розподілу k-грам для знаків бічних пелюсток

автокореляційної функції...................................................................................... 118

4.3.3. Опис методу оцінювання статистичних властивостей

послідовності рівномірно розподілених чисел на основі її

автокореляційної функції...................................................................................... 121

4.4. Висновки................................................................................................................122

ВИСНОВКИ..................................................................................................................... 124

Список використаних джерел...................................................................................... 127

ДОДАТОК А Програмна модель комбінаційного генератора на основі

підсумовування за модулем......................................................................................... 138

ДОДАТОК Б Вихідний код програмного продукту для проведення

тестування послідовностей за допомогою графічних методів тестування 144

ДОДАТОК В Приклад роботи програмного продукту для проведення

тестування послідовностей за допомогою графічних методів тестування 154

ДОДАТОК Д Результати тестування комбінаційного генератора за

допомогою статистичного пакету N IS T ....................................................................157

ДОДАТОК Е Результати тестування комбінаційного генератора за

допомогою статистичного пакету D iehard................................................................164

ДОДАТОК Ж Вихідний код для проведення тестування за допомогою

статистичного пакету тестування TestU01................................................................175

ДОДАТОК К Список публікацій здобувача за темою дисертації.......................178

ДОДАТОК Л Відомості про апробацію результатів дисертації.......................... 181

ДОДАТОК М Акти впровадження результатів дисертаційної роботи.............. 183

5

Page 15: Diss Lavdanskiy

6

СПИСОК ПРИЙНЯТИХ СКОРОЧЕНЬ

АКФ автокореляційна функція

ГПВЧ генератор псевдовипадкових чисел

ГВЧ генератор випадкових чисел

ПВП псевдовипадкова послідовність

РЗЛЗЗ регістр зсуву з лінійними зворотними зв'язками

ВПЗ вектор початкового завантаження

ЛКМ лінійний конгруентний метод

ЛКГ лінійний конгруентний генератор

ПЗП постійний запам’ятовуючий пристрій

Page 16: Diss Lavdanskiy

ВСТУП

7

Актуальність теми дослідження. Псевдовипадкові послідовності (ПВП)

широко використовуються для вирішення таких задач, як захист інформації від

несанкціонованого доступу в системах комп’ютерної криптографії, контроль

цілісності інформації в комп’ютерних системах та мережах, формування

сигналів, що забезпечують приховану передачу даних, реалізація моделювання

складних систем і об’єктів та інші задачі.

Методи та засоби формування ПВП, в тому числі запропоновані в

дисертації, призначені для формування послідовностей чисел, статистичні

властивості яких максимально близькі до властивостей випадкових

послідовностей, сформованих за допомогою фізичного процесу, результат якого

є непередбачуваним і не може бути повторно відтвореним. Ступінь такої

близькості оцінюється за допомогою застосування статистичних критеріїв, проте

завдяки сучасним інструментам тестування оцінюються лише деякі зі

статистичних властивостей послідовностей. Крім того, всі реалізації методів і

засобів формування ПВП характеризуються скінченним періодом повторення

слів. Оскільки продуктивність обчислювального обладнання постійно

підвищується, зменшується час, необхідний для відтворення періоду повторення

слів на виході генераторів псевдовипадкових чисел (ГПВЧ).

Питанням розробки нових та вдосконалення існуючих методів і засобів

формування ПВП, пошуку методів збільшення періоду псевдовипадкових

послідовностей чисел та перестановок, проведення порівняльного статистичного

оцінювання послідовностей випадкових і псевдовипадкових чисел приділено

увагу таких учених, як Donald Ervin Knuth [1], Makoto Matsumoto [2],

Takuji Nishimura [2], Derrick Henry Lehmer [3], George Marsaglia [4], [5],

Pierre L'Ecuyer [6]-[9], Bruce Schneier [10], Lenore Epstein Blum [11], [12],

Manuel Blum [11], [12], Michael Shub [11], [12], М.О. Іванов [13], І.В. Чугунков

[13], Л.Ю. Бараш [14], Л.М. Щур [14], Г.З. Халімов [15], [16], А.О. Корченко [17],

[18], І.Д. Горбенко [19], О.А. Борисенко [20].

Page 17: Diss Lavdanskiy

Проте залишаються невирішеними задачі покращення статистичних

властивостей ПВП для задач комп’ютерної криптографії, збільшення періоду

повторення слів на виході ГПВЧ, вимірювання та чисельного оцінювання

параметрів, що дають змогу з більшою точністю підтверджувати випадковість

послідовності.

Виходячи з цього, тема дисертаційної роботи "Методи та засоби

формування псевдовипадкових послідовностей для комп’ютерної криптографії" є

актуальною.

У дисертаційній роботі вирішується актуальна науково-технічна задача, яка

полягає в покращенні статистичних характеристик та збільшенні періоду

повторення ПВП шляхом розробки нових і вдосконалення існуючих методів та

засобів їх формування, а також розробці методу оцінювання статистичних

характеристик ПВП, що дозволяє виявити не визначені і не оцінені раніше

закономірності.

Зв’язок роботи з науковими програмами, планами, темами.

Дисертаційна робота виконана відповідно до Постанови Президії НАНУ від

20.12.13 № 179 "Основні наукові напрями та найважливіші проблеми

фундаментальних досліджень у галузі природничих, технічних і гуманітарних

наук Національної академії наук України на 2014 - 2018 рр.", а саме п. 1.2.8.1.

"Розробка методів та інформаційних технологій розв’язання задач комп’ютерної

криптографії та стеганографії".

Розробка основних положень дисертаційної роботи проводилася

відповідно до плану науково-дослідних робіт Черкаського державного

технологічного університету в рамках госпрозрахункової науково-дослідної

теми "Базові компоненти мікропроцесорних систем керування лазерними

технологічними компонентами на основі таблично-алгоритмічних методів,

моделей та теорії неповної подібності" (державний реєстраційний номер №

0113Ш03345), в якій автор був виконавцем.

Мета роботи полягає у підвищенні якості псевдовипадкових

послідовностей шляхом покращення їх статистичних властивостей.

8

Page 18: Diss Lavdanskiy

Для досягнення поставленої мети вирішувались такі наукові задачі:

• розробка методу формування перестановки на виході генератора на

основі лінійного конгруентного методу і регістра зсуву з лінійними зворотними

зв’язками для довільних значень їх параметрів;

• розробка комбінаційного методу формування псевдовипадкової

послідовності з перестановками чисел у якості первинних генераторів і

комбінуючою функцією підсумовування за модулем або мультиплексування;

• розробка методу статистичного оцінювання автокореляційної функції

рівномірно розподілених псевдовипадкових послідовностей чисел.

Об’єктом дослідження є процеси формування послідовностей

псевдовипадкових чисел.

Предметом дослідження є методи та засоби формування

псевдовипадкових послідовностей.

Методи досліджень. Для вирішення задачі розробки методу формування

перестановки на виході генератора на основі лінійного конгруентного методу і

регістра зсуву з лінійними зворотними зв’язками для довільних значень їх

параметрів використовувались методи: дискретної математики, теорії

ймовірності і математичної статистики, синтезу функціональних схем на основі

дискретної математики і теорії цифрових автоматів.

Для вирішення задачі розробки комбінаційного методу формування

псевдовипадкової послідовності з перестановками чисел у якості первинних

генераторів і комбінуючою функцією підсумовування за модулем або

мультиплексування використовувались методи: синтезу функціональних схем на

основі дискретної математики і теорії цифрових автоматів, комп’ютерної

криптографії, статистичного аналізу.

Для вирішення задачі розробки методу статистичного оцінювання

автокореляційної функції рівномірно розподілених псевдовипадкових

послідовностей чисел використовувались методи: кореляційного аналізу, теорії

ймовірності і математичної статистики, об’єктно-орієнтованого програмування.

9

Page 19: Diss Lavdanskiy

Наукова новизна отриманих результатів:

• вперше розроблено метод формування псевдовипадкової послідовності

на основі лінійного конгруентного генератора та регістра зсуву з лінійними

зворотними зв’язками шляхом конкатенації циклів генератора, що дозволило

формувати послідовність перестановок для довільних значень його параметрів;

• вперше розроблено метод оцінювання статистичних властивостей

послідовності рівномірно розподілених чисел на основі дослідження її

автокореляційної функції шляхом визначення статистичних властивостей

послідовності знаків коефіцієнтів автокореляції, що дало можливість виявити її

статистичні відхилення;

• набув подальшого розвитку метод формування псевдовипадкової

послідовності на основі комбінації генераторів псевдовипадкових чисел шляхом

комбінування перестановок за допомогою функції підсумовування за модулем

або мультиплексування, що дало змогу покращити статистичні властивості

послідовності та збільшити період її повторення.

Практичне значення отриманих результатів.

Розроблено алгоритми та структурні схеми для:

• пристроїв формування послідовностей перестановок на основі лінійного

конгруентного методу і регістра зсуву з лінійними зворотними зв’язками.

Використання запропонованої схеми дає змогу:

- збільшити до восьми разів розмірність ключового простору;

- збільшити період перестановок у два і більше разів залежно від

кількості циклів та їх довжин;

• пристрою формування рівномірно розподілених псевдовипадкових

чисел, розрядність яких перевищує розрядність обчислювальної платформи, що

дає можливість збільшити розрядність слова ПВП у два і більше разів;

• пристрою формування псевдовипадкових перестановок на основі

мультиплексування первинних ГПВЧ, що дозволяє збільшити період повторення

до значення суми періодів первинних генераторів;

10

Page 20: Diss Lavdanskiy

• комбінаційного ГПВЧ з комбінуючою функцією підсумовування за

модулем М множини первинних генераторів, що дає змогу збільшити період

повторення ПВП у два і більше разів;

• системи двоконтурного потокового шифрування, що дозволяє її

практичну реалізацію.

Отримані наукові результати доведені автором до:

1) методики формування рівномірно розподіленої псевдовипадкової

послідовності чисел, що відрізняється перевищенням розрядності

формованих чисел над розрядністю обчислювальної платформи;

2) методики визначення часу відтворення періоду повторення слів ГПВЧ в

умовах постійного збільшення обчислювальних можливостей обладнання;

3) програмного засобу на базі .NET Framework, що дозволяє виконувати

оцінювання статистичних властивостей послідовностей чисел за

допомогою графічних тестів.

Результати дисертаційної роботи впроваджені на ДП НДІ "Акорд"

(система дистанційного зв’язку, контролю та управління віддаленими об’єктами,

акт від 02.03.17) та в навчальний процес Черкаського державного технологічного

університету (в циклі дисциплін "Захист інформації в комп’ютерних системах"

та "Основи теорії інформації та кодування", акт від 03.03.17).

Особистий внесок здобувача. Дисертація є самостійно виконаною

завершеною роботою здобувача. Наукові результати і практичні розробки, що

містяться в дисертаційній роботі, отримані автором самостійно.

У роботах, опублікованих у співавторстві, автором: [21] - визначено

можливі конструкції графів станів генератора на основі лінійного конгруентного

методу та розроблено метод їх об’єднання в надцикл; [22] - розроблено методику

формування псевдовипадкової послідовності підвищеної розрядності на основі

конкатенації виходів первинних ГПВЧ; [23] - розроблено метод формування

послідовності псевдовипадкових перестановок на основі мультиплексування

виходів первинних ГПВЧ; [24], [25] - запропоновано комбінаційний метод

формування псевдовипадкової послідовності на основі підсумовування за

11

Page 21: Diss Lavdanskiy

модулем; [26] - запропоновано метод оцінювання автокореляційної функції на

основі аналізу розподілу оцінок нормованих коефіцієнтів кореляції ненульового

порядку та їх знаків; [27], [28] - виконано аналіз послідовності на виході ГПВЧ,

що реалізує комбінаційний метод на основі підсумовування за модулем M, з

використанням статистичного пакету тестування NIST; [29] - розроблено

структурну схему пристрою двоконтурного потокового шифрування; [30] -

розроблено структурну схему пристрою формування послідовності рівномірно

розподілених псевдовипадкових чисел; [31] - розроблено структурну схему

пристрою формування послідовності псевдовипадкових чисел на основі

виконання конкатенації циклів регістра зсуву з лінійними зворотними зв’язками;

[32] - розроблено алгоритм визначення структури графа станів генератора на

основі лінійного конгруентного методу.

Апробація результатів дисертації. Основні результати дисертаційної

роботи доповідалися та обговорювалися на: Всеукраїнській науково-практичній

Інтернет-конференції "Автоматизація та комп’ютерно-інтегровані технології у

виробництві та освіті: стан, досягнення, перспективи розвитку" (Черкаси, 18­

22 березня 2013 року, 16-20 березня 2015 року); IV Міжнародній науково-

практичній конференції "Обробка сигналів і негауссівських процесів" (Черкаси,

22-24 травня 2013 року,); 16-й Міжнародній науково-технічній конференції

SAIT 2014 (Київ, 26-30 травня 2014 року); Другій міжнародній науково-

технічній конференції "Проблеми інформатизації" (Черкаси - Тольятті, 25­

26 листопада 2014 року); Четвертій міжнародній науково-технічній конференції

"Проблеми інформатизації" (Черкаси - Баку - Бельсько-Бяла - Полтава, 3­

4 листопада 2016 року).

Публікації. Результати дослідження опубліковані у 17 наукових роботах,

у тому числі у семи статтях у фахових виданнях (з яких чотири входять до

наукометричної бази Index Copernicus), шести доповідях на науково-практичних

конференціях і трьох патентах України на корисні моделі.

Структура та обсяг дисертаційної роботи. Дисертаційна робота

складається з вступу, чотирьох розділів, висновків, списку використаних джерел

12

Page 22: Diss Lavdanskiy

(106 найменувань) і додатків. Дисертація містить 23 таблиці, 19 рисунків, 9

додатків на 49 сторінках. Повний обсяг дисертації становить 186 сторінок, у тому

числі 120 сторінок основного тексту.

13

Page 23: Diss Lavdanskiy

14

РОЗДІЛ 1. ЗАГАЛЬНА ХАРАКТЕРИСТИКА ОБ’ЄКТУ ДОСЛІДЖЕННЯ

1.1. Вступ

Послідовності випадкових і псевдовипадкових чисел широко

використовуються для вирішення багатьох прикладних задач, таких як

моделювання складних систем та об'єктів, моделювання дестабілізуючих факторів

під час оцінювання стійкості складних систем та об'єктів, у криптографії для

формування ключових послідовностей під час криптографічних перетворень,

маскування неподавленого залишку небезпечного сигналу, виконання розрахунків

методом Монте-Карло та багатьох інших прикладних задач.

Під час використання термінів випадкової і псевдовипадкової послідовності

будемо керуватися визначеннями, викладеними в [33]. Під терміном "випадкова

послідовність чисел" будемо розуміти послідовність, сформовану за допомогою

фізичного процесу, результат якого є непередбачуваний і не може бути повторно

відтворений. Синонімом є вираз "істинно випадкова послідовність чисел". Під

псевдовипадковою послідовністю чисел будемо розуміти відтворювану

послідовність, сформовану за допомогою детермінованого алгоритму (незалежно

від способу його реалізації), що володіє статистичними властивостями, які з

заданою точністю повторюють усі або частину статистичних властивостей

випадкових послідовностей.

Перелік вимог до ГПВЧ визначається областю його застосування. Для

якісного ГПВЧ існує набір вимог, яким він повинен відповідати.

До числа таких вимог відноситься вимога щодо забезпечення максимально

точної відповідності теоретичному закону розподілу формованої дискретної

випадкової величини. Разом з тим, ступінь відповідності (помилка відтворення

закону розподілу) може бути різним для різних задач. Важливо забезпечити

відсутність кореляції між символами ПВП або заздалегідь визначене допустиме

значення ступеня кореляції символів послідовності. Також важливо забезпечити

відтворюваність процесу (за відомого ключа) і неможливість відтворення процесу

за відсутності знання ключа. Зокрема, найбільш жорсткі вимоги до ГПВЧ

пред'являє комп’ютерна криптографія, для якої потрібні ПВП з статистичними

Page 24: Diss Lavdanskiy

властивостями, максимально близькими до властивостей послідовностей

випадкових чисел. Зміст перерахованих вимог докладно викладений далі.

Незважаючи на наявність великої кількості робіт [1], [2], [11], [34], [35],

присвяченим методам формування ПВП та їх тестуванню, є можливість відрізнити

ГПВЧ від ГВЧ за допомогою спеціалізованих інструментів (статистичних пакетів

тестування, найбільш ефективні з яких розглянуті далі). Закономірності, виявлені

за допомогою статистичного дослідження ПВП, досить часто дозволяють

визначити закон їх формування, початкові параметри генератора, що забезпечує

"злом" ГПВЧ. Зауважимо, що використання ГВЧ для задач, що вимагають

відтворюваних послідовностей чисел, не представляється можливим через

неможливість повторити послідовність ГВЧ з абсолютною точністю. Тому

дослідження і пошук методів формування ПВП, що статистично не відрізняються

від ГВЧ, але володіють усіма властивостями ГВЧ і є відтворюваними, є актуальною

задачею.

Існує велика кількість способів оцінювання послідовностей, сформованих за

допомогою ГПВЧ [9], [33], [36]-[42]. Але не всі з них дозволяють отримати

кількісну оцінку генераторів за ступенем їх відповідності ГВЧ. Чисельна оцінка

дозволяє виділити найбільш якісні ГПВЧ для використання їх у практичних цілях.

Одним із прикладів способу, який не дозволяє провести кількісну оцінку, можна

виділити АКФ - функцію, яка відображає ступінь внутрішньої кореляції

послідовності у вигляді графіка. Візуальне дослідження отриманого графіка не дає

однозначного висновку про величину внутрішньої кореляції у послідовності. Тому

важливою задачею є розробка методів оцінювання графічних способів дослідження

статистичних характеристик за допомогою чисельних характеристик.

Будь-який генератор, заснований на детермінованих алгоритмах, має

скінченний період повторення. Тому створити ГПВЧ з нескінченним періодом

повторення неможливо. Виходом з цієї ситуації є використання генераторів з

настільки великим періодом повторення, повне відтворення якого займе чимало

часу (сотні і тисячі років у випадку використання високопродуктивного кластера

комп'ютерів). Один з варіантів збільшення періоду повторення, який

використовується в цій роботі для побудови генераторів з великим періодом, є

об'єднання декількох генераторів за допомогою функції комбінування. Таке

15

Page 25: Diss Lavdanskiy

об'єднання не тільки збільшить період повторення, але і поліпшить статистичні

властивості послідовностей псевдовипадкових чисел.

Під час використання ГПВЧ у комп'ютерних системах виникає проблема

обмеженості розрядності цільової платформи. Для формування слова

послідовності, розрядність якого перевищує розрядність платформи, потрібно

затратити додаткові обчислювальні і часові ресурси, а також ускладнити алгоритм

формування. Це призводить до зниження рівня продуктивності ГПВЧ. Тому

важливою задачею є розробка ГПВЧ, що дозволяє формувати ПВП з розрядністю,

що перевищує розрядність платформи без значного падіння продуктивності і

збільшення складності алгоритму.

З урахуванням викладеного, визначимо задачі першого розділу

дисертаційного дослідження:

- розглянути основні вимоги до ГВЧ і ГПВЧ;

- навести класифікацію методів формування послідовностей чисел;

- провести аналіз існуючих методів формування ПВП;

- провести аналіз варіантів комбінування різних ГПВЧ, що забезпечують

поліпшення властивостей послідовностей;

- розглянути методи визначення статистичних характеристик ГПВЧ,

визначити шляхи їх вдосконалення;

- виділити задачі на наступну стадію дисертаційного дослідження.

1.2. Вимоги до генераторів псевдовипадкових чисел

У дисертаційній роботі виконано дослідження принципів побудови

алгоритмів (процедур) формування ПВП, а також генераторів на цій основі, що

забезпечують формування ПВП які задовольняють жорстким вимогам задач, в яких

вони використовуються. Базуючись на якісних показниках ПВП, визначених у [1],

[6], [10], [13], [14], уточнимо набір властивостей, яким повинні задовольняти

технічні засоби і породжувані ними ПВП, що застосовуються в комп’ютерній

криптографії та розглядаються в дисертації:

• непередбачуваність;

• відтворюваність;

16

Page 26: Diss Lavdanskiy

• висока точність відтворення заданого закону розподілу (мінімальна

помилка відтворення закону розподілу випадкової величини);

• заданий розподіл £-грам для всіх k<logbN (де Ь - потужність алфавіту,

N - розмір досліджуваної вибірки);

• великий період повторення (настільки великий, що його неможливо

відтворити сучасними технічними засобами максимальної

продуктивності);

• мінімальна кількість використовуваних апаратних ресурсів;

• максимальна швидкодія.

Оскільки такі вимоги, як мінімальна кількість використовуваних апаратних

ресурсів і максимальна швидкодія, є очевидними, а вимога великого періоду

повторення розглядалася раніше, далі розглядати їх не будемо.

Непередбачуваність виходу ГПВЧ не дозволяє визначити наступне слово за

сукупністю вже сформованих слів. Таким чином, маючи доступ до як завгодно

великої кількості вихідних слів, неможливо визначити наступне слово з

імовірністю, більшою за 1/М, де М - потужність алфавіту генератора.

Відтворюваність дозволяє повторити послідовність слів на виході генератора

з абсолютною точністю в довільний момент часу, довільній точці простору і

довільну кількість разів.

Слова, сформовані на виході будь-якого ГПВЧ, задовольняють деякому

статистичному закону розподілу (нормальному, рівномірному, експоненційному і

т.д.), що залежить від конструкції генератора та його призначення. Але емпіричний

розподіл дискретної випадкової величини, яку породжує ГПВЧ, не завжди

відповідає теоретичному. Визначити ступінь відповідності дозволяє оцінка

точності відтворення закону розподілу дискретної випадкової величини, що

докладно розглянута в [43]. ГПВЧ повинен мати помилку відтворення, порівнянну

з такою для генераторів випадкових чисел. Визначення помилки відтворення для

різних конструкцій ГВЧ і ГПВЧ проведено в [44].

Під ^грамами [1] будемо розуміти послідовність з k слів (біт), де £> 1.

Кількість можливих ^грам дорівнює М с, де М - потужність алфавіту. Згідно [1],

для випадкової послідовності розподіл ^грам має бути рівномірним, а ймовірність

появи ігр ам и прямувати до значення р (к) = М ~к, де ¥>>МІ, V - об'єм вибірки.

17

Page 27: Diss Lavdanskiy

18

1.3. Класифікація методів формування послідовностей чисел

Усі методи формування послідовностей чисел можна розділити на два класи

[13] - ГВЧ і ГПВЧ.

ГВЧ для формування послідовностей використовують фізичні процеси, такі

як: фотоелектричний ефект [45], [46], тепловий шум [47], [48], радіошуми [49],

радіоактивний розпад, різноманітні квантові процеси [50]-[53]. Оскільки такі

процеси є випадковими, послідовності, сформовані за допомогою ГВЧ, також є

випадковими. Для формування послідовності чисел сигнал, породжений фізичним

процесом, подається на вхід аналого-цифрового перетворювача, на виході якого

отримується двійкова випадкова послідовність. Необхідно враховувати, що різні

зовнішні невипадкові фізичні процеси (наприклад, корисний сигнал

радіопередавача під час формування випадкових чисел за допомогою радіошумів,

неподавлена гармоніка мережі електроживлення) можуть впливати на статистику

результуючої послідовності чисел. Тому в ГВЧ використовують внутрішні схеми

тестування на випадковість перед видачею послідовності [54], і, якщо вихідна

послідовність не проходить тестування, такий генератор зупиняє формування з

повідомленням про помилку. Недоліками ГВЧ є відносно низька швидкість

формування слів, неможливість відтворення послідовності з абсолютною точністю.

З цієї причини, ГВЧ не можуть бути застосовані для вирішення задач формування

гамуючих послідовностей, але широко застосовуються для маскування

неподавленого залишку небезпечного сигналу, блокування підслуховуючих

пристроїв та інших подібних застосувань. Також генератори випадкових чисел

широко використовуються в задачах комп’ютерної криптографії для формування

ключа шифрування. Тут доречно зазначити, що стійкість ключа шифрування

залежить від ентропії. Ентропія двійкової ключової послідовності максимальна,

якщо число одиниць і нулів послідовності однаково і рівне п0 = П = , де п -

загальне число біт у послідовності. Тому для генераторів ключів потрібні ГПВЧ з

дуже високим ступенем невизначеності та високим ступенем відповідності закону

розподілу теоретичному.

ГПВЧ використовують різні детерміновані алгоритми для формування

послідовності чисел. Отже, такі послідовності можуть бути відтворені (за відомого

Page 28: Diss Lavdanskiy

початкового стану та алгоритму формування) з абсолютною точністю. Але

випадковими ці послідовності вважати не можна - кожен наступний елемент

формується з попереднього: х і = /(х і-1). Крім того, за рахунок використання

детермінованого алгоритму, генератори псевдовипадкових чисел рано чи пізно

"зациклюються", тобто мають скінченний період повторення послідовності чисел

на виході. Це означає абсолютне повторення послідовності слів після досягнення

якоїсь кількості слів Т, яка залежить від алгоритму формування і початкових

параметрів. Під періодом повторення тут і далі будемо розуміти мінімальне

значення Т, для якого виконується рівність 5(п+Т)=5(п) для всіх п>0, де Б(/) - слово

на виході генератора. Обмежений період повторення послідовності слів будь-якого

генератора псевдовипадкових чисел дозволяє виконати формування всієї

послідовності слів періоду повторення за скінченний час. Цей час залежить від

продуктивності системи, яка виконує формування, і алгоритму формування.

Оскільки продуктивність комп'ютерних систем постійно збільшується, час,

необхідний для формування послідовності слів (для "злому" генератора), постійно

зменшується. Єдиний вихід з цієї ситуації - збільшення періоду повторення. Тому

задача пошуку алгоритмів формування псевдовипадкових чисел з періодом

повторення, досягнення якого займе чимало часу, за який "злом" генератора стає

марною справою (більше сотень і тисяч років), є актуальною.

Робота генераторів як випадкових, так і псевдовипадкових чисел можлива в

двох режимах: режим "з поверненням" і режим "без повернення". Для пояснення

суті цих режимів, розглянемо аналогію з лототроном, в який поміщені кулі,

пронумеровані числами 0 до М-1. Якщо послідовно витягувати кулі з урни, не

повертаючи кулю в урну, отримаємо режим "без повернення". Можливість

отримання кожної наступної кулі для цього режиму генераторів залежить від

1 . . .кількості вже витягнутих куль і дорівнює р = ------- , де і - кількість ранішеМ - і

витягнутих куль, іє[0, М-1]. Після спустошення урна знову засипається шарами,

вони перемішуються, і наведена послідовність дій повторюється. Генератори в

такому режимі використовуються в задачах, що потребують випадкових таблиць

перестановок - послідовностей чисел без повторів і пропусків. Помилка

19

Page 29: Diss Lavdanskiy

20

відтворення рівномірного закону розподілу слів для такого режиму генераторів

дорівнює нулю.

Режим генератора "з поверненням" відрізняється від описаного вище тим, що

витягнута куля після зчитування її чисельного значення, повертається в урну, і кулі

в урні повторно перемішуються. Ймовірність випадання кулі в такому випадку не

залежить від кількості витягнутих куль і дорівнює р. = — . Г енератори в цьомуМ

режимі використовуються для отримання розподілу слів послідовності, близького

до рівномірного. Помилка відтворення рівномірного закону розподілу для такого

режиму генераторів має прямувати до нуля. Ймовірність появи £-грам у цьому

1режимі має прямувати до р А = — -.

Окремо слід виділити клас криптографічно стійких генераторів

псевдовипадкових чисел. Криптографічно стійкий генератор псевдовипадкових

чисел - це генератор, до якого пред'являються підвищені вимоги. Окрім

перерахованих, криптографічно стійкий генератор псевдовипадкових чисел

повинен бути "непередбачуваний вліво". "Непередбачуваний вліво" - властивість,

за якої за умови знання криптоаналітиком повного внутрішнього стану і алгоритму

роботи генератора, немає можливості визначити слова, що передували отриманню

цих знань.

1.4. Аналіз методів формування псевдовипадкових послідовностей

Існує багато різних методів і алгоритмів формування ПВП [1], [11], [2], [55]-

[58]. Кожен з них має свої переваги та недоліки. У цьому підрозділі розглянуто

наступні методи формування ПВП:

• лінійний конгруентний метод;

• метод на основі регістра зсуву з лінійними зворотними зв'язками;

• метод Блюм-Блюм-Шуба;

• адитивний метод формування ПВП;

• вихор Мерсенна;

• методи комбінування ГПВЧ.

Page 30: Diss Lavdanskiy

Лінійний конгруентний метод, метод на основі регістра зсуву з лінійними

зворотними зв'язками і адитивний метод розглядаються як найбільш прості за

конструкцією, високопродуктивні і найбільш часто використовувані генератори,

конструкція яких лежить в основі високоякісних ГПВЧ з великим періодом

повторення. Зокрема, ГПВЧ вихор Мерсенна, побудований на основі регістрів

зсуву, є одним з кращих ГПВЧ на сьогоднішній момент. Для пропонованих у роботі

методів формування ПВП ЛКМ та РЗЛЗЗ використовуються як основа. Метод

Блюм-Блюм-Шуба розглянуто як простий ГПВЧ, що може використовуватись для

задач комп'ютерної криптографії. Але він володіє рядом недоліків, що не

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

продуктивність ГПВЧ. Комбінування ГПВЧ розглянуто як один з варіантів

покращення статистичних показників поточних реалізацій ГПВЧ.

1.4.1. Лінійний конгруентний метод

Лінійним конгруентним методом називається метод формування

псевдовипадкових чисел наступного вигляду:

S(n) = K * S(n -1 ) + C m , ( U )

де K - множник;

С - приріст;

S(n-1) - попереднє значення генератора;

S(n) - поточне значення генератора;

M - модуль.

Метод був запропонований Д. Г. Лемером у 1949 році [3]. На цей час метод є

широко досліджений та використовується в багатьох практичних задачах [59]-[65].

Модуль М визначає область визначення випадкової величини на виході

генератора (0<S<M). Якщо C=0, метод називається мультиплікативним

конгруентним методом, якщо Сф0 - змішаним конгруентним методом.

Послідовність на виході такого генератора називається лінійною конгруентною

послідовністю.

Під словом будемо розуміти сформований на виході генератора символ.

Максимальний період повторення лінійної конгруентної послідовності не

21

Page 31: Diss Lavdanskiy

перевищує М слів. Період повторення буде залежати від параметрів генератора

(значень К, C, 5(0), M, де 5(0) - вектор початкового завантаження - слово, з якого

починається формування послідовності).

Для досягнення максимального періоду повторення потрібен підбір значень

К, С, і М. Максимальний період повторення, чисельно рівний М, можливий за

наступних умов [1]:

• приріст С і модуль М взаємно прості;

• Ь=К-1 кратно р для кожного простого р, що є дільником М;

• Ь кратно 4, якщо М кратно 4.

У інших випадках генератор може породжувати ї циклів, що не

перетинаються, довжина кожного з яких буде менше М . Під циклом будемо

розуміти підмножину слів з алфавіту потужності М, що циклічно повторюється.

Якщо довжина циклу дорівнює одному слову, такий цикл називається нуль-

циклом. Сума довжин усіх циклів, породжуваних генератором, буде рівна М.

Перехід між циклами можливий за допомогою зміни вектора початкового

завантаження 5(0).

Якщо модуль М - просте число, граф станів лінійного конгруентного

генератора містить один нуль-цикл і рівні по довжині ненульові цикли [66]. Число

і довжина ненульових циклів визначається розкладанням числа М-1 на прості

множники.

Оскільки для простого М породжувані лінійним конгруентним генератором

цикли є такими, що не перетинаються, можливо їх об'єднання для отримання

рівномірного закону розподілу слів на відрізку [0;М-1]. Об'єднана послідовність

таких циклів називається надциклом. У надциклі присутні всі слова множини

[0;М-1] рівно один раз, а така послідовність є перестановкою (чисел множини

[0;М-1] без повторів і пропусків).

До теперішнього часу залишається не повністю вирішеною задача вибору

параметрів К, С, М і ВПЗ для значень М, відмінних від простого числа, їх зв'язок з

законом розподілу випадкової величини і ступенем близькості емпіричного і

теоретичного законів розподілу. Використання довільних параметрів К, С, і М, які

дозволять отримати цикли, що не перетинаються, для будь-якого М істотно

22

Page 32: Diss Lavdanskiy

спростить задачу первинного налаштування ГПВЧ і дозволить отримати цикли

рівної довжини для побудови якісних ГПВЧ.

1.4.2. Регістр зсуву з лінійними зворотними зв’язками

РЗЛЗЗ складається з двох частин: регістра зсуву деякої довжини і системи

відводів для зворотного зв'язку та запису наступного символу в нульову комірку

регістра [13]. Узагальнена структурна схема регістра зсуву з лінійними зворотними

зв'язками зображена на рис. 1.1.

23

Рис. 1.1. Структурна схема регістра зсуву з лінійними зворотними зв'язками

Регістр складається з двійкових комірок, кількість яких визначає довжину (Ь)

регістра зсуву. Від кожної комірки відходить відведення через ключ С, значення

якого подається на суматор за модулем 2. Стан ключа (відкритий або закритий)

визначається характеристичним поліномом степені Ь, на основі якого побудована

схема зворотного зв'язку. Значення з комірки п переміщується в комірку п+1, а сума

відводів записується в нульову комірку за кожного такту роботи генератора.

Алгоритм роботи РЗЛЗЗ наступний:

1. у регістр записується початкове значення (вектор початкового

завантаження);

2. за допомогою ключів С відбувається розрахунок значення біту зворотного

зв’язку;

3. під час тактового імпульсу значення бітів регістра зсуваються вправо

(кожен біт регістра записується в наступну комірку);

4. у нульову комірку записується результат розрахунку значення біту

зворотного зв’язку;

5. алгоритм повторюється з другого кроку.

Окремо варто розглянути ситуацію, в якій вектор початкового завантаження

складається лише з нульових біт. За такого заповнення стан регістра зсуву ніколи

Page 33: Diss Lavdanskiy

не зміниться, отже, на виході генератора завжди буде нульовий біт. Цю особливість

слід враховувати під час вибору ВПЗ. Це також означає, що:

• символ "0" відсутній у послідовності (тому помилка відтворення

рівномірного закону розподілу не дорівнює нулю);

• період повторення слів не може перевищувати значення Т = 2п -1 ;

• граф станів містить нуль-цикл у точці 0.

Існує два можливих способи зчитування результуючої послідовності з

регістра зсуву: за словами та бітами. Під час зчитування за словами значення бітів

регістра зчитуються одночасно. Результуюче слово довжиною, що дорівнює

довжині регістра зсуву (Ь), є виходом генератора.

У випадку зчитування біт результуюче значення отримується з будь-якої з

комірок регістра. Послідовність, отримана з різних комірок, буде відрізнятися

циклічним зсувом на значення, що залежить від номеру комірки, з якої виконується

зчитування.

Період повторення регістра зсуву визначається степенем характеристичного

поліному та дорівнює Т = 2і - 1 , якщо характеристичний поліном є незвідним над

полем Є ^ 2 ) і Т < 2і -1 в інших випадках. Якщо період повторення регістра зсуву

максимальний ( Т = 2і -1 ) , послідовність, отримана за допомогою такого регістра,

називається М-послідовністю.

Характеристичний поліном зворотного зв'язку може бути визначений на

основі 2Ь послідовних біт, отриманих з регістра зсуву за допомогою алгоритму,

наведеного в [67], [68]. Звідси випливає, що для вирішення практичних задач РЗЛЗЗ

може бути використаний тільки із застосуванням додаткових заходів забезпечення

стійкості до злому.

1.4.3. Метод Блюм-Блюма-Шуба

У 1986 році Ленор Блюм, Мануелем Блюмом і Майклом Шубом в [11] був

запропонований алгоритм формування псевдовипадкових чисел, названий методом

Блюм-Блюма-Шуба. Послідовність, сформована за допомогою такого методу, має

статистичні властивості, близькі до генераторів випадкових чисел, а метод є

крипостійким [69], що означає можливість його використання для задач

24

Page 34: Diss Lavdanskiy

комп’ютерної криптографії. Алгоритм на основі такого методу функціонує з

використанням наступного рекурентного рівняння:2

25

Хп+1 М

де Хп - попереднє значення генератора;

М - добуток двох великих простих чисел р і q.

У якості виходу генератора використовують тільки останній біт, або біт

парності числа хп.

Прості числа р і q повинні бути підібрані таким чином, щоб залишок від

ділення р і q на 4 дорівнював 3 (|р\ = 3 і |?|4 = 3). ВПЗ формується наступним

чином: обирається взаємно просте з М випадкове число х, і за формулою х0 =

обчислюється значення х0.

Значення хп може бути визначено без обчислення попередніх елементів за

допомогою наступної формули:

' І2И

М

. .(р-1))?-1)х 0

М

Крипостійкість такого генератора заснована на складності факторизації

числа М. Якщо числа р і q досить великі (сотні біт) і тримаються в секреті, то

розкладання числа M=pxq є обчислювально складною задачею.

Основним недоліком такого генератора є відносно повільна швидкість

роботи, що не дозволяє використовувати його в задачах моделювання, потокового

шифрування та інших, що вимагають ГПВЧ високої продуктивності.

1.4.4. Адитивний метод формування псевдовипадкової послідовності

Адитивні методи формування ПВП (які також називають генераторами

Фібоначчі з запізненням) [1] засновані на використанні більше ніж одного

попереднього сформованого слова. Один з перших варіантів такого генератора

працює за наступною рекурентною формулою:

і = | х , + х„_ і м .

Статистичні властивості послідовності, отриманої на виході такого

генератора, далекі від статистичних властивостей послідовностей випадкових

Page 35: Diss Lavdanskiy

26

чисел. Пізніше було запропоновано збільшити відстань між використовуваними

словами:

Такий варіант генератора під час тестування вихідної послідовності з

використанням критерію інтервалів дає успішний результат тільки для k>16 [1].

У 1958 році Мітчелом Дж. Ж. (Mitchell G.J.) і Муром Д. Ф. (Moore D.P.)

(робота не опублікована) запропонований наступний варіант адитивного

генератора:

де «>55;

(a, b)=(24, 55);

M - парне число;

X 0 ... Xn+b-\ - випадкові числа (ВПЗ).

Такий генератор має статистичні властивості набагато кращі, ніж

запропоновані раніше варіанти адитивних генераторів і має період повторення,

рівний T = 255 -1 у випадку, коли M = 2е. Один з варіантів такого генератора

використовується в платформі .NET Framework [70] для формування ПВП.

1.4.5. Вихор Мерсенна

Вихор Мерсенна був розроблений в 1997 році японськими вченими Макото

Мацумото і Такудзі Нісімура [2]. Генератори цього типу мають статистичні

властивості, близькі до генераторів випадкових чисел, великий період повторення

(2 19937-1 32-х бітних слів для алгоритму MT19937), рівномірний розподіл в 623

вимірах, високу швидкодію [71]-[73]. Однак, генератори цього типу не можуть

бути використані в задачах комп’ютерної криптографії без додаткової обробки.

Криптоаналітику достатньо 624 слів послідовності (для алгоритму MT19937) для

відтворення всіх попередніх і наступних слів.

Розглянемо алгоритм роботи вихору Мерсенна докладніше. Алгоритм

функціонує на основі наступної формули:

де к - номер слова, що генерується;

Page 36: Diss Lavdanskiy

27

п - ціле, ступінь рекурентності;

т - ціле, 1<т<п;

А - двійкова матриця розміру wxw (V - розрядність машинного слова);

xuk - старші w-r біт хк, 0<г<^-1;

хг+і - молодші Г біт Хк+1.

Коефіцієнти п, V, та г підбираються таким чином, щоб число 2п г-1 було

числом Мерсенна. Числом Мерсенна називається просте число виду 2р-1, де р -

натуральне число.

Матриця А будується наступним чином:

0 ...1 0 0 1 0 0

А =

0 10 0

000 0

^а*—1 а ^—2 а. 3

0 0 ^0

01 00 1а а0 у

де а - спеціально підібрана константа довжиною V біт;

а^ ь а ^ 2 ... а0 - біти константи а.

Для досягнення рівномірного розподілу на великих розмірностях над

вихідним словом додатково застосовуються такі операції:

У = х © (( х >> и) & й )

у = У © ((У << 5) & Ь)

у = у © ((у << ґ) & с)

2 = у © ( у >> І)

де операції ">>" та "<<" означають побітовий зсув вправо і вліво відповідно;

и, я, ї, І - спеціально підібрані величини зсуву;

А, Ь, с - спеціально підібрані константи розрядності V.

Для алгоритму МТ19937 константи підібрані наступним чином:

• V п, т, г) = (32, 624, 397, 31);

• а = 0х9908Б0ВБ;

• (и, А) = (11, ОхЕЕЕЕЕЕЕЕ);

• & Ь) = (7, 0х9Б2С5680);

Page 37: Diss Lavdanskiy

• (t, c) = (15, 0xEFC60000);

• l = 18.

28

1.4.6. Комбінаційні методи формування псевдовипадкових

послідовностей

Відомі раніше варіанти комбінування генераторів [7], [8], [74]—[76] являють

собою кілька однотипних генераторів, виходи яких перетворюються функцією

комбінування. Вихід функції комбінування є виходом комбінаційного генератора.

У якості функції комбінування може бути використана як лінійна, так і нелінійна

функція. Якщо функція комбінування лінійна (наприклад, сума по модулю), то

період повторення такого генератора буде рівний найменшому спільному кратному

періодів генераторів, що входять в нього. Якщо ж періоди всіх генераторів взаємно

прості, максимальний період комбінаційного генератора буде рівним добутку

періодів генераторів, що входять в нього. Період повторення слів комбінаційного

генератора, який використовує нелінійну функцію комбінування, залежить від

використовуваної функції комбінування. Використання декількох генераторів для

отримання ПВП дозволяє збільшити період, зменшити кореляцію слів

послідовності, покращити статистичні властивості в порівнянні з окремими

генераторами, що входять в комбінування.

Розглянемо деяких відомих представників такого класу генераторів більш

докладно. Узагальнений та систематизований огляд комбінаційних генераторів

докладно наведений у [7], [8].

Алгоритм Fish. Такий алгоритм заснований на використанні двох адитивних

генераторів одночасно [74]. Використовуються наступні конфігурації адитивних

генераторів:

A. = ІА <-<- + A. 7ЛІ ,і І і—55 і — 24 \м ’

в = |в „ + в J ,і І і - 52 і—19 ї м ’

де M=2n.

Цей алгоритм належить до класу так званих проріджуючих генераторів, що

використовують проріджування для формування слів. Під час проріджування

використовуються не всі сформовані слова генераторів, деякі слова відкидаються.

Page 38: Diss Lavdanskiy

29

Для алгоритму Fish розглядається молодший значущий біт генератора B - якщо він

дорівнює 1, пара сформованих значень А та B використовуються для наступного

формування слова, якщо біт дорівнює 0 - відкидаються. З отриманих пар значень

формуються вихідні слова наступним чином:

де Cj - послідовність використовуваних слів А ;

Dj - послідовність використовуваних слів B;

Ej, Fj - проміжні значення;

Kj - вихід генератора;

® - сума за модулем 2;

& - логічне "І".

Алгоритм Pike. Алгоритм був запропонований на заміну алгоритму Fish як

більш швидкий і надійний (для злому алгоритму Fish потрібно близько 240 біт

ключової послідовності) [75]. Складається з трьох адитивних генераторів:

Проріджування відбувається на основі біта перенесення під час додавання

слів наступним чином: якщо всі три генератори мають однакове значення біта

переносу - тактуються всі три генератори. Якщо однакові біти мають тільки два

генератора - тактуються лише вони; генератор, біт перенесення якого відрізняється

від двох інших генераторів, не тактується, використовується його попереднє слово.

Результатом роботи такого алгоритму є сума по модулю два результуючих слів

трьох генераторів.

Алгоритм Mush. Алгоритм використовує два адитивних генератора

наступної конфігурації [10]:

де M=2n.

Page 39: Diss Lavdanskiy

4 = |4 -55 + 4-24 їм ,

4 = |4 -52 + 4-19 М ,

де М=2п.

Проріджування відбувається наступним чином: генератор А тактується до

появи біта перенесення. Після цього починає тактуватися генератор В, після появи

біта перенесення в якому тактування знову передається на генератор А і алгоритм

повторюється. Виходом такого генератора є сума по модулю два виходів

генераторів.

Генератор Геффа. Генератор заснований на комбінуванні регістрів зсуву з

лінійними зворотними зв'язками [76]. Якщо Хі, Х2, Хз бітові виходи першого,

другого і третього регістра зсуву з лінійними зворотними зв'язками відповідно, то

функція комбінування в генераторі Г еффа виглядає наступним чином:

/ (х1, х2, х3) = х1 & х2 ® (1 + х2) & х3,

де & - логічне "І";

® - сума по модулю 2.

Період повторення слів такого генератора буде максимальним і рівним

добутку періодів повторення слів кожного з трьох генераторів, якщо періоди

повторення слів породжуючих генераторів будуть попарно прості. Г енератор може

бути зламаний за допомогою кореляційної атаки, оскільки інформація про перший

і третій генератор міститься в потоці виходу.

Генератор "стоп-пішов" (Stop-and-Go). Генератор заснований на

комбінуванні трьох регістрів зсуву з лінійними зворотними зв'язками [77]. РЗЛЗЗ1

відповідає за тактування РЗЛЗЗ2. Якщо на виході РЗЛЗЗ1 логічна одиниця -

РЗЛЗЗ2 тактується, в іншому випадку на вхід суматора за модулем два надходить

попереднє значення РЗЛЗЗ2. Структурна схема генератора представлена на рис.

1.2.

30

Page 40: Diss Lavdanskiy

31

Рис. 1.2. Структурна схема генератора "стоп-пішов"

Одним з варіантів ускладнення такого генератора є змінний генератор "стоп-

пішов". В такому генераторі РЗЛЗЗ1 відповідає за тактування як другого, так і

третього РЗЛЗЗ. Який з генераторів тактується, залежить від значення на виході

РЗЛЗЗ1. Структурна схема змінного генератора "стоп пішов" представлена на рис.

1.3.

Рис. 1.3. Структурна схема змінного генератора "стоп-пішов"

Каскад Голлманна. Генератор складається з послідовності регістрів зсуву з

лінійними зворотними зв'язками, кожен з яких тактує наступний [10]. Виходом

генератора є вихід останнього РЗЛЗЗ. Якщо довжини РЗЛЗЗ однакові, період

повторення такого генератора дорівнює Т = (2і -1 )”, де Ь - довжина кожного

РЗЛЗЗ, п - кількість РЗЛЗЗ. Структурна схема генератора типу "каскад Голлманна"

представлена на рис. 1.4."1"

Рис. 1.4. Структурна схема генератора "каскад Голлманна"

1.5. Аналіз методів оцінювання статистичних характеристик

генераторів псевдовипадкових чисел

Для виконання оцінювання ГПВЧ проводиться порівняння їх статистичних

характеристик зі статистичними характеристиками випадкових послідовностей

чисел [1], [9], [13], [78]-[81]. Для цього над тестованою послідовністю

Page 41: Diss Lavdanskiy

32

застосовуються різні тести, що дозволяють виявити статистичні закономірності в

сформованій ГПВЧ послідовності. Дослідження результатів тестування

псевдовипадкових послідовностей чисел дозволяє ефективно виявити неякісні

ГПВЧ.

Серед інструментів тестування можна виділити два класи: графічні і

статистичні тести. Графічні тести відображають статистичні властивості

послідовності в графічному вигляді (графіки, гістограми і т.д.), по вигляду яких

можна судити про статистичні властивості послідовності. Важливо відзначити, що

результат проходження такого тесту є суб'єктивними, оскільки графічний тест не

дає чисельної оцінки. Наприклад, результатом дослідження періодичної

автокореляційної функції є графік коефіцієнтів кореляції, отриманих за допомогою

визначення кореляції послідовності і її циклічного зсуву. За викидами коефіцієнта

кореляції можна судити про підвищену кореляцію слів послідовності в цій точці.

Але суб'єктивна оцінка результату цього тестування ("гарна" АКФ, "погана" АКФ)

не дозволяє провести ранжування ГПВЧ і ГВЧ. Таким чином, виникає необхідність

розробки методу оцінювання АКФ за допомогою чисельних характеристик, що

дозволить об'єктивно оцінювати досліджувану послідовність.

Статистичні тести дозволяють оцінити послідовності чисел за допомогою

чисельних характеристик, що дозволяє об'єктивно порівнювати різні реалізації

ГПВЧ, а також проводити їх ранжування. Важливо відзначити, що результати таких

тестів носять ймовірнісний характер. Це означає, що навіть послідовність чисел,

отримана за допомогою генератора випадкових чисел може не пройти

статистичний тест з певною ймовірністю. Але ймовірність такої події вкрай мала,

тому відсіювання таких ситуацій зазвичай вирішується тестуванням декількох

різних послідовностей з виходу того ж генератора.

З визначень графічного і статистичного тестів слідує, що об'єктивно оцінити

послідовності на виході ГПВЧ можливо тільки за допомогою статистичних методів

тестування. Тому важливою задачею є розробка методів оцінювання графічних

тестів за допомогою чисельних характеристик.

Розглянемо існуючі методи графічного та статистичного оцінювання ПВП.

Page 42: Diss Lavdanskiy

1.5.1. Критерій узгодженості Пірсона

33

Критерій узгодженості Пірсона [82] (критерій X ) - критерій для перевірки

гіпотези про приналежність вибірки значень теоретичному розподілу. Критерій

використовується для оцінювання більшості результатів статистичних тестів

(наприклад, для оцінювання результатів тестування в [9], [33]).

Перед застосуванням критерію проводиться підрахунок кількості появ подій

в досліджуваній вибірці. Для кожної події розраховується емпірична ймовірність

появи події в вибірці:

р = ь ,F e i у >

де і - номер події;

nei - кількість подій, що зустрілися в досліджуваній вибірці;

V - розмір досліджуваної вибірки.

Критерій може помилятися, якщо кількість появ подій невелика - в такому

випадку рідкісні події об'єднується з іншими подіями в групи.

Процедура перевірки наступна. Висувається гіпотеза про те, що розподіл

досліджуваної вибірки відповідає теоретичному - гіпотеза H0. Як альтернативна

гіпотезі Ho, висувається гіпотеза Hi про те, що емпіричний розподіл не відповідає

теоретичному. Також визначається рівень значущості а - ймовірність того, що

гіпотеза H 1 буде прийнята помилково, і відповідно, буде відкинута гіпотеза H0.

Статистика критерію розраховується наступним чином:

де М - потужність множини можливих подій;

V - розмір досліджуваної вибірки;

і - номер події;

р еі - ймовірність появи події в досліджуваній вибірці;

р гі - теоретична ймовірність появи події.

Отримане значення порівнюється з критичним значенням х2, визначеним за

допомогою спеціальних таблиць (наприклад, такі таблиці визначені в [83]).

Кількість степенів свободи дорівнює М-1. Якщо отримане значення статистики не

Page 43: Diss Lavdanskiy

перевищує критичне значення х2 для обраного рівня значущості а - гіпотеза Н0

приймається, гіпотеза Ні відкидається.

1.5.2. Графічні методи оцінювання статистичних характеристик

послідовностей чисел

Розглянемо графічні методи тестування послідовностей чисел [13] більш

докладно.

Гістограма розподілу слів послідовності. Тест дозволяє оцінити

відповідність розподілу слів заданому закону розподілу. Тест також корисний для

виявлення слів, що часто (рідко) зустрічаються, або відсутніх у послідовності.

Побудова гістограми виконується наступним чином. Проводиться підрахунок

символів, що зустрічаються у вибірці розміром V слів. Пораховані кількості

відображаються на графіку в точках, що відповідають певному символу. Для

випадкової послідовності (рівномірний розподіл) усі можливі слова повинні бути

відображені на графіку з приблизно однаковим значенням, яке прямує до VIМ, де

М - потужність алфавіту слів (кількість різних слів у послідовності). Також цей

тест можна інтерпретувати як статистичний, оцінивши розподіл слів за допомогою2критерію X .

Розподіл на площині. Тест дозволяє виявити залежність між елементами

послідовності. Послідовність слів групується парами, які розглядаються як

координати на двовимірному графіку. Для послідовності слів {а0, а1, а2, ..., ау}, де

V - об'єм вибірки, координати графіка можна представити як х=ак, у=ак+1, 0<к<^1.

Відображення цих точок на площині розміром 2Я-1 х 2Я-1 точок (де Я - розрядність

чисел послідовності), є результатом тесту. Для випадкової послідовності

розташування точок на площині буде хаотичним, а зростання вибірки призведе до

повного заповнення площини точками. Ознакою невипадкової послідовності є

наявність на отриманому зображенні "візерунків" (явно виражених вертикальних

або горизонтальних ліній, періодичних малюнків і т. д.).

Перевірка серій (розподіл ^грам ). Нагадаємо, що послідовність з к слів (біт),

для к>1, називається к-грамою. Кількість можливих к-грам обчислюється як Мк, де

М - потужність алфавіту. Для прикладу, у випадку М=2 кількість бітових біграм

дорівнює 22=4. Це біграми 00, 01, 10, 11. Для випадкової послідовності кількість к-

34

Page 44: Diss Lavdanskiy

35

V - об'єм вибірки. Тест дозволяє оцінити рівномірність розподілу символів в

послідовності на основі к-грам. Для цього проводиться підрахунок кількості к-грам

в послідовності для певного значення к. Результат відображається на гістограмі.

Успішним проходженням тесту є рівна висота стовпців на гістограмі. Тест (як і

гістограму розподілу елементів послідовності) можливо оцінити за допомогою

критерію х2, що дозволить однозначно судити про проходження тесту. Згідно [1],

b-кова послідовність довжини N випадкова, якщо вона к-розподілена для всіх

позитивних цілих чисел к < lo g N .

Автокореляційна функція. Тест призначений для визначення кореляції

усередині послідовності. Для цього визначається ступінь кореляції між зсунутими

копіями послідовності. Позначимо біт послідовності як ак, де к - номер біта в

послідовності, 0<k<V, V - розмір вибірки в бітах. Виконаємо нормування бітового

уявлення досліджуваної послідовності наступним чином: 1 ^ 1 , 0 ^ -1 . Значення

автокореляційної функції для зсуву і позначимо як рг-. Тоді значення кореляції для

i-того зсуву рівне:

Для побудови графіку автокореляційної функції розраховуються значення рі

для 0<і<К Результатом виконання тесту буде відображення точок рі на графіку.

Очевидно, що значення р0 завжди буде рівне одиниці. Чим ближче до нуля значення

рі в інших точках - тим ближче досліджувана послідовність до випадкової.

Наявність піків на графіку (виключаючи пік в нульовій точці) свідчить про

внутрішню кореляцію послідовності.

Профіль лінійної складності. Лінійною складністю [13] скінченної двійкової

послідовності називається число, яке дорівнює довжині найкоротшого регістра

зсуву з лінійними зворотними зв'язками, який генерує послідовність, що має в

якості перших п членів значення цієї двійкової послідовності. Послідовність слів

розглядається як бітова послідовність. Для побудови графіку лінійної складності

Р = V-1

к=0

Page 45: Diss Lavdanskiy

беруться перші n біт послідовності, n>1. Для цих n біт проводиться розрахунок

значення лінійної складності. Визначення значення лінійної складності

проводиться за допомогою алгоритму Берлекемпа-Мессі [68], [84]. Лінійна

складність для n біт відкладається на графіку. Успішним проходженням тесту є

мале відхилення отриманого графіка від графікаf(n)=n/2 [85].

Графічний спектральний тест. Тест призначений для визначення

рівномірності розподілу нулів і одиниць на основі аналізу висоти викидів

перетворення Фур'є. Для цього бітова послідовність нормується (1— 1, 0——-1), після

чого до неї застосовується дискретне перетворення Фур'є. Перша половина

отриманої послідовності гармонік відображається на гістограмі. Для випадкової

послідовності чисел число гармонік, які значно перевищують середню висоту

гармонік на гістограмі, повинно прямувати до нуля.

1.5.3. Статистичні методи оцінювання статистичних характеристик

псевдовипадкових послідовностей

Для чисельного порівняння різних генераторів ПВП і генераторів випадкових

чисел використовуються статистичні пакети тестування. Статистичний пакет

тестування - множина статистичних тестів, об'єднаних в одному програмному

продукті. Серед них найбільш суворими є: тести Д. Кнута [1], Diehard [81], NIST

[33], TestU01 [9].

У тести Д. Кнута входять наступні тести: перевірка незчеплених серій,

перевірка інтервалів, перевірка комбінацій, тест збирача купонів, перевірка

перестановок, перевірка на монотонність, перевірка серіальної кореляції.

Розглянемо деякі з перелічених тестів.

Перевірка незчеплених серій. Під серією розглядається послідовність з двох

слів. Послідовність, що тестується, розбивається на слова наступним чином:

(Т2у,Т2у+1). Розраховується ймовірність появи кожного зі слів і оцінюється за

допомогою критерію X2 (теоретичне значення ймовірності ). Тест фактично єM

оцінкою розподілу к-грам для к=2.

Перевірка комбінацій. Послідовність розбивається на n підпослідовностей

довжиною к. В отриманих підпослідовностях підраховується кількість різних за

36

Page 46: Diss Lavdanskiy

37

значенням слів г. Отримані значення групуються і оцінюються за допомогою

критерію х 2. Теоретичне значення ймовірності розраховується за допомогою

наступної формули:

М - потужність алфавіту.

Перевірка перестановок. Критерій застосовується для проведення

оцінювання послідовностей, отриманих за допомогою генератора, який функціонує

за схемою "без повернення", або для послідовностей перестановок. Нехай довжина

перестановки становить ї слів. Оцінюється ймовірність появи унікальної

перестановки на виході генератора. Оцінювання проводиться за допомогою

. 2 ~ • • • 1 критерію х2, теоретична ймовірність дорівнює р = —.

Перевірка серіальної кореляції. Критерій дозволяє визначити кореляцію між

серіями слів (двома послідовно розташованими словами). Для успішного

проходження тесту значення кореляції має прямувати до 0. Кореляція

розраховується за допомогою наступної формули:

де V - об'єм вибірки;

U - слово послідовності.

До пакету тестування Diehard входять наступні тести: перевірка відстаней

між днями народження, перестановки, що перетинаються, ранги матриць, мавпячі

тести, підрахунок одиниць, тест на парковку, тест на мінімальну відстань, тест

випадкових сфер, тест стиснення, тест сум, що перетинаються, тест гри у кості.

Статистичний пакет тестування NIST включає в себе наступні тести:

частотний побітовий тест, частотний блоковий тест, тест на послідовність

однакових бітів, тест на найдовшу послідовність одиниць в блоці, тест рангів

бінарних матриць, спектральний тест, тест на збіг шаблонів, що не перекриваються,

Page 47: Diss Lavdanskiy

тест на збіг шаблонів, що перекриваються, універсальний статистичний тест

Маурера, тест на лінійну складність, тест на періодичність, тест приблизної

ентропії, тест кумулятивних сум, тест на довільні відхилення, інший тест на

довільні відхилення. Розглянемо деякі з цих тестів.

Перевірка відстаней між днями народження. Тест заснований на парадоксі

днів народження [86]. З послідовності чисел довжиною V і потужністю алфавіту М

обирається випадкова кількість слів п. Далі розраховуються відстані між

отриманими п словами. Отримані відстані повинні бути асимптотично розподілені

за законом Пуассона з математичним сподіванням . Для проведення тестування

авторами тесту рекомендуються наступні значення: V=224, п=29.

Частотний побітовий тест. Тест дозволяє оцінити розподіл нулів і одиниць

в бітовому представленні послідовності. Для випадкової рівномірно розподіленої

послідовності чисел ймовірність появи як одиниці, так і нуля повинна прямувати

до 0,5. В результаті тестування оцінюється статистика появи різних бітів в

послідовності і на основі цієї статистики розраховується значення х 2 з теоретичним

значенням 0,5. У разі, якщо розподіл нулів або одиниць відрізняється від

рівномірного, тестування буде перервано.

Частотний блоковий тест. Для проведення тестування послідовність

розбивається на блоки довжиною т біт. У кожному з блоків підраховується

кількість одиниць та розраховується ймовірність появи одиниці у цьому блоці. Для

випадкової послідовності ця ймовірність повинна бути близька до т/2 . Отримані

значення ймовірності появи одиниць оцінюються за допомогою критерію х 2 з

теоретичним значенням т/2 .

Тест на збіг шаблонів, що перекриваються (не перекриваються). За

допомогою тесту проводиться пошук заздалегідь визначених шаблонів біт

довжиною т . Пошук шаблонів проводиться наступним чином. Починаючи з

нульового біта послідовності виділяється вікно довжиною т біт. Отримане вікно

порівнюється з поточним шаблоном. Якщо збіг не знайдено - вікно пересувається

на один біт по послідовності і порівняння повторюється. Якщо збіг знайдено, то:

для тесту на збіг шаблонів, що не перекриваються, вікно пересувається на т біт;

для тесту на збіг шаблонів, що перекриваються, вікно пересувається на 1 біт. Тест

38

Page 48: Diss Lavdanskiy

дозволяє перевірити статистику розподілу к-грам, але не всіх, а тільки кількох

заздалегідь визначених у вигляді шаблону. Це дозволяє зменшити час проведення

тестування для великих значень к.

Пакет тестування TestU01 включає в себе кілька батарей тестів, які

розрізняються кількістю тестів в них: "SmanCrnsh" (складається з 10 тестів),

"Crush" (96 тестів), і найбільш суворий "BigCrush" (106 тестів).

Для виконання оцінювання ГПВЧ типу "без повернення" (таблиць

перестановок) може бути використана оцінка помилки відтворення закону

розподілу дискретної випадкової величини для множини цілих чисел відрізку

[0,М-1], наведена в [43]:і M -1

* = ж 51An( x ) •

де V - об'єм вибірки;

An( x) = n0 (x) - n( x ) ,

n0 (x) - кількість повторень символу x в теоретичному потоці;

n(x) - кількість повторень символу x в емпіричному потоці.

Відповідно до [43], вихідний потік кожного ГПВЧ можна представити у

вигляді композиції двох потоків: потоку символів з теоретичним законом розподілу

і заважаючого потоку з невідомим законом розподілу. Композиція цих потоків

визначає емпіричний розподіл вихідної послідовності ГПВЧ. Таким чином,

помилка відтворення закону розподілу дискретної випадкової величини показує

кількість заважаючих символів на одиницю об'єму вибірки.

Під час практичного використання ГПВЧ у значення помилки відтворення

закону розподілу дискретної випадкової величини як адитивні коефіцієнти входять

статистична і конструктивна складові.

Статистична складова помилки відтворення закону розподілу дискретної

випадкової величини обумовлена некратністю вибірки періоду повторення

послідовності. Розглянемо внутрішній алгоритм формування слів послідовності

ГПВЧ до перетворення області визначення. Слова, породжені внутрішнім

алгоритмом ГПВЧ, належать інтервалу [0,7-1] (де Т - період повторення ГПВЧ),

кожне слово інтервалу зустрічається тільки один раз. В такому випадку помилка

відтворення буде мінімальною. Очевидно, що за вибірки, некратній періоду Т, деякі

39

Page 49: Diss Lavdanskiy

слова будуть зустрічатися рідше (або частіше) інших слів інтервалу [0,74], що і

визначає статистичну складову помилки.

Конструктивна складова помилки відтворення закону розподілу дискретної

випадкової величини може бути обумовлена конструкцією генератора або

проявлятися під час перетворення області визначення випадкової величини.

1.5.4. Інтерпретація результатів оцінювання статистичних

характеристик псевдовипадкових послідовностей

Для послідовності генератора випадкових чисел ^-розподіл рівномірний для

будь-якого £>1. Це означає, що в послідовності можливе будь-яке комбінування

слів з множини можливих. Але не всі такі комбінування можливо назвати

випадковими. Наведемо простий приклад. Ймовірність випадання послідовності

чисел 0, 1, 2, ..., 6, 7 для генератора випадкових чисел з потужністю алфавіту М=8

1 ~рівна р = . З теоретичної точки зору така послідовність є випадковою, оскільки

ймовірність її появи не дорівнює нулю і дорівнює ймовірності появи будь-яких

інших послідовностей довжиною 8 слів. Але у випадку застосування статистичних

тестів до такої послідовності безумовно буде виявлено кореляцію між словами

послідовності. Завжди існує ненульова ймовірність того, що генератор випадкових

чисел (або якісний генератор псевдовипадкових чисел) не буде проходити

статистичні тести. Тому результатом статистичного тесту є не абсолютне значення,

чи пройдено тест, а ймовірнісне: з якою ймовірністю тестована послідовність може

вважатися випадковою.

Кожен з окремих тестів визначає тільки одну з множини можливих

статистичних закономірностей. Таких закономірностей безліч, тому існує

нескінченна кількість тестів, що визначають ці закономірності. Пакети

статистичного тестування містять скінченну кількість тестів, кожен з яких

досліджує тільки частину властивостей послідовності, тому будь-який набір тестів

не можна вважати вичерпним.

Під час проведення тестування в якості нульової гіпотези Н0 висувається

гіпотеза про те, що послідовність, яка перевіряється, є випадковою. Як

альтернативна їй визначається гіпотеза На про те, що послідовність не випадкова.

40

Page 50: Diss Lavdanskiy

За результатами виконання тесту одна з цих гіпотез приймається, інша,

відкидається. Існує ймовірність того, що буде прийнято гіпотезу про

невипадковість послідовності, коли послідовність дійсно випадкова. Така помилка

називається помилкою першого роду. Ймовірність помилки першого роду

називається рівнем значущості. Рівень значущості встановлюють до проведення

тестування. Наприклад, для тестів NIST значення рівня значущості (а) вибирають

з проміжку [0,001;0,01]. Якщо за результатами тестування отримане значення тесту

знаходиться в проміжку [0;а] - послідовність не випадкова; якщо в проміжку

[1-а;1] - послідовність "підозріло" випадкова (можливо, послідовність підібрана

спеціальним чином для проходження тестування, тобто сфальсифікована). Тому,

якщо результат тестування лежить в межах (а;1-а) - послідовність вважається

випадковою з рівнем значущості а .

1.6. Висновки

Використання лінійного конгруентного методу формування ПВП та методу

на основі регістра зсуву з лінійними зворотними зв’язками широко розповсюджено

внаслідок їх переваг, що полягають у простоті апаратної (зокрема для РЗЛЗЗ) та

програмної реалізації, а також високої швидкодії. Проте генератори на основі таких

методів не можуть бути використані у практичних застосуваннях без попереднього

визначення їх параметрів (K, C, M для ЛКМ та генераторний поліном для РЗЛЗЗ).

Використання генераторів на основі ЛКМ та РЗЛЗЗ з довільним набором

параметрів може призвести до значно меншого за максимальний періоду

повторення отриманих послідовностей та їх незадовільних статистичних

властивостей. Крім того, навіть підібрані параметри вказаних генераторів не

завжди дозволяють отримати рівномірний закон розподілу для породжуваних ними

послідовностей (відсутність нульової комбінації у РЗЛЗЗ, нуль-цикл для ЛКМ з

простим значенням М).

Таким чином, указані недоліки створюють обмеження для застосування ЛКМ

та РЗЛЗЗ у задачах комп’ютерної криптографії, що вимагають формування

рівномірно розподіленої та непередбачуваної ПВП чисел заданого діапазону.

З іншої сторони, використання методів формування ПВП у практичних

задачах є недопустимим без дослідження їх статистичних властивостей. Однак не всі

41

Page 51: Diss Lavdanskiy

методи дослідження статистичних властивостей можуть бути оцінені за допомогою

чисельних характеристик. Наприклад, аналіз АКФ (за виключенням аналізу

окремих значень коефіцієнтів автокореляції) відбувається на основі візуального

оцінювання побудованого графіку, який не завжди дозволяє сформувати об’єктивну

оцінку. Розробка методу вимірювання та чисельного оцінювання параметрів АКФ

дасть змогу з більшою точністю підтверджувати випадковість послідовності.

Крім того, існуючі методи оцінювання ПВП дозволяють визначити

відповідність статистичних властивостей ПВП заданим критеріям, проте повноту

критеріїв довести вкрай важко. Тому розробка нових методів оцінювання раніше не

досліджуваних статистичних властивостей ПВП дозволять ближче наблизитися до

визначення повноти та достатності статистичних оцінок.

Наведені протиріччя дозволили поставити наукову задачу дисертаційного

дослідження, що полягає в розробці методів і засобів формування ПВП на основі

ЛКМ та РЗЛЗЗ, а також на основі комбінації генераторів, які дозволяють формувати

ПВП з великим періодом повторення та статистичними властивостями випадкових

послідовностей. Для досягнення поставленої мети потрібно вирішити наступні

задачі:

- розробити метод формування псевдовипадкової послідовності з рівномірним

законом розподілу на виході генератора на основі ЛКМ і РЗЛЗЗ для довільних

значень їх параметрів;

- розробити комбінаційний метод формування ПВП з перестановками чисел у

якості первинних генераторів і комбінуючою функцією підсумовування за модулем

або мультиплексування;

- розробити метод статистичного оцінювання АКФ рівномірно розподілених

ПВП.

У наступному розділі представлено вирішення першої задачі дисертаційного

дослідження. Основною гіпотезою для цього є те, що ЛКГ і РЗЛЗЗ породжують

підмножини цілих чисел, які не перетинаються. Тому виконання операції

конкатенації всіх підмножин в одну множину дозволить забезпечити отримання

рівномірно розподілених ПВП з нульовою помилкою відтворення рівномірного

закону розподілу (перестановку заданого порядку) для довільних параметрів

генераторів.

42

Page 52: Diss Lavdanskiy

РОЗДІЛ 2. МЕТОД ФОРМУВАННЯ ПСЕВДОВИПАДКОВОЇ

ПОСЛІДОВНОСТІ НА ОСНОВІ ЛІНІЙНОГО КОНГРУЕНТНОГО

ГЕНЕРАТОРА І РЕГІСТРА ЗСУВУ З ЛІНІЙНИМИ ЗВОРОТНИМИ

ЗВ’ЯЗКАМИ

2.1. Вступ

Генератори на основі ЛКМ і РЗЛЗЗ, що розглядались в першому розділі

роботи, широко використовуються для різного роду прикладних задач, які

потребують великого періоду повторення послідовності і відсутності

міжсимвольної кореляції. Проте, такі генератори не володіють властивостями

непередбачуваності. Однак, зважаючи на простоту побудови і високу швидкодію,

такі генератори можуть бути використані в якості основи (бази), для побудови

ГПВЧ, що породжують послідовності, набір властивостей яких більшою мірою

відповідає природним випадковим процесам, у тому числі таким, як властивості

відтворюваності і непередбачуваності. У розділі розглянуто ГПВЧ з нульовою

помилкою відтворення рівномірного закону розподілу на основі ЛКМ і РЗЛЗЗ.

Визначимо деякі поняття.

Під первинними ГПВЧ будемо розуміти ГПВЧ з властивостями, необхідними

для побудови генераторів більш високої якості (позбавлених повністю або частково

недоліків первинних ГПВЧ).

У число таких вимог може входити:

• тип розподілу;

• величина помилки відтворення теоретичного закону розподілу;

• необхідний період повторення послідовності;

• ряд інших вимог (ступінь внутрішньої кореляції, швидкодія та інші).

У якості первинних ГПВЧ у роботі будемо використовувати генератори на

основі ЛКМ і РЗЛЗЗ, до яких пред'являються наступні вимоги:

• нульова помилка відтворення рівномірного закону розподілу;

• передбачуваний період повторення слів для всіх використовуваних

первинних ГПВЧ.

43

Page 53: Diss Lavdanskiy

На основі первинних ГПВЧ можливо побудувати ГПВЧ з покращеними

властивостями - сукупність первинних ГПВЧ, доповнених пристроями, блоками,

пристосуваннями, які забезпечують покращення властивостей послідовностей, що

формуються.

Під покращенням властивостей послідовностей ГПВЧ мається на увазі:

• покращення статистичних показників;

• збільшення періоду повторення послідовності;

• зменшення міжсимвольної кореляції в послідовності в порівнянні з

відповідним показником послідовності, породженої первинним ГПВЧ.

До недоліків ГПВЧ, що використовують сукупність первинних генераторів,

слід віднести зменшену швидкість формування ПВП і підвищені вимоги до

програмних і апаратних засобів їх реалізації (підвищена кількість апаратних

ресурсів за апаратної реалізації і підвищене використання пам'яті за програмної

реалізації з огляду на використання сукупності первинних ГПВЧ). Для розглянутих

ГПВЧ з покращеними статистичними властивостями у роботі будуть

використовуватися первинні ГПВЧ з нульовою помилкою відтворення

рівномірного закону розподілу.

Оскільки генератори на основі ЛКМ (виключаючи спеціально підібрані

параметри) і РЗЛЗЗ не формують ПВП з нульовою помилкою відтворення

рівномірного закону розподілу, а також мають відносно невеликий період

повторення слів послідовності, визначимо наступні задачі, що вирішуються в

розділі:

• визначити параметри генератора на основі ЛКМ, які призводять до

формування циклів, що не перетинаються, що дозволить провести об'єднання таких

циклів;

• розробити метод конкатенації циклів генератора на основі РЗЛЗЗ і ЛКМ,

що дозволить збільшити період повторення послідовності на виході такого ГПВЧ.

• розробити методику визначення часу відтворення повного періоду

повторення ГПВЧ в умовах постійного збільшення обчислювальних можливостей

обладнання, що дозволить покращити точність розрахунку у випадку заміни

обладнання продуктивнішим на регулярній основі.

44

Page 54: Diss Lavdanskiy

Досягнення поставлених задач дозволить побудувати генератори на основі

ЛКМ і РЗЛЗЗ з нульовою (або близькою до нульової) помилкою відтворення

рівномірного закону розподілу і збільшеним періодом повторення слів

послідовності.

Як уже було зазначено в першому розділі, для досягнення максимального (або

близького до максимального) періоду повторення послідовності на виході

генератора на основі ЛКМ потрібні спеціальним чином підібрані параметри К, С та

М. У цьому випадку значення параметра М зазвичай вибирають рівним або

простому числу (у цьому випадку досягається максимальна довжина періоду

повторення слів послідовності, рівна М-1), чи значенню 2п або 2п-1, де п -

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

М дозволяє підвищити швидкодію генератора за рахунок використання зсуву

замість ресурсномісткої операції взяття модуля). Параметри К та С вибирають

експериментально, виходячи з рекомендацій [1] для отримання максимального

періоду повторення. Параметри К , С і М , які не дають максимально можливого

періоду повторення, переважно не використовуються. Наприклад, за М=8 і К=5

тільки 4 значення С з 8 можливих дають максимальне значення періоду повторення

7=8. Однак, параметри генератора на основі ЛКМ, що не дають максимального

періоду, можуть бути використані для побудови ГПВЧ, оскільки цикли меншого

періоду можуть бути такими, що не перетинаються, і можуть бути об'єднані в один

великий цикл максимального періоду (приклад такого генератора для простого М

наведено в [87]). Однією з цілей розділу є визначення параметрів генератора на

основі ЛКМ, що призводять до формування циклів, що не перетинаються, з наперед

заданою конструкцією графа станів, а також можливі варіанти конфігурації таких

циклів.

Визначення часу відтворення послідовності чисел на виході ГПВЧ за

використання обчислювального обладнання є важливою задачею, оскільки від

цього часу безпосередньо залежить час, необхідний криптоаналітику для злому

ГПВЧ. Для поліпшення точності розрахунку такого часу доцільно враховувати

постійне збільшення обчислювальних здібностей сучасних процесорів та інших

обчислювальних пристроїв. Однією з цілей розділу є розробка методики, що

дозволяє проводити розрахунок часу відтворення повного періоду повторення

45

Page 55: Diss Lavdanskiy

послідовності на виході ГПВЧ з урахуванням підвищення продуктивності

обчислювальних блоків.

Практична реалізація генераторів на основі РЗЛЗЗ дуже проста, а їх

швидкодія дуже велика. Ці послідовності відтворювані - фрагмент послідовності і

вся послідовність відтворюються абсолютно точно за відомих параметрів у будь-

якій точці простору і часу. Ця сукупність факторів визначила широке застосування

таких ГПВЧ у всіх областях комп'ютерної техніки і техніки зв'язку. Разом з тим,

такий принцип формування послідовності має суттєві недоліки:

• нерівномірний розподіл символів послідовності в діапазоні [0,М-1],

оскільки в послідовності, що формується, як мінімум, відсутній символ "0";

• такі послідовності можуть бути створені тільки для величин, розподілених

в діапазоні [1,М-1], де М=2т ;

• обмежений період повторення послідовності, що не перевищує значення

М=2т- 1;

• послідовність не забезпечує стійкість до розкриття закону її формування

по відрізку.

Усунути зазначені вище недоліки дозволяє конкатенація циклів,

породжуваних РЗЛЗЗ. Однією з цілей цього розділу є розробка методу, який

дозволяє формувати цикли, що не перетинаються, період повторення яких не

досягає значення Т=2т , і виконувати їх конкатенацію в надцикл з нульовим

значенням помилки відтворення рівномірного закону розподілу.

2.2. Визначення графу стану генератора на основі лінійного

конгруентного методу

Відомо [1], що період повторення послідовності слів на виході генератора,

заснованого на ЛКМ, залежить від параметрів К , С та М . Якщо період не буде

максимальним (ТфМ), результуюча послідовність на виході генератора не

включатиме всі можливі слова (помилка відтворення рівномірного закону

розподілу не дорівнюватиме нулю). Разом з тим слова, які не ввійшли в таку

послідовність, можуть бути використані в якості нового ВПЗ цього генератора. В

46

Page 56: Diss Lavdanskiy

той же час, нова сформована послідовність може не містити слів з початкової

послідовності генератора.

Слід зауважити, що послідовності, що формуються на виході генератора на

основі ЛКМ, не завжди є такими, що циклічно повторюються. Наприклад, циклом

буде множина {5,8} для послідовності 5,8,5,8 ... і не буде множина {1,8,5} для

послідовності 1,5,8,5,8 ... . 5'(0)=1 є особливою точкою входу в цикл {5,8} і не

належить йому. Подібні особливі точки входу в цикл виникають наприклад, якщо

К і М не є взаємно простими числами [1]. Такі цикли (з особливою точкою входу)

на не знаходять практичного застосування, можливість їх використання для

вирішення практичних задач не визначена. Тому такі цикли не розглядатимуться в

роботі.

Визначимо деякі терміни.

Циклом максимального періоду називатимемо цикл, період повторення якого

дорівнює М слів.

Циклами, що не перетинаються, будемо називати цикли, які не мають спільних

слів з множини [0,М-1] з іншими циклами в рамках одного алгоритму формування

з фіксованими параметрами.

Для формування всіх можливих циклів для обраних параметрів К , С і М

використовують принцип "решета Ератосфена". Методика формування всіх циклів,

що не перетинаються, приведена в [66] і полягає в наступному: вибирають

довільний ВПЗ, формують цикл на його основі, вибирають слово, що не входить в

сформований цикл і використовують його як ВПЗ для формування наступного

циклу. Процес повторюється до отримання всіх слів з множини [0,М-1].

Якщо сформувати всі можливі цикли для деяких обраних значень К , С і М , і

отримані цикли будуть такими, що не перетинаються, то їх можна об'єднати в

надцикл з максимальним періодом повторення Т=М [66].

З урахуванням викладеного, надциклом будемо називати об'єднання циклів,

що не перетинаються, яке дає повну множину слів [0,М-1], кожне з яких

зустрічається в надциклі тільки один раз.

Виходячи з [66], нуль-циклом будемо називати цикл довжиною в одне слово з

множини потужності М.

47

Page 57: Diss Lavdanskiy

Графом станів генератора будемо називати конфігурацію циклів, яка

формується за використання всіх можливих ВПЗ для цього генератора. Період

повторення циклу будемо позначати як t, кількість циклів з таким періодом будемо

позначати як d. Таким чином, будь-який граф станів генератора може бути

представлений виразом dxt. В такому випадку, граф станів нуль-циклу буде мати

позначення 1x1.

Аналіз різних конфігурацій генераторів на базі ЛКМ показав [21], що всі

можливі графи станів можуть бути зведені до єдиної конфігурації, що містить

групу з d циклів, що не перетинаються, однакової або різної довжини t і множини

відокремлених слів потужності Z. Ці слова можуть утворювати нуль-цикли або

бути словами, що не входять в жоден цикл (особливі точки входу в цикл).

Сформулюємо декілька тверджень, що дозволяють судити про кількість

перестановок, які формуються на виході генератора на основі ЛКМ.

Твердження 2.1. ГПВЧ на основі ЛКМ не може сформувати повну множину

перестановок з M! для фіксованого значення M.

Доведення.

ГПВЧ на основі ЛКМ оперує чотирма різними параметрами: значеннями K, C,

М і S0. Відомо [1], що вибір параметрів K, C і So, які більше значення M, не має

сенсу. Тому для K<M, C<M, S0<M значення K, C і S0 можуть бути змінені в межах

[0;М). Таким чином, кожен з параметрів, використовуваних в ЛКМ, може приймати

не більше М значень. Для зміни вмісту циклу на виході генератора на основі ЛКМ

потрібно змінити хоча б однин з цих параметрів. Припустимо, що після зміни будь-

якого з параметрів генератора на основі ЛКМ, отримаємо унікальну перестановку

на його виході. Таким чином, змінюючи кожен з параметрів можна отримати не

більше М3 унікальних перестановок. Оскільки М!>>М3, то отримати повну

множину можливих перестановок, використовуючи тільки ЛКМ без додаткових

модифікацій, не представляється можливим, що й треба було довести.

Наслідок. Розподіл перестановок, отриманих від генератора на основі ЛКМ, не

є рівномірним, оскільки множина формованих перестановок не є повною.

Твердження 2.2. Генератор на основі ЛКМ з параметрами М=2П, n>1,

K mod 4=1 і непарному C може сформувати не більше 23n-3 перестановок.

Доведення.

48

Page 58: Diss Lavdanskiy

З огляду на те, що К<М, С<М, 50<М, то всього можливих значень К рівно 2й-2,

можливих значень С рівно 2й-1, можливих значень 50 рівно 2й. З огляду на те, що

кожна комбінація параметрів К, С, 50 дає унікальну перестановку, генератор на

основі ЛКМ формуватиме 2й-2х2й-1х2й=23й-3 таких перестановок, що й треба було

довести.

Твердження 2.3. Кількість перестановок, які формуються за допомогою

конкатенації циклів генератора на основі ЛКМ, рівна ^1.

Доведення.

Конкатенація циклів можлива за використання графа dxt у випадку ^>1.

Кількість циклів, що не перетинаються, d визначатиме кількість можливих

комбінацій таких циклів. Кожна з таких комбінацій циклів буде являти собою

перестановку. Комбінувати такі цикли можна шляхом перемішування їх у

випадковому порядку. Кількість можливих комбінацій дорівнюватиме d!, що й

треба було довести.

Виходячи з тверджень 2.1 і 2.3 і враховуючи, що d! дорівнюватиме М тільки

в разі, якщо d=M, використовувати конкатенацію циклів генератора на основі ЛКМ

для отримання повної множини з М ! перестановок немає сенсу, оскільки

конкатенація буде проводитися над М нуль-циклами. Але для формування

послідовності нуль-циклів використовувати генератор на основі ЛКМ буде

надмірно, оскільки таку послідовність можна отримати шляхом перемішування

послідовності натуральних чисел потрібної потужності.

Для реалізації конкатенації циклів, сформованих генератором на основі ЛКМ,

потрібно визначити граф станів автомата як сукупність розрізнених циклів. Для

цього потрібно визначити параметри К, С і М, за яких на виході ГПВЧ формується

заданий граф стану.

2.3. Вибір параметрів лінійного конгруентного методу для заданого

типу графу

Перепишемо вираз (1.1) у вигляді 5 (п) = ||К5(п - 1)|м + |С|М|^ . Визначимо

К = д1М + К 0, С = д2М + С0 Кз<М, 0)<М. Тоді 5 (п) = ||К 0О(п - 1)|м + |С0 |м |м .

Звідси випливає, що вибір параметрів К і С, більших М, позбавлений сенсу.

49

Page 59: Diss Lavdanskiy

Виділимо в послідовності сформованих слів деяке довільне слово 5(0)

(необов'язково рівне нулю). Слово, зміщене щодо 5(0) на і слів 5(0+і)=5(і):

50

і-15 (і) = К 1Б (0) + С £ К 1 (2.1)

(2.2)

Припустимо, що 5(7)=5(0), 1<Т<М Це означає, що період повторення циклу

дорівнює значенню Т, а з виразу (2.2) випливає, що

Визначимо залежність кількості нуль-циклів у графі станів ЛКМ від його

параметрів.

Приймемо 7=1. Тоді з (2.3)

Цей вираз також можна отримати, якщо в (1.1) прийняти 5(1)=5(0).

У [21] сформульовано кілька тверджень, які дозволяють визначити наявність і

кількість нуль-циклів в графі станів. Наведемо їх разом із доведенням.

Твердження 2.4 [21]. Нуль-цикл графа станів генератора на основі ЛКМ

розташовується в точці 5(0)=0 тоді і тільки тоді, коли С=0.

Доведення. Прийнявши в (2.4) 5(0)=0, отримаємо С=дМ, що можливо тільки у

випадку д=С=0.

Якщо ж С=0, то 5(0)=0 є коренем рівняння (2.4) за д=0.

Твердження доведено.

Твердження 2.5 [21]. Для існування нуль-циклу необхідно і достатньо, щоб

значення С було кратно НСД(К-1,М).

Доведення. Нуль-цикл описується виразом (2.4): (К -1)5(0) + С = д М .

Нехай а=К-1; х=5(0); Ь=М; у=д, с=С. Тоді вираз (2.4) буде мати наступний

вигляд: ах + Ьу + с = 0.

К т -1 К -1

М

|( К -1 ) 5 (0) + СІМ = 0. (2.3)М

|( К -1 )5 (0) + С|м = 0. (2.4)

Page 60: Diss Lavdanskiy

Нехай d=НСД(K-1,M)=НСД(a,b). Тоді рівняння ах + Ьу + с = 0 або

(а'х + Ь1у )й + с = 0 може мати цілі рішення тільки тоді, коли с кратно d [88].

Твердження доведено.

Твердження 2.6 [21]. Кількість нуль-циклів в графі станів генератора на основі

ЛКМ дорівнює d=НСД(K-1,M) (за \С\а = 0).

Доведення. Під час доведення використано твердження 2.5.

І сЄ рівняння з двома невідомими першої степені ах + Ьу + с = 0. Нехай с = —.й

а ЬТоді рівняння ах + Ьу + с = 0 перетвориться у а'х + Ь'у + с ' = 0, де а' = — і Ь' = —

й й

взаємно прості.

^ а' а К -1 К -1 РВираз — = — = ------- розкладемо в ланцюговий дріб в и д у = —- , де п -

Ь' Ь М М (2п

порядок ланцюгового дробу. Рішення цього рівняння має вигляд [88]:

5(0) = (-1)”-1 С &-, - М , а а

Ч = (-1)"С Р,-1 + і ,(і = 0, ± 1, ± 2...).а а

З 5(0) = (-1)”-1 С ^ ! - М і випливає, що кількість нуль-циклів в графі станів й й

ЛКМ дорівнює значенню d=НСД(K-1,M).

Дійсно, якому би значенню не дорівнював перший доданок виразу

5(0) = (-1)”-1 С ^ ! - М і , існує рівно d значень ї, таких що 5(0) є [0,М -1 ].

Твердження доведено.

Зауваження [21]:

1. Для К=1 і Сф0 граф станів генератора на основі ЛКМ не буде мати

жодного нуль-циклу;

2. Для К=1 і С=0 граф станів генератора на основі ЛКМ буде містити М

нуль-циклів.

51

Page 61: Diss Lavdanskiy

Твердження 2.7 [21]. Максимальна кількість нуль-циклів в графі станів

Мгенератора на основі ЛКМ з параметром М за К>1 досягається для К = — к +1 іР

„ М . . . . , ,С = — с , де р - мінімальний множник під час розкладання числа М на простіР

множники, к і с - будь-які цілі числа, що задовольняють умовам 1<к<р та 0<с<р.

Доведення. Відповідно до твердження 2.6, кількість нуль-циклів в графі станів

генератора на основі ЛКМ дорівнює значенню d=НСД(K-1,M).

Число М можна представити у вигляді

М = Р ІР е • ••• • РП,

де Рі - прості множники, р г>1, р г>Рг+1, Є>0.В силу того, що К<М, значення ^=НСД(К-1,М) є максимальним, якщо

МК -1 = — к = кРІ1 р Є •... • р Єп , де к - будь-яке ціле число, 1<к<р1.

Р і

Відповідно до твердження 2.5, необхідно, щоб значення С було кратно

<і=НСД(К-1М). Якщо К -1 = М к , <і=НСД(К-1,М)=М . З урахуванням твердженняРі Р1

М2.5, а також, що С<М, С = — с , де с - будь-яке ціле число, 0<с<р1.

Р1Твердження доведено.

Зауваження [21]. У разі необхідності виконання умови взаємної простоти

значень К і М в твердженні 2.4 значення р вибирається як мінімальний множник в

розкладанні числа М на прості множники, для якого існує к, за якого К і М взаємно

прості.

Твердження 2.8 [21]. Граф станів генератора на основі ЛКМ з параметром М

не має нуль-циклів тоді і тільки тоді, коли Р=НСД(К-1,М)>1 і |С| ф 0.

Доведення. Відповідно до твердження 2.5, для існування нуль-циклу необхідно

і достатньо, щоб значення С було кратно НСД(К-1, М).

Дійсно, для того, щоб нуль-циклів в графі станів генератора на основі ЛКМ не

існувало, рівняння ах + Ьу + с = 0 або (а'х + Ь'у)й + с = 0 (див. твердження 2.5) не

52

Page 62: Diss Lavdanskiy

повинно мати рішень в цілих числах, що виконується тільки за й=НСД(К-\.№)>1 і

С І * 0 •

Якщо ж |С| = 0 за <і>1, то рівняння а'х + Ь у + є '= 0 (див. твердження 2.6)

завжди має рішення в цілих числах, кількість яких дорівнює значенню

й=НСД(К-1М).

Твердження доведено.

Твердження 2.9 [21]. Граф станів генератора на основі ЛКМ з параметром М

має один нуль-цикл тоді і тільки тоді, коли д=НСД(К-1М)=1•Доведення. Граф станів генератора на основі ЛКМ має один нуль-цикл, якщо

рівняння (К - 1)5(0) + С = qM має одне рішення. Рішенням рівняння є

5(0) = (-1)п-1 С 0„-і - М , де й=НСД(К-1 М ). (ґ = 0,± 1,± 2...) (див. доведення а а

твердження 2.6). Для того, щоб рішення було єдиним (5(0) є [0, м - 1]). необхідно

дотримання рівності d=1 і, відповідно, 5(0) = (-1)п~1 CQn__1 - М ґ.

Якщо ж d=НСД(K-1.М)>1, то відповідно до тверджень 2.6 і 2.8, нуль-циклів

або не існує, або їх кількість більше одного.

Твердження доведено.

Граф станів генератора з циклами, що не перетинаються, на основі ЛКМ може

бути представлений в наступному записі:а

г = Х ь + (2 х 1),і=1

загальне число вершин графа завжди дорівнює М.

На основі наведених тверджень і експериментальних досліджень моделі

генератора на основі ЛКМ в [21] визначені найбільш зручні для конкатенації типи

графів станів:

1. Г=1хМ - один цикл довжиною М ^=1, ґ=М, 2=0). Такий граф

характерний для М=2к, К=4р+1, С=21+1, де р і І - натуральні числа;

2. Г=^*£+1x1, d^t=M-1, що мітить d циклів довжиною і кожний і один

53

нуль-цикл

М;

а > 1, ґ = М - 1 , я = 1 а

. Такий граф характерний для простих

Page 63: Diss Lavdanskiy

М3. Г=d^t, dxt=M, d > 1, ї = — , 2 = 0. Такий граф характерний для М=2р,

d

К=21-1, де р и І - натуральні числа і р>1;d

4. Г = ^ + 2 х 1, що мітить d циклів довжиною їі, і є [1, d j , і 2і=1

відокремлених слів.

Перш за все визначимося, які типи графів найбільш зручні для формування

повної множини слів на інтервалі [0..М-1].

Повна множина слів на інтервалі [0..М-1] складається з послідовності М слів,

кожне слово зустрічається лише один раз (помилка відтворення рівномірного

закону розподілу дорівнює нулю). З цього випливає, що використання циклів, що

перетинаються, неприпустимо, оскільки це призведе до повторення або відсутності

одного або декількох слів у надциклі. Усі наведені вище типи графів станів

складаються з циклів, що не перетинаються.

Деякі типи графів станів (наприклад, тип 2 і 4), містять 2 слів, що не входять в

інші цикли. Отримання повної множини слів для таких графів можливо, але

пов'язано з додатковими труднощами під час розміщення 2 слів у випадковому

порядку серед слів основних циклів.

Граф першого типу не вимагає проведення конкатенації, оскільки період

повторення циклу, що ним формується, дорівнює М . Генератор на основі такого

типу графа можна використовувати без змін.

Найбільш простим з точки зору можливості покращення характеристик

шляхом конкатенації циклів є граф типу 3, оскільки цикли, що формуються за

такого графа, є однаковими за структурою. Ця властивість дозволяє виконувати

перемішування таких циклів у довільному порядку, що призводить до зменшення

кореляції між словами і збільшення періоду повторення результуючої

послідовності.

Зауважимо, що граф першого типу можна привести до графу типу 3 шляхом

довільного поділу його на рівні частини, що також дозволить виконувати

конкатенацію таких частин у різному порядку.

Надалі в роботі будемо використовувати граф ЛКМ типу 3 для формування

ГПВЧ з нульовою помилкою відтворення рівномірного закону розподілу.

54

Page 64: Diss Lavdanskiy

2.4. Розробка методу формування псевдовипадкової послідовності

шляхом конкатенації циклів генератора

2.4.1. Формування псевдовипадкової послідовності шляхом

конкатенації циклів лінійного конгруентного генератора

Перш за все слід зауважити, що для відтворення послідовності слів на виході

генератора на основі ЛКМ потрібно знання його параметрів, а саме параметрів К ,

С, М, S0. Зміна параметрів К, С або М призводить до зміни чергування слів, або

повністю змінює граф стану. Зміна ж параметра 50 (за незмінних параметрів К, С і

М ) дозволяє циклічно зсунути послідовність слів (в межах циклу), або перейти в

інший цикл. Таким чином, параметр 50 дозволяє ідентифікувати цикл (без

урахування зсуву), використовуючи тільки одне слово з множини потужності М

слів. Цією властивістю можна скористатися для зменшення споживання пам'яті для

зберігання циклів, над якими буде проводитись конкатенація, за рахунок

динамічного розрахунку циклу за вимогою.

Для цього обирають значення К, С, М і формують ГПВЧ на основі ЛКМ. Далі

обирають значення 50 і виконують формування циклу. Після вивчення

властивостей отриманого циклу і вибору наступного значення 5 зберігають

поточне значення 50 в пам'яті. За необхідності використання цього циклу в

подальшому з пам'яті отримується збережене значення 50 і завантажується в ГПВЧ

на основі ЛКМ, на виході якого і отримують необхідний цикл.

Конкатенація циклів генератора на основі ЛКМ з типом графа 3 в ГПВЧ з

нульовою помилкою відтворення рівномірного закону розподілу відбувається

наступним чином [21]. Апріорно в пам'ять керуючого автомата заносяться слова

представники кожного з циклів. Для формування кожного з циклів в генератор на

основі ЛКМ заноситься ВПЗ у вигляді представника циклу. Проводиться

формування циклу до початку повторення ВПЗ, після чого ВПЗ змінюється на

наступний збережений в пам'яті автомата. Таким чином перебираються всі

збережені ВПЗ, а на виході отримується ПВП довжиною М слів. Порядок

проходження циклів в такому випадку є фіксованим і залежить від порядку ВПЗ,

збережених у пам'яті автомата. Слід зауважити, що внаслідок фіксованого порядку

чергування слів, ця послідовність чисел корельована - будь-яка пара слів,

55

Page 65: Diss Lavdanskiy

рознесених на інтервал, кратний М , взаємно-однозначно визначена. Для усунення

такого недоліку можливо виконати перемішування ВПЗ, або, що те ж саме,

перемішування циклів ГПВЧ на основі ЛКМ.

Для зменшення внутрішньої кореляції і збільшення періоду повторення

послідовності чисел, що породжуються генератором на основі конкатенації циклів,

виконаємо перемішування циклів. Для цього потрібен граф станів генератора на

основі ЛКМ, що складається з d циклів довжиною і слів кожен. Уявімо d циклів у

вигляді, наведеному на рисунку 2.1.

56

d

і

Рис. 2.1. Основна матриця генератора на основі ЛКМ

Оскільки цикл може бути розрахований тільки з використанням параметрів

генератора на основі ЛКМ, будемо зберігати тільки ці параметри в пам'яті

(значення К. С. М. £0).

Формування послідовності слів на виході такого генератора відбувається в

наступний спосіб. Автомат вибирає два числа di і 6, які вказують на стовпець і рядок

основної матриці. Перше число визначає представника циклів, який

завантажується в генератор на основі ЛКМ як ВПЗ. Друге число є номером слова в

циклі, яке виводиться на вихід генератора.

Формування триває до тих пір, поки не будуть перебрані всі d представників

циклів і всі і слів в кожному з циклів.

Для збільшення періоду повторення такого генератора під час перебору всіх

доступних значень di і іі виконується перестановка стовпців і строк основної

матриці генератора. Максимальний період повторення послідовності слів в такому

випадку досягає значення Гшах = М х а їх ґ ! слів.

Page 66: Diss Lavdanskiy

57

2.4.2. Формування псевдовипадкової послідовності шляхом

конкатенації циклів регістра зсуву з лінійними зворотними

зв’язками

Послідовності, сформовані за допомогою РЗЛЗЗ, широко використовуються в

різних пристроях для формування ПВП. ГПВЧ на основі РЗЛЗЗ мають високу

швидкодію, просту конструкцію і близький до рівномірного закон розподілу слів

на виході. Однак, для досягнення цих характеристик потрібно використання

незвідного генераторного полінома для побудови такого ГПВЧ. Це висуває певні

обмеження на вибір параметрів для генератора на основі РЗЛЗЗ. Звідні генераторні

поліноми не дозволяють досягти максимального періоду повторення послідовності

і близької до нуля помилки відтворення рівномірного закону розподілу.

Дослідження, наведені в [89], показують, що використання різних

генераторних поліномів призводить до розбиття всієї множини можливих слів на

виході ГПВЧ на основі РЗЛЗЗ на цикли, що не перетинаються. У цьому випадку,

незвідний генераторний поліном степені т призводить до формування графа станів

виду 2т-1х1+1х1, де 1x1 - цикл, що складається з одного слова з нульовим

значенням (нуль-цикл). Використання звідного генераторного полінома дозволяє

отримати множину циклів, що не перетинаються, різної довжини, перехід між

якими можливий шляхом зміни ВПЗ.

Також у [89] показано, що незалежно від того, чи генераторний поліном є

звідним, потужність множини станів РЗЛЗЗ завжди дорівнює М=2т . За допомогою

вибору ВПЗ можливо розділити цю множину на підмножини (цикли), які не

перетинаються, що дозволяє виконувати конкатенацію таких циклів в один

великий цикл (надцикл). Отриманий надцикл матиме максимальний період

повторення слів, рівний Т=2т, і помилку відтворення рівномірного закону

розподілу, рівну нулю. Отримані властивості дозволяють використовувати таку

конструкцію РЗЛЗЗ у якості первинних ГПВЧ.

Значно збільшити період повторення і покращити статистичні властивості

послідовності на виході генератора на основі РЗЛЗЗ можна, якщо виконати

конкатенацію всіх циклів, які може породити т-розрядний РЗЛЗЗ, і всіх

Page 67: Diss Lavdanskiy

послідовностей, отриманих після конкатенації циклів генератора, отриманих для

різних генераторних поліномів.

Для цього апріорно (наприклад, на стадії розробки генератора) для заданого

порядку генераторного полінома "т" визначають:

- усі генераторні поліноми, які породжують послідовності, що підлягають

конкатенації (число таких послідовностей може досягати значення г=2т-1,

коефіцієнти для хт і х0 повинні бути рівні 1);

- довжини всіх циклів (1<£<2т-1), що породжуються кожним з генераторних

поліномів;

- по одному представнику кожного з циклів;

- загальне число циклів к, породжуваних кожним генераторним поліномом.

Усі ці дані заносяться в постійну пам'ять генератора.

Під час використання генератора в нього завантажують генераторний поліном

і ВПЗ (слово 5(0)), після чого виконується формування поточного циклу. Після

завершення формування Ь слів циклу проводиться заміна представника циклу, і

генератор формує слова, що належать до наступного циклу. Цей процес

повторюється до тих пір, поки не будуть сформовані всі к циклів для

використовуваного генераторного поліному. Після цього відбувається заміна

генераторного поліному і формування для нього всіх циклів. Послідовність почне

повторюватися лише після завершення формування всіх циклів для всіх

генераторних поліномів, що містяться в пам'яті. З огляду на те, що довжина

послідовності, яка складається з конкатенації циклів, породжених одним

поліномом, дорівнює Ьпол=2т, а число поліномів може досягати значення г=2т-1,

період повторення всієї послідовності може досягати значення Ттах=22тЛ.

Запропонований метод формування послідовності псевдовипадкових чисел

[31] може бути реалізований, наприклад, за допомогою пристрою, структурна

схема якого показана на рис. 2.2.

Пристрій містить:

• три двійкових лічильника Ліч1, Ліч2, Ліч3 (блоки 1, 4, 8 відповідно);

• дві схеми порівняння Пор1, Пор2 (блоки 2, 5 відповідно);

• два постійних запам'ятовуючих пристрої ПЗП1, ПЗП2 (блоки 9, 10

відповідно);

58

Page 68: Diss Lavdanskiy

59

• ш-входовий суматор за модулем два X mod2 (блок 3);

• набір з ш ключів Кл (блок 6);

• ш-розрядний регістр зсуву РЗ (блок 7).

Рис. 2.2. Розроблена структурна схема пристрою ГПВЧ на основі

конкатенації циклів РЗЛЗЗ

На стадії виготовлення генератора в ПЗП1 заносяться всі представники

циклів (5 (0)), над якими буде виконуватись конкатенація, і всі довжини кожного з

цих циклів (Ь), а в ПЗП2 - число циклів (к), що породжуються генераторним

поліномом, і всі використовувані генераторні поліноми О(х). Період повторення

сформованої послідовності буде рівний Т=т-2т, де г - число поліномів, що

зберігаються в ПЗП2. Максимальне число поліномів (для заданого порядку

генераторного полінома т) дорівнює г=2т-1, тому максимальна довжина послідовності Ттах=2т 2т'1 =22т-1.

Пристрій працює наступним чином.

У момент запуску генератора лічильники Ліч1, Ліч2, Ліч3 встановлюються в

нульовий стан. Для ПЗП2 виходи Ліч3 визначають адресу комірки з інформацією.

За адресою 000...0 з ПЗП2 отримується перший з генераторних поліномів G1(x) і

число циклів к1, породжуваних цим генераторним поліномом. Генераторний

поліном ^ (х ) , отриманий з ПЗП2, встановлює в стан "замкнуто" або "розімкнуто"

Page 69: Diss Lavdanskiy

ключі блоку ключів Кл, підключені до відводів регістра РЗ. Замкнуті ті ключі, які

відповідають двійковій одиниці в записі полінома, а розімкнуті - які відповідають

бінарному нулю. В результаті цього до суматору по модулю 2 Хтогї2 виявляються

підключеними ті відводи регістра, які відповідають двійковій одиниці в записі

поліному. Результат підсумовування надходить на вхід запису D регістра зсуву.

Крім того, по отриманому з ПЗП2 поліному G1(x), з ПЗП1 отримується перший

представник циклу цього полінома, який завантажується в регістр зсуву в якості

слова £(0), і покажчик довжини цього циклу L. В результаті цих дій в відводах

регістра формується перше слово циклу, яке видається на вихід генератора (це

слово 5(0)). За надходження імпульсів на тактовий вхід С регістра зсуву

відбувається формування наступних слів циклу, які виводяться на вихід

генератора, окрім того під час надходження імпульсів на тактовий вхід лічильника

Ліч1 проводиться приріст на +1 стану лічильника - підрахунок числа сформованих

слів у циклі. Це число порівнюється (схемою порівняння Пор1) з числом Ь -

покажчиком числа слів в цьому циклі. Як тільки число сформованих слів

зрівняється із заданим значенням Ь, на виході схеми порівняння Пор1 з'являється

імпульс, який встановлює в стан "0" Ліч1 і ініціює збільшення на +1 стану

лічильника Ліч2. Приріст стану лічильника Ліч2 змінює адресу слова, що

отримується з ПЗП1 - змінюється представник циклу і його довжина. Після зміни

представника циклу регістр зсуву зі зворотними зв'язками РЗ формує символи

наступного циклу, а лічильник Ліч1 підраховує число сформованих слів, доки їх

число не стане рівним Ь. Таким чином, цикл за циклом сформовані слова

виводяться на вихід регістра.

Коли число сформованих циклів досягне значення к, схема порівняння 2

сформує імпульс, який ініціює збільшення н а +1 стану лічильника Ліч3. Зміна стану

лічильника Ліч3 змінить адресу комірки ПЗП2 і виведе наступне значення

генераторного полінома і числа циклів к. У результаті відбудеться заміна

генераторного поліному і представника циклу, генератор почне генерувати нову

послідовність слів для нового генераторного полінома. Так буде тривати до тих пір,

поки не будуть перебрані всі генераторні поліноми і всі цикли, що підлягають

конкатенації.

60

Page 70: Diss Lavdanskiy

Період повторення сформованої послідовності буде рівним Т=г-2т , де г - число

поліномів, що зберігаються в ПЗП2. Максимальне число поліномів (для заданого

порядку генераторного полінома т) дорівнює г=2т-1, тому максимальна довжина

послідовності Ттах=2т 2т-1=22т-1.

2.4.3. Опис методу формування псевдовипадкової послідовності на

основі лінійного конгруентного генератора та регістра зсуву з

лінійними зворотними зв’язками шляхом конкатенації циклів

генератора

Визначимо розроблений метод у вигляді основних кроків, необхідних для

формування псевдовипадкової послідовності:

1. визначення графу станів ЛКМ чи РЗЛЗЗ, який буде використовуватись

для формування послідовності;

2. визначення параметрів, що забезпечують отримання обраного графу

станів (параметри К , С та М для ЛКМ і генераторний поліном для

РЗЛЗЗ);

3. визначення представників кожного циклу генератора (векторів

початкового завантаження - ВПЗ) і збереження їх в пам’яті автомата;

4. перемішування (перестановка) отриманих ВПЗ;

5. завантаження обраних на кроці 2 параметрів і першого слова з

послідовності ВПЗ, визначених на кроці 3, у генератор ПВП на основі

ЛКМ або РЗЛЗЗ;

6. формування поточного циклу, вибір наступного ВПЗ;

7. повторення кроку 6 до перебору всіх значень ВПЗ (формування

надциклу);

8. перехід на крок 4, якщо кількість операцій переміщування ВПЗ менша

за максимальну ^ ! , де d - кількість циклів для обраного графу станів);

9. перехід на крок 3, поки не будуть використані всі можливі комбінації

ВПЗ.

У результаті буде отримано псевдовипадкову послідовність перестановок

незалежно від параметрів первинних генераторів ПВП і графу їх станів.

Використання розробленого методу забезпечує наступні переваги:

61

Page 71: Diss Lavdanskiy

• можливість формування послідовності чисел діапазону [0;М-1] без

повторів і пропусків, що дозволяє використовувати її в якості

перестановки або підстановки як упорядкованого набору чисел;

• можливість формування послідовності перестановок на виході ГПВЧ на

основі ЛКМ та РЗЛЗЗ з періодом до (п, І, )* й\ перестановок ( П Ь )* < \*м

чисел) за рахунок проведення перемішування циклів (й - кількість

циклів, їі - довжина і-го циклу);

• використання всіх можливих параметрів, що дає збільшення розмірності

ключового простору для М=2п до 8 разів;

• зменшення часу попереднього проектування пристрою формування

ПВП на основі ЛКМ та РЗЛЗЗ.

Основні наукові результати, викладені в цьому пункті, наведено в роботах

автора [21], [30]-[32].

2.5. Розробка методики оцінювання часу відтворення повного періоду

повторення за умови збільшення продуктивності обчислювального

обладнання

Для оцінювання генератора застосовується багато параметрів, серед яких одне

з найважливіших місць займає період повторення отриманої послідовності. Будемо

вважати ГПВЧ зламаним, якщо повний його період можна відтворити за відносно

короткий час (одиниці, десятки років). Відтворення повного періоду повторення

послідовності слів ГПВЧ проводиться обчислювальним блоком фіксованої

продуктивності. Під обчислювальним блоком будемо розуміти пристрій, на якому

проводиться формування слів послідовності. Якщо відома довжина періоду

повторення послідовності (кількість слів Т) і продуктивність обчислювального

блоку (кількість розраховуваних слів в секунду Рм), то час повного відтворення

періоду повторення в секундах розраховується наступним чином:

62

Page 72: Diss Lavdanskiy

63

Відзначимо, що такий спосіб розрахунку не враховує розвитку продуктивності

обчислювальних блоків (наприклад, внаслідок щорічної заміни обчислювального

обладнання на нове).

Заміна обчислювальних блоків є необхідністю, оскільки для злому якісного

генератора потрібен досить тривалий час (десятки, сотні і більше років). За цей час

відбувається зміна декількох поколінь обчислювальних блоків, кожен з яких, як

правило, має більшу продуктивність. Додатковим фактором, що збільшує

продуктивність обчислювальних блоків, використовуваних криптоаналітиком для

відтворення періоду повторення послідовності слів ГПВЧ, може стати розробка

спеціалізованого обчислювального блоку, що значно підвищує швидкість перебору

слів генератора.

Визначимо час, необхідний для відтворення повного періоду повторення

послідовності слів з урахуванням заміни обчислювальних блоків на більш

продуктивні [90], [91].

Припустимо, що продуктивність обчислювального блоку збільшується на I

відсотків за деякий фіксований інтервал часу. Продуктивність у початковий

момент часу позначимо як Р^(0). Тоді продуктивність обчислювального блоку

після закінчення у (/>0) інтервалів часу з урахуванням збільшення продуктивності

на I відсотків за один часовий інтервал наступна:

Позначимо за допомогою У кількість інтервалів часу, які необхідно затратити

на формування ПВП. Нехай кожен часовий інтервал містить іУ секунд. Тоді

Визначимо кількість часових інтервалів У, необхідну для повного перебору

геометричної прогресії, тому рівняння (2.5) може бути представлено у вигляді:

кількість чисел, перебраних за у-й інтервал часу, дорівнює Ww (у ) = Р, (у )-ґу, а

повний період перебору послідовності слів ГПВЧ

Т = Х Ww (у ) = Х р , ( у )• Гг (2.5)

всіх Т слів послідовності. Вираз являє собою суму

Page 73: Diss Lavdanskiy

64

Т =

Виходячи з цього, кількість часових інтервалів

(2.6)

Таким чином, для відомих значень періоду повторення послідовності слів

ГПВЧ Т, початкової продуктивності обчислювального блоку Р^(0) і відсотку

підвищення продуктивності I за допомогою виразу (2.6) можна визначити кількість

часових інтервалів У, необхідну для злому ГПВЧ повним перебором.

Розроблена методика представляє собою послідовність наступних кроків:

1. вибір часового інтервал їу, за який відбуватиметься зміна обладнання,

2. вибір відсотку збільшення продуктивності I за часовий інтервал їу, від 0% до

3. визначення періоду повторення слів на виході оцінюваного генератора ПВП

4. визначення поточної продуктивності роботи генератора ПВП на сучасному

обчислювальному обладнанні Рм>(0), слів/секунду;

5. обчислення кількості обраних часових інтервалів У, які потрібно затратити

для відтворення повного періоду повторення оцінюваного генератора ПВП,

за формулою 2.6.

Розрахуємо період повторення послідовності слів запропонованого вище

генератора на основі конкатенації циклів для М=216 і різних конструкцій графів

станів. Припустимо, що продуктивність генератора на поточний момент часу

становить 1010 слів в секунду. У якості часового інтервалу для розрахунку візьмемо

один рік, за кожен з яких підвищення продуктивності обчислювальних блоків

візьмемо як 5%, 10% і 15% (приблизний рівень поточного розвитку

обчислювальної техніки, заснований на спостереженнях). Також розглянемо

переваги одночасного використання множини обчислювальних блоків для

секунди;

100%;

Т, слів;

Page 74: Diss Lavdanskiy

вирішення задачі перебору повного періоду повторення послідовності слів ГПВЧ.

Отриманий результат зведемо в таблиці 2.1, 2.2 і 2.3.

Таблиця 2.1

65

Час (років) перебору повного періоду послідовності одним обчислювальним

блоком

Конструкціяграфа Період, слів Час повного перебору періоду, років

Без підвищення продуктивності

Підвищення продуктивності най ї Т 5% 10% 15%

8 8192 3,37Б + 28512 1,07Б + 28495 1 ^ + 06 6 ^ + 05 4 ^ + 0516 4096 4 ^ + 13037 1 ^ + 13020 6 , ^ + 05 3 , ^ + 05 2 , ^ + 0532 2048 2 ^ + 5934 9 , ^ + 5916 2 ^ + 05 1 ^ + 05 9,75E + 0464 1024 4,5Ш + 2733 1 ^ + 2716 1 ^ + 05 6 ^ + 04 4,47Б + 04

128 512 8 ^ + 1 386 2 ^ + 1369 6 ^ + 04 3,3Ш + 04 2,25E + 04256 256 4 ^ + 1018 1 ^ + 1001 4 ^ + 04 2 ^ + 04 1 ^ + 04

Таблиця 2.2

Час (років) перебору повного періоду послідовності групою з 1000

обчислювальних блоків

Конструкціяграфа Період, слів Час повного перебору періоду, років

Без підвищення продуктивності

Підвищення продуктивності най ї Т 5% 10% 15%

8 8192 3,37Б + 28512 1,07Б + 28492 1 ^ + 06 6 ^ + 05 4,69E + 0516 4096 4 ^ + 13037 1 ^ + 13017 6 , ^ + 05 3 , ^ + 05 2,14E + 0532 2048 2 ^ + 5934 9 , ^ + 5913 2,79E + 05 1,43E + 05 9 ^ + 0464 1024 4,5Ш + 2733 1 ^ + 2713 1 ^ + 05 6 ^ + 04 4,47Б + 04

128 512 8,79E + 1 386 2,79E + 1366 6 ^ + 04 3,30E + 04 2,25E + 04256 256 4 ^ + 1018 1 ^ + 998 4,70E + 04 2,4Ш + 04 1 ^ + 04

Таблиця 2.3

Час (років) перебору повного періоду послідовності групою з 100000

обчислювальних блоків

Конструкціяграфа Період, слів Час повного перебору періоду, років

Без підвищення продуктивності

Підвищення продуктивності наd t T 5% 10% 15%

8 8192 3,37Б + 28512 1,07Б + 28490 1 ^ + 06 6 ^ + 05 4 ^ + 0516 4096 4 ^ + 13037 1 ^ + 13015 6 , ^ + 05 3 , ^ + 05 2,14E + 0532 2048 2,88E + 5934 9 , ^ + 5911 2,79E + 05 1,43E + 05 9 ^ + 0464 1024 4,5Ш + 2733 1 ^ + 2711 1 ^ + 05 6 ^ + 04 4,47Б + 04

128 512 8,79E + 1 386 2 ^ + 1 364 6,43E + 04 3,29E + 04 2,25E + 04256 256 4,82E + 1018 1 ^ + 996 4,70E + 04 2 ^ + 04 1 ^ + 04

Page 75: Diss Lavdanskiy

Таким чином, судячи з результатів, наведених в таблицях 2.1, 2.2 і 2.3, навіть

з урахуванням підвищення продуктивності обчислювальних блоків і щорічної

заміни обладнання на більш продуктивне, час повного перебору періоду

послідовності генератора становить десятки і сотні тисяч років (в залежності від

конструкції). Як видно з таблиць, набагато ефективніше проводити заміну

обладнання на більш продуктивне за кожної нагоди, ніж покладатися на групу з

множини обчислювальних блоків, що безперервно працюють до повного

вирішення задачі перебору.

2.6. Висновки

У другому розділі вперше розроблено метод формування псевдовипадкової

послідовності на основі лінійного конгруентного генератора та регістра зсуву з

лінійними зворотними зв’язками шляхом конкатенації циклів генератора, що

дозволило формувати послідовність перестановок для довільних значень його

параметрів. Розроблений метод дозволяє збільшити потужність множини

можливих параметрів та період повторення генераторів на основі ЛКМ і РЗЛЗЗ для

отримання псевдовипадкових перестановок, що можуть бути використані для

побудови генераторів на їх основі.

Використання розробленого методу дозволяє отримати наступні переваги:

• для ЛКМ при М=2п збільшити до 8 разів потужність множини доступних

для використання параметрів (розмірність ключового простору);

• збільшити період перестановок до п, іг )* й\ перестановок ( (п, г1 )* \* м

чисел) за рахунок проведення перемішування циклів (й - кількість циклів,

їі - довжина кожного циклу).

Крім того, в другому розділі:

• визначено параметри генератора на основі ЛКМ з М=2п, що дозволяють

формувати цикли, які не перетинаються, та виконувати об'єднання таких циклів у

надцикли довжини М;

• розроблено методику визначення часу відтворення повного періоду

послідовності на виході ГПВЧ з урахуванням розвитку обчислювальної техніки для

довільного значення підвищення швидкодії, що дозволяє розрахувати час

66

Page 76: Diss Lavdanskiy

відтворення періоду послідовності слів за регулярної заміни обчислювального

обладнання. На основі цієї методики розраховано час, необхідний для відтворення

повного періоду запропонованих ГПВЧ.

Проведені в другому розділі дослідження і розроблені в їх результаті методи

дозволяють будувати ГПВЧ з нульовою помилкою відтворення рівномірного

закону розподілу і великим періодом повторення, що придатні для формування на

їх основі високоякісних ГПВЧ. У наступному розділі буде розглянуто формування

комбінаційних ГПВЧ на основі запропонованих методів, що дозволяє значно

покращити статистичні властивості і збільшити період повторення слів

послідовностей на їх виході.

67

Page 77: Diss Lavdanskiy

РОЗДІЛ 3. МЕТОД ФОРМУВАННЯ ПСЕВДОВИПАДКОВОЇ

ПОСЛІДОВНОСТІ НА ОСНОВІ КОМБІНАЦІЇ ГЕНЕРАТОРІВ

3.1. Вступ

ГПВЧ, розглянуті в попередньому розділі, дозволяють отримати ПВП з

нульовою помилкою відтворення рівномірного закону розподілу, що дозволяє

використовувати такі ГПВЧ в якості первинних для побудови ГПВЧ з

покращеними статистичними властивостями і збільшеним періодом повторення

слів. У третьому розділі будуть розглянуті два типи ГПВЧ на основі розглянутих

первинних: "без повернення" і "з поверненням". Розгляд двох типів ГПВЧ

необхідний, оскільки тип використовуваного ГПВЧ залежить від розв'язуваної

задачі. Для різних задач потрібні різні типи ГПВЧ. Наприклад, для виконання

процедур сортування, формування таблиць перестановок і інших задач, де

ймовірність випадання поспіль кількох однакових значень повинна бути рівною

нулю, потрібно використання ГПВЧ типу "без повернення". У той же час для задач,

в яких ймовірність випадання поспіль кількох однакових значень не повинна бути

рівною нулю, потрібне використання ГПВЧ типу "з поверненням".

Визначимо задачі, що необхідно вирішити в розділі:

• удосконалити комбінаційний метод формування ПВП шляхом

використання множини первинних ГПВЧ та функції комбінування з

метою поліпшення статистичних властивостей і збільшення періоду

повторення слів на виході комбінаційного генератора;

• розробити методику формування ПВП шляхом об'єднання кількох слів

ГПВЧ, що дозволяє формувати слова з розрядністю більшою, ніж

дозволяє обчислювальна платформа;

• розробити структурну схему системи шифрування на основі

запропонованих ГПВЧ.

Одним із способів збільшення періоду повторення ГПВЧ є використання

декількох ГПВЧ одночасно в якості первинних з перетворенням слів їх виходу в

слово виходу комбінаційного ГПВЧ. Такий спосіб дозволяє не тільки збільшити

період повторення слів послідовності, але і покращити статистичні властивості

68

Page 78: Diss Lavdanskiy

послідовності ГПВЧ щодо статистичних властивостей і періоду послідовностей

первинних ГПВЧ. Крім того, існує можливість підвищення швидкодії за рахунок

роботи кожного первинного ГПВЧ у вигляді окремого програмного модуля, що

виконується на одному з множини обчислювальних ядер сучасних процесорів. У

розділі буде розглянуто створення двох варіантів комбінаційних ГПВЧ на основі

декількох первинних генераторів: шляхом мультиплексування виходів первинних

ГПВЧ (помилка відтворення рівномірного закону розподілу дорівнює нулю) і

шляхом комбінування за допомогою математичних операцій над виходами

первинних ГПВЧ (помилка відтворення рівномірного закону розподілу прямує до

нуля).

Для всіх алгоритмів ГПВЧ характерна обмежена розрядність внутрішнього

стану генератора і стану його виходу. Збільшення розрядності неминуче веде до

ускладнення алгоритму ГПВЧ і, як наслідок, до зниження його продуктивності.

Головним чином, зазначений недолік стосується ГПВЧ з апаратною реалізацією

або програмних ГПВЧ, розрядності внутрішнього і вихідного станів яких

обмежені, наприклад, розрядністю обчислювальної платформи. Однією із задач

розділу є розробка методики формування рівномірно розподіленої послідовності

чисел, розрядність слів якої виходить за межі розрядності обчислювальної

платформи ГПВЧ.

Однією з множини сфер використання ГПВЧ є системи шифрування. Однак не

кожен ГПВЧ може бути використаний для вирішення криптографічних задач. Для

використання в якості гами шифру ГПВЧ повинен відповідати набору

властивостей, які визначені в першому розділі, а також:

• мати близький до рівномірного розподіл слів (помилка відтворення

рівномірного закону розподілу слів послідовності ГПВЧ повинна

прямувати до нуля, але не бути рівною нулю);

• мінімальне значення взаємної кореляції між словами послідовності;

• нескінченно великий період повторення слів ГПВЧ (настільки великий,

що його відтворення практично неможливо за обмежених

обчислювальних ресурсів і витрат часу).

Криптографічно стійкий ГПВЧ не повинен мати помилку відтворення

рівномірного закону розподілу рівну нулю оскільки в цьому випадку ймовірність

69

Page 79: Diss Lavdanskiy

появи кожного наступного слова на виході такого генератора буде збільшуватися,

що призведе до передбачуваності такого генератора. На основі запропонованих у

розділі генераторів буде побудована структурна схема системи потокового

шифрування.

3.2. Перетворення псевдовипадкової послідовності в таблиці

перестановок і навпаки

Для побудови ГПВЧ, що розглядаються у розділі, потрібні первинні ГПВЧ,

що мають помилку відтворення рівномірного закону розподілу, рівну нулю

(таблиці перестановок). Такі ГПВЧ були розглянуті в попередньому розділі. Однак,

не всі існуючі ГПВЧ (а також ГВЧ) можуть працювати в режимі "без повернення".

Для таких генераторів потрібні спеціальні засоби і алгоритми для приведення слів

на їх виході до рівномірного закону розподілу з нульовою помилкою відтворення.

Розглянемо алгоритм формування послідовностей з нульовою помилкою

відтворення рівномірного закону розподілу (таблиць перестановок) за допомогою

генераторів (псевдо)випадкових чисел, що функціонують за схемою "з

поверненням", тобто алгоритм перетворення генератора типу "з поверненням" в

генератор типу "без повернення".

Сформуємо дві порожні таблиці А та В розміру М, де М - потужність алфавіту

необхідної послідовності типу "без повернення". Таблиця А - тимчасова таблиця,

таблиця В - таблиця-результат. Заповнимо таблицю А послідовно значеннями від 0

до М-1. Генератор типу "з поверненням" (далі генератор) налаштуємо на

формування слова в діапазоні від 0 до М-1. Значення слова, отримане від

генератора, є вказівником на елемент таблиці А . Значення слова з цієї комірки

записується в комірку за адресою 0 таблиці В. Вміст використаної комірки таблиці

А видаляється зі зсувом всіх наступних значень вгору і зменшенням розміру

таблиці на одиницю. Далі генератор налаштовується на формування слова в

діапазоні від 0 до М-2 (де М-2 фактично є новим розміром таблиці А). Наступне

слово, сформоване генератором, аналогічно використовується як вказівник комірки

в таблиці А з подальшим переміщенням вмісту комірки таблиці А на наступний

елемент таблиці В . Після М ітерацій наведеного алгоритму в таблиці В знаходяться

70

Page 80: Diss Lavdanskiy

значення від 0 до М-1 без повторів і пропусків, перемішані відповідно

використаному генератору, тобто таблиця В є таблицею перестановок.

Розглянемо зворотне перетворення послідовності "без повернення" в

послідовність "з поверненням". Якщо потужність алфавіту послідовності "без

повернення" набагато більше потужності алфавіту необхідної ПВП, то для цієї мети

можна використовувати відомі алгоритми перетворення однієї множини в іншу.

Розглянемо один з таких алгоритмів.

Один з найбільш простих алгоритмів перетворення псевдовипадкової

величини з множини и=[0;М в множину и*=[0;М*] за М >М є отримання залишку

від ділення чисел множини и на М [1]. Однак, якщо молодші біти слів множини и

поводяться не випадково (наприклад, генератори на основі ЛКМ за М=2п), молодші

біти перетвореної множини и* також будуть вести себе не випадково (наприклад,

значно менший період повторення молодших біт слова для генераторів на основі

ЛКМ).

Тому для перетворення множини и в множину и* доцільно використовувати

метод, запропонований в [92]. Суть його полягає в наступному. Якщо слово з

5М / М * +1

цьому випадку молодші біти слова 5* поводитимуться випадковим чином. Якщо

потрібно виконати формування слів для множини и* 1=[М*1;М*2], то

використовується цей же метод з перерахуванням значень М = М 2-М 1 і 5*1=5*+М1.

3.3. Розробка методу формування псевдовипадкових послідовностей

шляхом комбінування генераторів перестановок

Розглянемо клас комбінаційних ГПВЧ як один з методів покращення

характеристик існуючих ГПВЧ.

Комбінаційний генератор псевдовипадкових чисел реалізує композицію

(деяку математичну операцію) слів первинних генераторів. У якості первинних

генераторів будемо розглядати генератори перестановок або попередньо

сформовані таблиці перестановок. У цьому випадку в процесі роботи

комбінаційного генератора первинні значення, що підлягають комбінуванню,

71

множини и позначити як 5, а слово з множини и* - як 5*, то 5* У

Page 81: Diss Lavdanskiy

формуються генераторами або зчитуються з таблиць перестановок. Один з

варіантів такого типу генераторів запропоновано в [93].

У якості первинних генераторів будемо використовувати розглянуті раніше

ГПВЧ на основі конкатенації циклів ЛКМ і РЗЛЗЗ, що дають ПВП без повторів і

пропусків (мають нульову помилку відтворення рівномірного закону розподілу).

Також у якості первинних ГПВЧ можуть бути використані будь-які ГПВЧ і ГВЧ з

урахуванням перетворення слів на їх виході за наведеним вище алгоритмом в

послідовність "без повернення".

3.3.1. Формування псевдовипадкової послідовності шляхом

комбінування генераторів перестановок за допомогою функції

підсумовування за модулем

Розглянемо запропонований у [24], [25] метод формування псевдовипадкової

послідовності шляхом комбінування генераторів перестановок за допомогою

функції підсумовування за модулем М. Зауважимо, що закон розподілу чисел

усередині перестановки є рівномірним для всіх значень з області визначення і має

нульову помилку відтворення рівномірного закону розподілу.

Запропонований метод передбачає використання функції підсумовування за

модулем для елементів первинних таблиць перестановок. Таким чином, до складу

розглянутого комбінаційного генератора входять п таблиць перестановок (п>2), а

також блок виконання комбінування слів. У якості комбінуючої функції

використовується операція підсумовування за деяким модулем М . Структурна

схема генератора представлена на рис. 3.1.

72

Page 82: Diss Lavdanskiy

73

Рис. 3.1. Розроблена структурна схема комбінаційного генератора на основі

підсумовування за модулем M

У кожному ПЗП в довільному порядку без повторів та пропусків записані

числа від 0 до М і (і є [1, п ]) . Заповнення таблиць може проводитися як випадковими

даними (наприклад, з використанням джерела випадкових чисел), так і за

допомогою детермінованого алгоритму (лінійного конгруентного методу,

генератора М-послідовності, запропонованого методу конкатенації циклів ГПВЧ

на основі ЛКМ і РЗЛЗЗ в надцикл і т. д.). Крім того, представляється можливим

використання різних алгоритмів заповнення для кожного з ПЗП.

Період повторення слів послідовності Т на виході комбінаційного генератора

на основі підсумовування за модулем М визначається потужностями алфавітів

первинних генераторів (розмірами таблиць) М 1,М2, ... Мп і дорівнює їх найменшому

спільному кратному (НСК):

Т = НСК (М і,м 2,...,М п).

Для отримання максимального періоду повторення слів послідовності на

виході комбінаційного генератора на основі підсумовування за модулем М

потужності алфавітів первинних генераторів повинні бути взаємно простими. У

такому випадку період послідовності на виході ГПВЧ буде максимальним і рівнимп

т = П м і .і=і

Розглянемо принцип функціонування комбінаційного генератора, схема якого

зображена на рис. 3.1.

У і-й ПЗП завантажується випадкова або псевдовипадкова послідовність чисел

від 0 до М і ( і є [і,п]) без повторів і пропусків.

Page 83: Diss Lavdanskiy

Для кожного ПЗП існує лічильник, який вказує на комірку, значення якої буде

зчитано. Початкове значення лічильників дорівнює нулю. Усі лічильники

тактуються від одного генератора тактів для синхронізації моментів виведення

(моментів виконання композиції над числами). За появи імпульсу на виході

генератора тактів кожен з лічильників збільшує своє значення на одиницю.

Дані з виходів кожного з лічильників є адресою комірки ПЗП, у якій записано

потрібне слово. Сформовані п слів одночасно надходять на суматор за модулем М.

Вихід суматора є виходом пристрою формування псевдовипадкової послідовності

чисел. Описана процедура триває циклічно до вимкнення пристрою.

Кожен з лічильників після досягнення значення, рівного об’єму відповідного

йому ПЗП, обнулюється.

Програмна модель запропонованого ГПВЧ на основі підсумовування за

модулем наведена в додатку А. На основі наведеної моделі відбувалось

дослідження статистичних властивостей послідовності на виході запропонованого

ГПВЧ. Модель може бути використана для побудови програмних та програмно-

апаратних засобів формування ПВП.

Дослідження закону розподілу слів на виході запропонованої конструкції

комбінаційного генератора проведені в [94], [95]. У [94] проведено дослідження

розподілу £-грам у послідовності, сформованій за допомогою використання 4

первинних генераторів. Дослідження показує рівномірний розподіл £-грам для

£<21.

У [95] показано, що закон розподілу слів на виході комбінаційного генератора,

заснованого на використанні функції підсумовування за деяким модулем М, буде

рівномірним за виконання наступних умов:

• періоди повторення первинних генераторів взаємно прості;

• одне зі значень періодів первинних генераторів кратно М.

Розглянемо час, необхідний для відтворення максимально повного періоду

повторення послідовності слів на виході комбінаційного ГПВЧ запропонованої

конструкції. Розрахунок проведемо на основі формули 2.6. Вихідні дані візьмемо

наступні: продуктивність одного обчислювального блоку - 1010 слів в секунду,

групування обчислювальних блоків групами в 1000 і 100000 одиниць, часовий

інтервал - 1 рік, підвищення продуктивності на 5%, 10% і 15% за часовий інтервал.

74

Page 84: Diss Lavdanskiy

Кількість первинних генераторів к візьмемо рівним від 4 до 8, а період повторення

кожного рівним 232. Отримані дані зведемо в таблиці 3.1, 3.2 і 3.3.

Таблиця 3.1

Час (років) перебору повного періоду послідовності на виході

75

комбінаційного генератора одним обчислювальним блоком

Кількістьпервинних

ГПВЧ

Період,слів

Час повного перебору періоду, роківБез підвищення продуктивності

Підвищення продуктивності наТт а х 5% 10% 15%

4 2128 1,079Е + 21 931,23 483,96 332,955 2160 4,64Е + 30 1385,84 716,7 491,656 2192 1,99Е + 40 1840,45 949,42 650,357 2224 8,55Е + 49 2295,07 1182,14 809,068 2256 3,67Е + 59 2749,68 1414,86 967,76

Таблиця 3.2

Час (років) перебору повного періоду послідовності на виході

комбінаційного генератора групою з 1000 обчислювальних блоків

Кількістьпервинних

ГПВЧ

Період,слів

Час повного перебору періоду, роківБез підвищення продуктивності

Підвищення продуктивності наТт а х 5% 10% 15%

4 2128 1,079Е + 18 789,64 411,5 283,525 2160 4,64Е + 27 1244,26 644,22 442,236 2192 1,99Е + 37 1698,87 876,94 600,937 2224 8,55Е + 46 2153,49 1109,66 759,638 2256 3,67Е + 56 2608,1 1342,38 918,34

Таблиця 3.3

Час (років) перебору повного періоду послідовності на виході

комбінаційного генератора групою з 100000 обчислювальних блоків

Кількістьпервинних

ГПВЧ

Період,слів

Час повного перебору періоду, роківБез підвищення продуктивності

Підвищення продуктивності наТт а х 5% 10% 15%

4 2128 1,079Е + 16 695,26 363,18 250,575 2160 4,64Е + 25 1149,87 595,9 409,286 2192 1,99Е + 35 1604,49 828,62 567,987 2224 8,55Е + 44 2059,1 1061,35 726,688 2256 3,67Е + 54 2513,71 1294,07 885,39

Page 85: Diss Lavdanskiy

Результати дослідження, наведені в таблицях, показують, що повний час

перебору періоду повторення послідовності слів на виході запропонованої

конструкції комбінаційного ГПВЧ становить 250 і більше років у залежності від

кількості первинних ГПВЧ. Це дозволяє робити висновки про високу

обчислювальну складність процесу перебору повного періоду повторення слів

комбінаційного ГПВЧ що, в свою чергу, робить цей процес практично

нездійсненним через високі часові затрати.

3.3.2. Формування псевдовипадкової послідовності шляхом

комбінування генераторів перестановок за допомогою функції

мультиплексування

Розглянемо запропонований у [23] метод формування послідовностей з

нульовою помилкою відтворення рівномірного закону розподілу (режим "без

повернення") за допомогою комбінаційного методу. Для цього в якості первинних

ГПВЧ будемо використовувати два типи генераторів: генератор на основі ЛКМ і

генератор на основі РЗЛЗЗ. Для формування результуючої послідовності будемо

використовувати функцію мультиплексування виходів первинних генераторів (у

кожен момент часу вихід генератора з'єднаний з одним з первинних генераторів) у

якості комбінуючої. Таким чином, на виході генератора отримаємо послідовність

перестановок без явного їх поділу. Така послідовність, наприклад, може бути

використана для перемішування блоків даних, кожен з яких має розмір, рівний

розміру однієї перестановки.

Для досягнення нульової помилки відтворення рівномірного закону розподілу

на виході генератора на основі мультиплексування первинні генератори також

повинні мати нульову помилку відтворення рівномірного закону розподілу. Для

генераторів на основі ЛКМ і РЗЛЗЗ це досягається вибором параметрів, які

дозволяють отримати повний період повторення, або використанням

запропонованого в попередньому розділі методу формування таблиць

перестановок на основі виконання конкатенації циклів. Розподіл слів на виході

генератора на основі РЗЛЗЗ має нерівномірний розподіл слів через відсутність

слова 0 у вихідний послідовності. Для приведення такого розподілу до

рівномірного слово 0 додається в довільну позицію послідовності. Така позиція

76

Page 86: Diss Lavdanskiy

може вибиратися виходячи з алгоритму, включеного в процес формування, або

бути одним з параметрів генератора (ключ шифру для систем шифрування).

Крім того, в якості первинних ГПВЧ можуть бути використані інші ГПВЧ типу

"без повернення", або ГПВЧ типу "з поверненням" з перетворенням слів на їх

виході в послідовність типу "без повернення".

Для дотримання однакового розміру таблиць перестановок первинних

генераторів будемо використовувати M=2n для ГПВЧ на основі ЛКМ і

генераторний поліном степені n = log 2M для РЗЛЗЗ. У комбінації з конкатенацією

циклів генератора на основі ЛКМ в надцикл і додаванням слова зі значенням 0 в

послідовність на виході генератора на основі РЗЛЗЗ, це дозволить виключити

визначення типу генератора за його періодом повторення.

Формування послідовності ПВП відбувається наступним чином. Виконується

ініціалізація первинних ГПВЧ різного типу різними ВПЗ. Кожен з первинних

ГПВЧ послідовно (або у випадковому порядку) запускається на формування, а його

вихід з'єднується з входом мультиплексора. Вихід мультиплексора є виходом

генератора на основі мультиплексування. Формування триває до перебору всіх

первинних ГПВЧ, після чого процес формування запускається заново.

Період повторення послідовності слів такого генератора буде рівним сумі

періодів первинних генераторів. Період повторення послідовності слів кожного з

первинних генераторів дорівнюватиме потужності алфавіту M, а загальний період

повторення буде рівний T=M*N, де N - кількість використовуваних первинних

генераторів і можливих їх параметрів.

Однак у [21] показано, що період повторення слів послідовності можна істотно

збільшити, а кореляцію між словами значно зменшити якщо обчислювати наступне

слово первинного генератора як слово, що відрізняється на деякий інтервал t від

деякого слова 5(0).

Для цього визначимо натуральну послідовність чисел 0,1,2 ..., (M-1), яка

керуватиме інтервалом t. Послідовно підставляючи кожне з чисел як інтервал t

отримаємо надцикл для генератора на основі ЛКМ і М-послідовність для РЗЛЗЗ.

Після використання всіх чисел з множини [0;M-1] для інтервалу t виконаємо

перемішування вихідної послідовності (наприклад, з використанням таблиць

перестановок, які можуть виступати ключем шифру для систем шифрування) і

77

Page 87: Diss Lavdanskiy

повторимо процедуру формування. За такого підходу максимальний період

повторення кожного з первинних генераторів дорівнюватиме М!. Кількість

можливих комбінацій первинних генераторів буде рівною к!, де к - кількість

первинних генераторів. Виходячи з цього, максимальний період повторення такого

генератора буде рівний Гтах = НCК (Ы х k х k !;Ы х Ы !).

Розглянемо час, необхідний для відтворення максимально повного періоду

повторення послідовності слів такого генератора. Для цього будемо

використовувати методику розрахунку часу перебору повного періоду повторення

послідовності слів ГПВЧ, викладену в попередньому розділі (формула 2.6). Вихідні

дані візьмемо аналогічні (продуктивність одного обчислювального блоку - 1010

слів в секунду, групування обчислювальних блоків групами в 1000 і 100000

одиниць, часовий інтервал - 1 рік, підвищення продуктивності на 5%, 10% і 15% за

часовий інтервал). Кількість первинних генераторів к візьмемо рівним 13. Отримані

дані зведемо в таблиці 3.4, 3.5 і 3.6.

Таблиця 3.4

Час (років) перебору повного періоду послідовності генератора на основі

78

мультиплексування одним обчислювальним блоком

МПеріод,

слівЧас повного перебору періоду, років

Без підвищення продуктивності

Підвищення продуктивності наТт а х 5% 10% 15%

16 4,3 • 1015 1,38Е-02 1,41Е-02 1,45Е-02 1,48Е-02256 2,2 • 10509 6,96Е+491 2,32Е+04 1,19Е+04 8,09Е+031024 5,5 • 102642 1,75Е+2625 1,24Е+05 6,34Е+04 4,32Е+042048 3,4 • 105897 1,08Е+5880 2,77Е+05 1,42Е+05 9,69Е+044096 1,5 • 1013023 4,73Е+13005 6,14Е+05 3,14Е+05 2,14Е+05

Таблиця 3.5

Час (років) перебору повного періоду послідовності генератора на основі

мультиплексування групою з 1000 обчислювальних блоків

МПеріод,

слівЧас повного перебору періоду, років

Без підвищення продуктивності

Підвищення продуктивності наТт а х 5% 10% 15%

16 4,3 • 1015 1,38Е-05 1,41Е-05 1,45Е-05 1,48Е-05256 2,2 • 10509 6,96Е+488 2,30Е+04 1,18Е+04 8,04Е+031024 5,5 • 102642 1,75Е+2622 1,24Е+05 6,33Е+04 4,32Е+042048 3,4 • 105897 1,08Е+5877 2,77Е+05 1,42Е+05 9,68Е+044096 1,5 • 1013023 4,73Е+13002 6,14Е+05 3,14Е+05 2,14Е+05

Page 88: Diss Lavdanskiy

Таблиця 3.6

Час (років) перебору повного періоду послідовності генератора на основі

мультиплексування групою з 100000 обчислювальних блоків

79

мПеріод,

слівЧас повного перебору періоду, років

Без підвищення продуктивності

Підвищення продуктивності наТт а х 5% 10% 15%

16 4,3 • 1015 1,38Б-07 1,4Ш-07 1,45E-07 1,48E-07256 2,2 • 10509 6,96E+486 2,29E+04 1,17E+04 8,01E+031024 5,5 • 102642 1,75E+2620 1,24E+05 6,33E+04 4,32E+042048 3,4 • 105897 1,08E+5875 2,77E+05 1,42E+05 9 ^ + 0 44096 1,5 • 1013023 4^+ 13000 6,13E+05 3 ,^+ 0 5 2,14E+05

Результати дослідження, наведені в таблицях, показують, що час повного

перебору періоду повторення послідовності слів ГПВЧ, конструкція якого

викладена вище, становить понад тисячу років для М>256, незалежно від кількості

використовуваних обчислювальних блоків і передбачуваного підвищення їх

продуктивності. Це дозволяє робити висновки про неможливість відтворення

повного періоду повторення такої послідовності з огляду на значні часові затрати.

Розглянемо пристрій, що реалізує ГПВЧ на основі мультиплексування,

запропонований у [23]. Структурна схема такого пристрою наведена на рисунку

3.2.

Г енератор тактів, £рч

СЗ03їсЗНОнОио

ВПЗ та ПФ1 1

, ГПВЧ/(21)

ВПЗ та ПФ2 і

, ГПВЧ(22)

ВПЗ та ПФп і

Пристрійкерування

(1)

(2п)Лі і 1

1---А

і

о

Оно(1>кн

Вихід —►

Рис 3.2. Структурна схема генератора ПВП на основі мультиплексування

Розглянемо принцип роботи наведеного пристрою формування ПВП.

Пристрій керування 1 вибирає первинний ГПВЧ з к доступних генераторів 2 і

Page 89: Diss Lavdanskiy

завантажує в нього параметри формування (ПФ) ПВП (що залежать від типу

первинного генератора: К і С для ГПВЧ на основі ЛКМ, генераторний поліном для

ГПВЧ на основі РЗЛЗЗ, таблиця перестановок порядку формування циклів для

ГПВЧ на основі конкатенації циклів ЛКМ або РЗЛЗЗ) та ВПЗ. Вихід обраного

первинного генератора з'єднується з виходом пристрою за допомогою

мультиплексора виходу 3. Мультиплексор тактування забезпечує роботу лише

одного ГПВЧ в кожен момент часу. Після формування М слів обраним первинним

генератором, пристрій керування обирає наступний первинний ГПВЧ і завантажує

в нього параметри формування ПВП. Кожен набір параметрів використовується

тільки один раз в межах періоду повторення послідовності слів.

Слід зазначити, що завантаження параметрів в ГПВЧ замість використання

декількох однотипних ГПВЧ з уже завантаженими параметрами, дозволяє значно

зменшити апаратну складність пристрою (за апаратної реалізації) або обсяг

необхідної пам'яті (за програмної реалізації). Разом з цим, незначно зменшується

швидкість роботи пристрою, що пов'язано з додатковим часом, необхідним для

попередньої ініціалізації первинних ГПВЧ. Величина такого зменшення

продуктивності залежить від реалізації пристрою.

3.3.3. Опис методу формування псевдовипадкової послідовності на

основі комбінації генераторів

Визначимо розроблений метод у вигляді основних кроків, необхідних для

формування псевдовипадкової послідовності:

1. визначення множини типів генераторів, які будуть використовуватись в якості

первинних генераторів перестановок (наприклад, ЛКМ, РЗЛЗЗ та їх модифікації

на основі запропонованого у другому розділі методу);

2. формування вимог до потужності алфавіту, виду (псевдовипадкової

послідовності чисел або перестановок) та періоду повторення послідовності на

виході комбінаційного генератора;

3. визначення функції комбінування: підсумовування за модулем - для

формування псевдовипадкової послідовності чисел; мультиплексування - для

формування псевдовипадкової послідовності перестановок;

80

Page 90: Diss Lavdanskiy

4. визначення параметрів первинних генераторів перестановок у залежності від

сформованих вимог;

5. формування послідовності в залежності від функції комбінування:

5.1. одночасна (паралельна) робота первинних генераторів з комбінуванням їх

виходів за допомогою функції підсумовування за модулем для формування

ПВП:

5.1.1. одночасне (паралельне) синхронне формування слів на виході усіх

первинних генераторів;

5.1.2. підсумовування отриманих слів первинних генераторів;

5.1.3. визначення залишку від ділення обчисленої суми на обраний модуль М;

5.1.4. вивід результату на вихід комбінаційного генератора;

5.2. послідовна робота первинних генераторів згідно з функцією

мультиплексування для формування послідовності перестановок:

5.2.1. вибір одного з первинних генераторів за визначеним правилом;

5.2.2. з ’єднання виходу обраного первинного генератора з виходом

комбінаційного генератора;

5.2.3. формування послідовності до досягнення періоду перинного

генератора;

6. формування послідовності до досягнення повного періоду повторення;

7. перехід до кроку 4.

Основні наукові результати, викладені в цьому пункті, наведено в роботах

автора [25], [24], [27].

3.4. Розробка методики формування послідовностей з перевищенням

розрядності обчислювальної платформи

У роботі [66] відзначено, що під операцією конкатенації, в залежності від

використовуваних об'єктів, розуміється об'єднання декількох підрядків в один

рядок, об'єднання підслів (старшої і молодшої частини) в одне слово, об'єднання

двох послідовностей в одну.

Крім того, в [66] показано, що результатом конкатенації циклів, породжуваних

генератором на основі ЛКМ, є надцикл генератора, що містить в собі всі елементи

81

Page 91: Diss Lavdanskiy

з формованої множини чисел. Закон розподілу чисел усередині надциклу є

рівномірним.

Визначимо закон розподілу чисел, утворених конкатенацією слів, що

формуються двома або кількома незалежними первинними генераторами

рівномірно розподілених випадкових або псевдовипадкових чисел. Дослідження

наведені в роботі автора [22].

Слова на виході первинного генератора є цілі невід'ємні числа деякого

діапазону і розрядності.

Для визначення закону розподілу конкатенованих слів сформулюємо і

доведемо наступне твердження.

Твердження 3.1 [22]. Дискретна випадкова величина, сформована за

допомогою конкатенації к рівномірно розподілених незалежних дискретних

випадкових величин, що приймають цілі невід'ємні значення, має також

рівномірний розподіл.

Доведення.

Очевидно, що якщо твердження виконується для к=2, то воно виконується і

для к>2.

Нехай к=2, а вихідні рівномірно розподілені випадкові величини X і У

представимо у деякій позиційній системі числення з основою а:

82

і =0

х

X = аПх _1аПх _ 2...а1а0 = ^ а аі=0

пу -1

у = р „-л , _ 2- м , = У л іі=0

а 1

д еа і, є [ 0 ;а - 1].

Розрядність величини X становить пх а-кових розрядів, величини У - пу а-кових

розрядів.

Конкатенація двох величин є їх об'єднання або "склеювання", що відповідає їх

послідовному запису. Нехай конкатенація величин X і У відбувається шляхом,

зображеним на рис. 3.3.

Page 92: Diss Lavdanskiy

83

X + п у _ 1 0п +па

У Xпу 1а у _ 1 0 апх _ 1 0

Рис. 3.3. Конкатенація випадкових величин X і У

Результатом конкатенації є величина

2 = У • а П + X = Г п г + п „ _ і Г п г + п „ _ 2 - Г і Г о =

= Е Ук ак =0

деУк є [ ° х _ і ] ;

ук = а к при k є [0 ;т _ і];

п + п . , _1 п + п . , _ 2 1= 7 п х + п у _ і а у + 7 п х + п у _ 2 а у + ••• + Г і а + Г о =

п г + п у _1

Ук = Рк-ш пРи к є [т;п + т - !]•

Розрядність величини 2 становить пх+пу а-кових розрядів.

Величина 2 = У • аПх + X приймає деяке значення 2=іі з множини можливих

значень тоді і тільки тоді, коли Х=хг- і У=уг-, причому ця умова є необхідною і

достатньою:

Г X = х ,2 = X

г 1 У = Уг

Таким чином, ймовірність того, що величина 2 приймає деяке значення 2 з

множини можливих значень, визначається ймовірностями Р(Х=хг) і Р(У=уг). В силу

незалежності X і У

Р (2 = х ) = Р ( X = х ) • Р(У = у ).

Якщо величина X має дискретний рівномірний розподіл на множині значень

потужності Хх, а величина У - дискретний рівномірний розподіл на множині

потужності Ху, то

Р (Х = х ) = — , Р(У = у ) = — , а( ' ) К ( ^ ) Ху

Р( 2 = х ) = 1N Nх у

що і визначає закон розподілу дискретної величини 2 = У • аПх + X .

Page 93: Diss Lavdanskiy

Потужність множини значень величини 2 дорівнює КхКу.

Таким чином, дискретна величина, сформована за допомогою конкатенації

двох рівномірно розподілених незалежних дискретних величин, що приймають цілі

невід'ємні значення, має також рівномірний розподіл, що й треба було довести.

Вказане твердження не залежить від області визначення величин X і У.

Якщо в операції конкатенації беруть участь к рівномірно розподілених

незалежних дискретних величин з потужностями множин значень N0, М , ..., Nk-1, то

закон розподілу конкатенації має вигляд:

Р( Z = і і) = ------- 1------ .

Відзначимо, що в більшості випадків генератори випадкових і

псевдовипадкових чисел здатні формувати будь-які значення з деякого скінченного

діапазону невід'ємних цілих чисел Я>0.

Визначимо функцію розподілу конкатенації Я величин, сформованих

подібними генераторами чисел.

У загальному випадку функція розподілу дискретної величини Я має вигляд:

^ (і ) = У Р (2 = 7 ) = У -------1------- .^ У N N N2 і < 2 2 і < < < < 0 1 ' < 1 -1

Для визначення значення функції розподілу необхідно виконати розрахунок

кількості всіх значень 2<2 . Визначимо залежність функції розподілу конкатенації

величин тільки від значення 2 і діапазонів визначення величин.

Нехай величина X рівномірно розподілена на відрізку [Ах,Вх] з потужністю

множини значень Ух=Вх-Ах+1, а величина У - на відрізку [Ау,Ву] з потужністю

множини значень Щ=Ву-Ау+1.

Величина Я рівномірно розподілена на множині цілих чисел з діапазону

Бу г пи ІаПх + Ах,1ап% +Вх з потужністю множини значень Хху .

84

1 = А у

Нехай X=X-Ax, а У'=У-Ау. Тоді величини X' і У' рівномірно розподілені на

відрізках [0,Вх-Ах] і [0,Ву-Ау] відповідно. Величина Z ' = У '• аПх + X ' = Я - А • аПх - Ах

Page 94: Diss Lavdanskiy

рівномірно розподілена на множині цілих чисел з діапазону

и [ > " - > " ' + я , - л ] - 1=0

Таким чином, в силу наявності бієкції 2 ^ 2 ' зі збереженням структури

множини значень величин 2 і 2', ці множини \2 І} і {2 \ } є ізоморфними.

Розглянемо величину 2 ' = У ' • апх + X ' і знайдемо для неї функцію розподілу.

Визначимо функцію розподілу 0(л ',уг) і закон розподілу g(xr,yr) системи

величин (X', У). Для цього скористаємося рисунком 3.4.

х уВідповідно до рисунку 3.3, С ( х у ') = Р (Х ' < х',У' < у ') = — — за х' є [0 ;N ],N Nх у

85

у ' 4 0; ] .

Закон розподілу системи дискретних величин (Х',уг) g (х ',у ') 1N Nх у

Для знаходження закону розподілу дискретної величини 2 ' = У '• аПх + X '

побудуємо на площині х'0у 'пряму і ' = у '• аПх + х' (рисунок 3.4).

Рис. 3.4. Положення випадкових величин на числовій осі

Позначимо В область, для якої висота поверхні і ' = у '• аПх + х' над площиною

х'0у' менше 2. Щоб виконувалася нерівність Р(2)=Р(2<г), випадкова точка (х'уГ)

повинна потрапити в область В. Отже, функція розподілу величини 2 ' = У '• аПх + X '

Page 95: Diss Lavdanskiy

86

F (2') = PHX ' ,¥ ') с D) = У я (x ',у ')(х у ') с О

У Ур = 0

1

1

г = р а х

N N .. аПх

N xN y

N +х у V J

Таким чином, функція розподілу конкатенації величин X ' і У'

F ( 2 ’) =1

N NN +

х у V а

В силу ізоморфізму [ і ] і [ і і ] функція розподілу конкатенації Z = У • аПх + X

величин X і У, рівномірно розподілених на відрізках [Ах,Вх] і [Ау,Ву], відповідно,

F ( 2) =1

N N .■ N + 2 '

у V а

де 2 ' = 2 - Лу ■ аПх - Лх,

N = В, - А + 1,х х х

N . = Ву - Лу +1 .

Нехай величина X- з розрядністю т на виході генератора X має рівномірний

розподіл на відрізку [А Д ], і є [0, к -1 ]. Тоді числа, утворені шляхом конкатенації

чисел на виході джерел Г- виду

Хк-1 Хі Хо

рівномірно розподілені на множині цілих чисел з діапазону

и и ик-\~А-\ к~А к~А

1 А ... + + Ір* А X)?

1 + ... + А А Вд

т-1де Рт = У ПІ , (т> 0Х Р0=0-

І=0

Функція розподілу конкатенації к рівномірно розподілених величин

F ( 2) = 1N 0 у ...у -1

к-1У]і=1

прі +1 'X +аґ

де У = Ві - А + 1

пхп

х

В

Page 96: Diss Lavdanskiy

87

к- і

7 і = 7 - І А • аР7=0

Визначимо математичне сподівання і дисперсію величини 2 = І Xк- і

Ріа гіі=0

Математичне сподівання величини Х і в силу її рівномірного розподілу

А + ВМ (Хі ) = •

2

З врахуванням того, що М (X • ат) = М (X ) • ат, а величини, що входять ві 7 ч і ■ґ к - 1 Л к - і

конкатенацію, незалежні, М (2 ) = М І X • аРі = І (М (X ) • аРі) абоі=0V і=0

к- і

М ( 2 ) = І | А ' В • а Рік - і^ А + В Л

і=0 V 2

Дисперсія величини Х і в силу її рівномірного розподілу

а 2( X ) = м2 іі2

З огляду на те, що величини Х і, і є [0, к - 1] незалежні, їх коваріації дорівнюють

нулю, аґ к -1 Л к -1

- 2 / ^ \ 2а 2{2 ) = а 2 І X • аРі = І (а 2 (X ) • а 2Рі) абоV І=0 і=0

1 к- і , .

а 2(2 ) = т г І ((N1 - !)• а 2 Рі).к- і

і 2 1і 2 і=0

Наслідок. Слово, сформоване за допомогою конкатенації к слів, утворених к

незалежними первинними генераторами рівномірно розподілених чисел, має

рівномірний розподіл.

Таким чином, у залежності від розрядності слів первинних джерел випадкових

або псевдовипадкових чисел і діапазонів їх розподілу можна визначити розрядність

і діапазон рівномірного розподілу конкатенації цих слів. Вказану операцію можна

зробити і в зворотному напрямку - в залежності від необхідних значень розрядності

і діапазону розподілу складових чисел можна визначити параметри первинних

послідовностей чисел.

Page 97: Diss Lavdanskiy

88

3.5. Пристрій формування послідовностей з перевищенням розрядності

обчислювальної платформи

Структурна схема генератора рівномірно розподілених псевдовипадкових

чисел з розрядністю, що перевищує розрядність обчислювального блоку [22], може

бути представлена у вигляді, зображеному на рисунку 3.5.

Рис. 3.5. Розроблена структурна схема генератора рівномірно розподілених

псевдовипадкових чисел

Робота ГПВЧ відбувається наступним чином.

Кожен з к незалежних первинних генераторів рівномірно розподілених чисел

Г і формує одне власне слово розрядності пі на часовому інтервалі формування

складеного слова генератора. Формувач виходу утворює вихідне слово шляхом

конкатенації к слів з виходів к джерел. Формувач адреси служить для управління

порядком розстановки слів генераторів у складеному (результуючому) слові.

Під час розгляду джерел псевдовипадкових чисел, виконаних на базі

комбінаційних автоматів, доцільно використовувати запропоновані в [96], [97] ідеї

виділення однієї комбінаційної частини для всіх джерел і спільного блоку пам'яті.

Структурна схема такого пристрою представлена на рисунку 3.6.

Page 98: Diss Lavdanskiy

89

Комбінаційна

частина

Формувачвиходу

-------►

* Р

р РР

Адреса Адреса

Адоеса

Формувачадреси

Рис. 3.6. Розроблена структурна схема генератора рівномірно розподілених

псевдовипадкових чисел з виділенням комбінаційної частини і пам'яті

Комбінаційна частина виконує операції, передбачені алгоритмом формування

псевдовипадкових чисел. Зауважимо, що всі відомі способи формування

псевдовипадкових чисел використовують ітераційний процес. Тому на кожному

етапі обчислення числа на вхід комбінаційної частини надходить результат

попереднього обчислення генератора, що зберігається в пам'яті. Після обчислення

поточного слова воно подається на формувач виходу і записується в комірку

пам'яті в якості поточного стану генератора.

Формувач виходу генерує вихідну послідовність шляхом конкатенації слів від

кожного генератора. Дані з формувача адреси служать для отримання з пам'яті

проміжного стану генератора, перетворення даних в комбінаційній частині, а також

для формування складеного слова у формувачі виходу.

У найпростішому випадку формувач адреси являє собою циклічний лічильник

з кількістю станів, яка дорівнює кількості вихідних слів конкатенації. У інших

випадках необхідно враховувати як кількість генераторів, так і розрядність слів, що

ними формуються.

Зауважимо, що в якості компонентів конкатенації для формування рівномірно

розподіленої послідовності псевдовипадкових чисел можна використовувати

Page 99: Diss Lavdanskiy

90

реалізації не кількох, а одного псевдовипадкового алгоритму. Це стає можливим

внаслідок виконання умови к-розподілу [1] псевдовипадкової послідовності

довжини N для всіх к < Іо ^ N , Ь=ап (або умови багатовимірної однорідності [98]).

У разі об'єднання ко слів генератора в одне слово для рівномірного розподілу

конкатенації досить, щоб потік слів генератора володів властивістю к0-мірної

однорідності. Однак, щоб послідовність отриманих складених слів задовольняла

Nумові випадковості по [1] і була рівномірно розподілена в Іог к0 — вимірах,

к

необхідно, щоб первинна послідовність довжини N була к-розподілена для всіх

Nьк° к '

3.6. Реалізація комп’ютерної системи криптографічного захисту

інформації на основі запропонованих методів формування

псевдовипадкових послідовностей

У [23] запропоновано систему двоконтурного потокового шифрування. У цій

роботі автором розроблено структурну схему такої системи, що наведена на

рисунку 3.7.Підключ К1

Рис. 3.7. Розроблена структурна схема системи двоконтурного потокового

шифрування

Система складається з двох контурів. Шифртекст першого контуру

утворюється в наступний спосіб. ГПВЧ на основі мультиплексування 1, керований

підключем К1, формує ПВП. Одночасно формується допоміжна послідовність за

допомогою генератора на основі РЗЛЗЗ 2. Над послідовностями 1 і 2 проводиться

Page 100: Diss Lavdanskiy

нелінійна операція 3 (наприклад, операція рівнозначності). Отримана гама шифру

складається з відкритим текстом за допомогою операції 4 (сума по модулю 2).

Шифртекст другого контуру є виходом пристрою і утворюється в наступний

спосіб. Шифртекст першого контуру надходить на пристрій управління 5, що керує

ГПВЧ на основі мультиплексування 6. Принцип управління полягає в зміщенні

слова на виході ГПВЧ 6 відносно деякого слова 5(0) на ґ слів. Значення ґ

визначається виходячи з шифртексту першого контуру. Параметри ГПВЧ 6

управляються підключем К2. У цьому контурі фактично проводиться перестановка

слів шифртексту першого контуру, за рахунок чого додатково підвищується

стійкість системи.

Основним блоком криптосистеми є ГПВЧ на основі мультиплексування 1, що

формує послідовність псевдовипадкових чисел відрізку [0, М - і]. Генератор

будується на основі викладених вище принципів. Відмінність генераторів першого

і другого контуру полягає лише в змінних даних, що в них завантажуються. Крім

того, гамі першого контуру додані нелінійні властивості за рахунок комбінування

двох різних типів генераторів. Перший контур шифрування представляє

криптосистему потокового шифрування і реалізує режим простого гамування.

Слова, що надходять з виходу першого контуру шифрування, використовуються як

вказівник зміщення ґ слова, що підлягає формуванню у другому контурі, щодо

деякого значення 5(0). По суті, у другому контурі шифрування проводиться заміна

одного слова з відрізку [0, М - і ] на інше слово з цього ж відрізка. У результаті

символи шифртексту на виході криптосистеми мають рівномірний розподіл.

3.7. Висновки

У третьому розділі набув подальшого розвитку метод формування

псевдовипадкової послідовності на основі комбінації генераторів

псевдовипадкових чисел шляхом комбінування перестановок за допомогою

функції підсумовування за модулем або мультиплексування, що дало змогу

покращити статистичні властивості послідовності та збільшити період її

повторення.

91

Page 101: Diss Lavdanskiy

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

виході генератора за рахунок використання множини первинних ГПВЧ на основі

ЛКМ і РЗЛЗЗ (а також інших типів ГПВЧ з приведенням їх виходу до необхідних

властивостей) та комбінуючих функцій на основі підсумовування за модулем або

мультиплексування.

Використання розробленого методу дозволяє отримати наступні переваги:

• формування псевдовипадкових перестановок на основі функції

підсумовування за модулем М слів множини первинних генераторів

дозволяє збільшити період ПВП до значення Т = ^ ”=і ТІ , де Ті - період

повторення /-го первинного генератора;

• формування псевдовипадкових послідовностей на основі функції

мультиплексування дозволяє збільшити період повторення в N раз (де

N - кількість первинних генераторів) та виконати перемежовування

перестановок від різних генераторів.

Крім того, в третьому розділі:

• розроблено методику і пристрій формування рівномірно розподіленої

послідовності чисел на основі конкатенації слів, утворених незалежними

первинними генераторами рівномірно розподілених чисел, які дозволяють без

значного зменшення продуктивності та збільшення складності генератора

формувати послідовність рівномірно розподілених чисел з розрядністю, що

виходить за межі розрядності обчислювальної платформи;

• розроблено структурну схему системи двоконтурного потокового

шифрування, яка може бути використана в задачах комп’ютерної криптографії для

шифрування інформації і подальшого передавання її відкритими каналами зв'язку.

Час відтворення повного періоду повторення запропонованих конструкцій

комбінаційних ГПВЧ досягає сотень і більше років навіть з урахуванням заміни

обчислювальних блоків на більш продуктивні на регулярній основі. Однак час

відтворення повного періоду повторення послідовності є лише однією з

статистичних властивостей ГПВЧ. Тому у наступному розділі буде проведено

дослідження статистичних властивостей запропонованих ГПВЧ на основі

існуючих методів оцінок, а також буде розроблено метод чисельної оцінки АКФ

92

Page 102: Diss Lavdanskiy

випадкових і псевдовипадкових послідовностей, необхідний для об’єктивного

оцінювання результатів дослідження АКФ.

93

Page 103: Diss Lavdanskiy

94

РОЗДІЛ 4. МЕТОД ОЦІНЮВАННЯ СТАТИСТИЧНИХ

ВЛАСТИВОСТЕЙ ПОСЛІДОВНОСТІ РІВНОМІРНО

РОЗПОДІЛЕНИХ ЧИСЕЛ НА ОСНОВІ ЇЇ АВТОКОРЕЛЯЦІЙНОЇ

ФУНКЦІЇ

4.1. Вступ

Генератори псевдовипадкових чисел найчастіше використовуються для

вирішення великого кола практичних задач моделювання складних об'єктів,

оцінювання їх стійкості до дії дестабілізуючих факторів, захисту інформації, в яких

результат вирішення задачі істотно залежить від використовуваного генератора.

Якісний генератор ПВП, який використовується для вирішення цього кола задач,

повинен формувати послідовність чисел, яку можна порівняти за своїми

статистичними характеристиками з послідовністю випадкових чисел,

породжуваних природними джерелами, і бути відтворюваним. Сучасні генератори

ПВП володіють багатьма характеристиками природних джерел випадкових чисел,

але, тим не менш, поки не існує генераторів ПВП, що не відрізняються за своїми

статистичними характеристиками від ГВЧ.

Задача вибору генератора ПВП, що підходить для вирішення практичної

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

експериментальних порівняльних кількісних оцінок. Для дослідження

статистичних властивостей використовують різні статистичні тести, об'єднані в

пакети тестування. Проходження статистичних тестів дозволяє з високою

ймовірністю говорити про високу якість досліджуваної псевдовипадкової

послідовності чисел.

Метою розділу є оцінювання послідовності псевдовипадкових чисел,

породжених генераторами, запропонованими в попередніх розділах, за допомогою

графічних тестів, статистичних пакетів тестування, а також деяких

непараметричних критеріїв. Це дозволить підтвердити можливість використання

запропонованих ГПВЧ в практичних задачах, що вимагають високоякісних ПВП.

Однією з важливих характеристик дискретних послідовностей чисел є їх

коефіцієнти автокореляції, складові автокореляційної функції (АКФ), яка дозволяє

оцінити рівень внутрішньої кореляції досліджуваної послідовності в різні моменти

Page 104: Diss Lavdanskiy

часу. Тому важливою і актуальною задачею є об'єктивний аналіз АКФ

псевдовипадкової послідовності чисел і визначення ступеня її відповідності АКФ

випадкової послідовності чисел, яка математично описується дельта-функцією

Дірака [99].

Наприклад, загальноприйнятий в економетриці [100] аналіз оцінки АКФ

проводиться наступним чином:

1) якщо найбільш високим і значущим є коефіцієнт автокореляції першого

порядку, досліджувана послідовність містить лінійну тенденцію;

2) якщо найбільш високим і значущим є коефіцієнт автокореляції порядку

т, досліджувана послідовність містить циклічні коливання з

періодичністю в т моментів часу;

3) якщо жоден з коефіцієнтів автокореляції не є значущим, можна зробити

одне з припущень щодо структури досліджуваної послідовності:

• послідовність не містить лінійної тенденції і циклічних коливань,

а включає тільки випадкову компоненту;

• послідовність містить сильну нелінійну тенденцію.

У разі нормально розподіленої сукупності вихідних даних значимість

коефіцієнтів автокореляції може бути визначена у відповідності до /-критерію

Стьюдента [83].

Крім того, актуальною задачею є виявлення і дослідження нових статистичних

властивостей автокореляційних функцій послідовностей випадкових і

псевдовипадкових чисел і їх порівняння на основі статистичних критеріїв.

Особливий інтерес представляє розподіл коефіцієнтів кореляції ненульового

порядку, а також розподіл знаків цих коефіцієнтів.

4.2. Аналіз статистичних властивостей послідовностей на виході

запропонованих генераторів за допомогою існуючих методів

тестування

Використання методів формування ПВП для більшості задач неможливо без

попередньої перевірки статистичних властивостей послідовностей на їх виході.

Для досягнення цієї мети існує багато методів тестування, кожен з який дозволяє

оцінити лише одну з можливих статистичних властивостей. Чим більше тестів

95

Page 105: Diss Lavdanskiy

пройде послідовність - тим з більшою ймовірністю можна вважати послідовність

випадковою. Для цього у розділі наводяться результати тестування

запропонованих методів формування ПВП на основі існуючих методів тестування.

Але не всі методи тестування дозволяють виконати оцінювання статистичних

властивостей за допомогою чисельних характеристик. Наприклад, АКФ

послідовності є так званим графічним тестом і дозволяє оцінити статистичні

властивості лише візуально (у більшості випадків результат такої оцінки буде

суб’єктивним). Проте, деякі послідовності можуть успішно проходити тести на

основі існуючих методів і, водночас, отримати незадовільні результати оцінювання

її АКФ. Тому задача чисельної оцінки АКФ є необхідною.

4.2.1. Аналіз статистичних властивостей послідовностей на виході

запропонованих генераторів за допомогою графічних методів

Проведемо порівняльне тестування комбінаційного генератора на основі

підсумовування за модулем М за допомогою графічних тестів.

Для проведення тестування було створено програмний продукт (додатки А та

Б), що має самостійне практичне застосування, і дозволяє проводити тестування

послідовностей випадкових та псевдовипадкових чисел за допомогою наступних

графічних методів тестування: розподіл слів послідовності, розподіл на площині,

спектральний тест, профіль лінійної складності, АКФ.

Для тестування будемо використовувати два варіанти заповнення первинних

таблиць - за допомогою лінійного конгруентного методу і за допомогою

квантового генератора випадкових чисел [50]. Для зручності тестування будемо

використовувати потужність алфавіту М=256, що дозволяє досліджувати як

послідовність слів, так і послідовність біт у вибірці (шляхом послідовної

конкатенації бітового представлення слів в єдиний потік біт). Кількість первинних

таблиць в комбінаційному генераторі встановимо рівним 4, визначивши наступні

розміри цих таблиць: 251, 241, 239, 229 слів без повторів і пропусків в кожній

таблиці відповідно. Таке комбінування первинних таблиць дасть максимальний

період повторення (оскільки розміри таблиць взаємно прості), рівний

Г=251-241-239-229=3310732921 слів. Параметри використаних генераторів на

основі ЛКМ наступні:

96

Page 106: Diss Lavdanskiy

• £1=34, 0 = 6 7 , М = 2 5 1, О(0)=0;

• £2=158, С2=5, М2=241, ^2(0)=0;

• £з=24, Сз=222, М3=239, &(0)=0;

• £4=143, С4=47, М4=229, 54(0)=0.

У разі відсутності циклу максимальної довжини проводиться формування

надциклу шляхом конкатенації циклів генератора до досягнення максимального

періоду повторення, рівного М і слів, відповідно методу отримання надциклу,

запропонованого у другому розділі.

Для порівняння з іншими методами формування послідовностей

псевдовипадкових чисел в тестування також включений алгоритм МТ19937 (вихор

Мерсенна) [2].

З метою порівняння статистичних параметрів послідовності на виході

комбінаційного генератора з параметрами випадкової послідовності чисел аналіз

також буде проведений для послідовності, сформованої за допомогою

оцифрованих радіошумів [49]. Будемо називати цю послідовність випадковою

послідовністю слів.

Розглянемо графіки обвідної для гістограми розподілу елементів

послідовності (рис. 4.1), для тестування взята вибірка розміром в 225 слів.

Як випливає з рис. 4.1, різні варіанти заповнення первинних таблиць дають

однаковий результат - забезпечують рівномірний розподіл слів в досліджуваній

вибірці.

Проведемо оцінювання отриманих результатів за допомогою критерію хі-

квадрат [13] з рівнем значущості 0,05. Для 255 ступенів свободи критичне значення

хі-квадрат дорівнює Х005255 = 293,2478. Результати оцінювання гістограми

розподілу наступні:

• заповнення первинних таблиць за допомогою лінійного конгруентного

методу: х 1 = 229,3256;

• заповнення первинних таблиць за допомогою квантового генератора

випадкових чисел: х 2 = 235,7351;

• генератор вихор Мерсенна: х 2 = 281,6868;

• випадкова послідовність слів: Х = 252,6039.

97

Page 107: Diss Lavdanskiy

98

13 3 0 0 0

13 2 0 0 0

13 1 0 0 0

13 0 0 0 0

12 9 0 0 0

1 3 3 0 0 0

1 3 2 0 0 0

1 3 1 0 0 0

1 3 0 0 0 0

1 2 9 0 0 0

13 3 0 0 0

1 3 2 0 0 0

1 3 1 0 0 0

1 3 0 0 0 0

1 2 9 0 0 0

а)

1 3 3 0 0 0

1 3 2 0 0 0

1 3 1 0 0 0

1 3 0 0 0 0

1 2 9 0 0 0

б)

в) г)

Рис. 4.1. Графік обвідної для гістограми розподілу слів послідовності: а -

комбінаційний генератор, заповнення первинних таблиць за допомогою лінійного

конгруентного методу; б - комбінаційний генератор, заповнення первинних

таблиць за допомогою квантового генератора випадкових чисел; в - генератор на

основі МТ19937; г - випадкова послідовність слів.

Усі отримані значення %2 менше критичного значення 5, що

підтверджує рівномірність розподілу слів в досліджуваних послідовностях

псевдовипадкових чисел.

Результати тесту розподілу на площині зображені на рис. 4.2. Вибірка для

кожної з досліджуваних послідовностей поступово збільшується і становить 2 14,

215, 216, 218 слів відповідно.

Page 108: Diss Lavdanskiy

99

г)

Рис. 4.2. Розподіл слів на площині: а - комбінаційний генератор, заповнення

первинних таблиць за допомогою лінійного конгруентного методу; б -

комбінаційний генератор, заповнення первинних таблиць за допомогою

квантового генератора випадкових чисел; в - генератор на основі М Т19937; г -

випадкова послідовність слів.

На отриманих зображеннях не спостерігається "візерунків", а з ростом вибірки

площини повністю покриваються точками. Результати тестування свідчать про

присутність усіх можливих біграм і відсутність закономірності в їх розподілі для

всіх досліджуваних послідовностей чисел.

Page 109: Diss Lavdanskiy

100

1200

1000

800

600

4 0 0

2000

1200

ї Н О О І Л Г М О І Ш Г О О Г ' ^ - ї Н О О І Л Г М-сл -оогооогог^гмг^*ню*н* ч г м ^ - і л г ^ о о о * н г о ^ - ю г ^ с пї Н О О І Л Г М О І Ш Г О О Г ' ^ - ї Н О О І Л Г М-сл -оогооогог^гмг^*ню*н* ч г м ^ - і л г ^ о о о * н г о ^ - ю г ^ с п

а)1200

1000

800

600

40 0

200

0ї Н О О І Л Г М О І Ш Г О О Г ' ^ - ї Н О О І Л Г М-сл -оогооогог^гмг^*ню*нї Н Г М ^ - І Л Г ' О О О ї Н Г О ^ - Ш Г ' О )

б)

1200

т Н С О ї - П Г ^ С П ЮГ О О Г ^ ' ^ - ' Н О О і - П Г ^' ^ Г С П ' ^ - О О Г О С О Г О Г ^ . Г ^ Г ^ ' Н Ют Нт Н Г ^ ' ^ - І - П Г ^ О О О ' Н Г П ' ^ - Ю Г ^ С П

в) г)Рис. 4.3. Профіль лінійної складності: а - комбінаційний генератор, заповнення

первинних таблиць за допомогою лінійного конгруентного методу; б -

комбінаційний генератор, заповнення первинних таблиць за допомогою

квантового генератора випадкових чисел; в - генератор на основі М Т19937; г -

випадкова послідовність слів.

Результати визначення профілю лінійної складності наведені на рис. 4.3. Для

тестування взяті перші 211 біт кожної з досліджуваних послідовностей.

Результати аналізу свідчать про рівномірне збільшення лінійної складності в

міру збільшення розміру вибірки для всіх досліджуваних в роботі послідовностей

чисел. Отримані графіки мають мале відхилення від лінії_Ди)=и/2, що є свідченням

успішного проходження тесту.

Результати проходження графічного спектрального тесту представлені на рис.

4.4. Для проведення тесту взяті перші 29 біт кожної з досліджуваних

послідовностей. Середня довжина гармонік для кожної з послідовностей відповідає

горизонтальній лінії.

Page 110: Diss Lavdanskiy

101

80

60

40

20

0

, 1 . і і і11| і , ІІІиаІІ JUIL.il,. 1 ї І і Ш і ;

80

60

40

20

0

і . н і і | ц ] І І і І . і ІІ І Ь І і і . л і і і 11 м і 1 1

т Н О С П О О Г ^ Ю ь П ' ^ - Г О Г ^ т Н О С П О Огмтьльо^нтьлг^слнгм^гН г І Н Н г І Г М Г М Г М

т Н О С П О О Г ^ Ю Ь П ^ Г О Г ^ т Н О С П С О Г % І Г 0 і - П Г ^ ( Т і ^ Н Г 0 і - П Г > . ( Т і т Н г % і ' ^ Ґ М—І М—І М—І М—І М—І (N1 (N1 (N1

а) б)

80

60

40

20

0

і.іііі і, і .11 и.,1. НІ іІ .і11, Л і.

80

60

40

20

0

'ііУІііІїї' мііьнД 1 1. .ііІіі*Н О СТї 00 І Ш І Л ^ І Т І М Н О С Л О З

г м г о і л г ^ с п *н г о і л г ^ с т ї *н г м ^- н н н н н м м м* н о с т і о о і Ш І Л ^ А І О І Н О О І О З

г м г о і л г ^ с п *н г о і л г ^ с т ї *н г м ^- н н н н н м м м

в) г)Рис. 4.4. Графічний спектральний тест: а - комбінаційний генератор, заповнення

первинних таблиць за допомогою лінійного конгруентного методу; б -

комбінаційний генератор, заповнення первинних таблиць за допомогою

квантового генератора випадкових чисел; в - генератор на основі М Т19937; г -

випадкова послідовність слів.

На наведених на рис. 4.4 б, в, г гістограмах не спостерігається гармонік, які

значно перевищують середню довжину. Для варіанту заповнення таблиць

комбінаційного генератора за допомогою лінійного конгруентного методу (рис. 4.4

а), на гістограмі присутні піки гармонік, що перевищують середню довжину більш

ніж в три рази, чого не спостерігається для інших досліджуваних вибірок. Такий

результат тестування показує незначну відмінність послідовності, сформованої за

допомогою заповнення первинних таблиць результатом роботи лінійного

конгруентного методу.

Графік автокореляційної функції представлений на рис. 4.5. Для побудови

графіка використовується бітове представлення досліджуваних послідовностей.

Для тестування взяті перші 215 біт кожної з досліджуваних послідовностей.

Page 111: Diss Lavdanskiy

102

1,21

0, 80, 60, 40, 2

0-0 ,2 н гм т ^ ьл ш

'З' 00 гм ю оГО Ш ГМ ' Г

00 СП 00 04 ГО Гч 4 0 00

оГ"-о г

гч т ^гІЛ Ш ГО■ о

1,21

0 ,80 ,60 ,40 ,2

0-0 ,2 гм т ^ ю ш

^ 00 гм ю оГО ио О ГО Гч04 'З ' ["•* ОО хН

0 0 00 00 Г%і ГО Гч Ю 00

О н ГМ ГОН ІЛ ОО ГОо -чг о -чг

Н ГО 1Л м о(N(N(N(N00

а) б)

1,2 1

0 ,8 0 ,6 0 ,4 0 ,2

0т Н ГМ ГО іл Ю-0 ,2 ^ оо гм ю о

ГО СО О ГО Гч(N'^-[^00x400 оо00 Г%і ГО Г-> Ю 00

о н ГМ Г О ^1^ Н ОО ГОо -чг о -чгН О І Л оо о(N(N(N(N00

1,2 1

0 ,8 0 ,6 0 ,4 0 ,2

0т н гм т іл ю-0 ,2 ^ оо гм ю о

ГО СО О ГО ГчN І4' ОО Н

00 оо00 Г%і ГО Г-> Ю 00

н л і т і - Н ІЛ ОО ГО■чг о -чг ГО ІЛ 00( N ( N ( N ( N 0 0

в) г)Рис. 4.5. Автокореляційна функція: а - комбінаційний генератор, заповнення

первинних таблиць за допомогою лінійного конгруентного методу; б -

комбінаційний генератор, заповнення первинних таблиць за допомогою

квантового генератора випадкових чисел; в - генератор на основі М Т19937; г -

випадкова послідовність слів.

Результати тестування показують відсутність сплесків кореляції, що є

успішним проходженням тесту і доводить відсутність внутрішньої кореляції для

всіх досліджуваних послідовностей.

Проведені дослідження комбінаційного генератора на основі підсумовування

за модулем М за допомогою графічних методів тестування ПВП показують успішне

проходження всіх тестів для всіх варіантів заповнення первинних таблиць

запропонованого комбінаційного генератора (за винятком заповнення первинних

таблиць за допомогою ЛКМ).

Page 112: Diss Lavdanskiy

4.2.2. Аналіз статистичних властивостей послідовностей на виході

запропонованих генераторів за допомогою статистичних методів

дослідження

4.2.2.1. Пакети статистичного тестування NIST та Diehard

Проведемо перевірку статистичних характеристик псевдовипадкової

послідовності, отриманої за допомогою запропонованого раніше в третьому розділі

комбінаційного методу на основі підсумовування за модулем M за допомогою

статистичних пакетів тестування NIST [33] та Diehard [81]. Для проведення

тестування необхідно заповнення первинних таблиць перестановок за допомогою

ГПВЧ або ГВЧ. Для досягнення цієї мети будемо використовувати метод побудови

надциклу генератора на основі ЛКМ для довільних параметрів, запропонований у

другому розділі. Також з метою порівняння будемо використовувати заповнення

первинних таблиць за допомогою адитивного ГПВЧ [70] і квантового ГВЧ [50].

Кількість первинних таблиць перестановок - від 2 до 8. Розміри таблиць

перестановок і значення параметра M були підібрані таким чином, щоб отримати

потужність алфавіту, рівну 256 слів (1 байт).

Для визначення статистичних характеристик використовувалася вибірка

розміром 225 байт. Кожен з 188 тестів пакету проводився N раз над послідовністю

довжиною V біт. У роботі, відповідно до рекомендацій NIST [33], обрано N=100,

V=1000000. У якості нульової гіпотези Н0 приймалася гіпотеза про те, що

послідовність є випадковою. Результатом роботи кожного тесту є N значень p-

value. P-value є ймовірність помилки у випадку відхилення нульової гіпотези про

випадковість послідовності (помилка першого роду). N результатів тестів

поділяються за значенням на 10 груп: [0;0,1), [0,1;0,2), ..., [0,9;1]. Розподіл за цими

групами має бути рівномірним. Підрахована кількість значень в кожній з груп

оцінюється за допомогою критерію хі-квадрат (теоретичне значення N/10).

Отримана оцінка є результатом кожного з тестів пакету.

Результати тестування наведені в додатку Д для пакету статистичного

тестування NIST та в додатку Е для пакету статистичного тестування Diehard.

Наведемо результати тестування в скороченому вигляді в таблиці 4.1.

103

Page 113: Diss Lavdanskiy

Додатково проведемо підрахунок отриманих значень p-value, які

задовольняють рівню значущості, який приймемо на рівні а=0,01. Відношення

кількості значень p-value, більших за рівень значущості, до загальної кількості

результатів тесту відображається у процентному співвідношенні. Відповідно до

рекомендацій NIST [33], в роботі використовується обмеження в 96% - тести з

меншим значенням вважаються не пройденими. Результати тестування за цим

параметром наведено в таблиці 4.2.

Таблиця 4.1

Кількість тестів, які задовольняють рівню значущості для пакету тестування NIST

104

Заповнення первинних таблиць

Кількість первинних таблиць2 3 4 5 6 7 8

Лінійний конгруентний метод 148/188 1/188 0/188 0/188 0/188 0/188 0/188Адитивний генератор 147/188 0/188 0/188 0/188 0/188 0/188 0/188Квантовий генератор випадкових чисел 149/188 0/188 0/188 0/188 0/188 0/188 0/188

Таблиця 4.2

Кількість тестів, в яких тестування пройшло менше 96% послідовностей для

пакету тестування NISTЗаповнення первинних

таблицьКількість первинних таблиць

2 3 4 5 6 7 8Лінійний конгруентний метод 11/188 1/188 2/188 1/188 3/188 1/188 3/188Адитивний генератор 17/188 3/188 2/188 0/188 0/188 0/188 0/188Квантовий генератор випадкових чисел 20/188 1/188 1/188 0/188 0/188 0/188 0/188

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

допомогою пакета тестування NIST. Як випливає з таблиць 4.1 і 4.2, у випадку

використання двох первинних таблиць незалежно від методу їх заповнення видно,

що велика частина тестів не задовольняє рівню значущості (таблиця 4.1), а також

значна частина тестів не долає поріг пройдених тестів в 96% (таблиця 4.2). Причини

таких результатів наступні. Під час використання двох первинних таблиць в роботі

використовувалися таблиці розмірами M1=251 і M2=241 для всіх варіантів

заповнення. За такої конфігурації комбінаційного генератора період повторення

формованої послідовності дорівнює T=MrM2=25K241=60491 слів або 483928 біт.

Згідно з рекомендаціями, викладеними в [33], дослідження проводилися для

Page 114: Diss Lavdanskiy

послідовностей довжиною 1000000 біт. У випадку з двома первинними таблицями

відбувається зациклення генератора, яке веде до повторення послідовності після

483928 біт. Відповідно така послідовність не може вважатися випадковою, що і

визначає цей статистичний пакет тестування. Тому слід завжди враховувати період

повторення послідовності на виході комбінаційного генератора під час його

використання.

У випадку використання трьох і більше первинних таблиць всі варіанти

заповнення комбінаційного генератора задовольняють вимогам рівня значущості

(таблиця 4.1). Однак додаткова оцінка відсотку послідовностей, які пройшли тести

(таблиця 4.2), показує незначні відхилення для послідовностей для заповнення

первинних таблиць за допомогою лінійного конгруентного методу. За таких

результатів тестування не рекомендується використовувати розглянуту

конструкцію комбінаційного генератора з вказаними розмірами первинних таблиць

в задачах, що потребують високоякісних псевдовипадкових послідовностей. Для

інших же варіантів заповнення первинних таблиць (кількість таблиць 3 і більше)

послідовності повністю проходять всі тести пакета тестування NIST, що свідчить

про високу якість послідовності псевдовипадкових чисел, одержуваної на виході

комбінаційного генератора на основі підсумовування за модулем M.

Результати тестування для заповнення чотирьох та восьми первинних таблиць

за допомогою ЛКМ за допомогою статистичного пакету тестування Diehard

наведені в таблицях 4.3 та 4.4.

105

Page 115: Diss Lavdanskiy

Таблиця 4.3

Результати тестування комбінаційного методу на основі підсумовування за

модулем M для 4 первинних таблиць (тести Diehard)

106

Назва тесту Досягнутий рівень значущостіBirthday spacings 0,83486Overlapping permutations 0,757905 0,512637Ranks of matrices 0,982565 0,327089 0,953053

Monkey tests0,02824 0,75221 0,21123 0,03650 0,68292 0,77385 0,07104 0,61904 0,56374 0,666940,98585 0,24143 0,47734 0,91871 0,93519 0,48944 0,55175 0,01886 0,02577 0,85754

Count the 1s 0,354688 0,818711Parking lot test 0,053698Minimum distance test 0,758705Random spheres test 0,223135The squeeze test 0,998409Overlapping sums test 0,604252Runs test 0,478656 0,420336 0,457588 0,943058The craps test 0,464611 0,216251

Таблиця 4.4

Результати тестування комбінаційного методу на основі підсумовування за

модулем M для 8 первинних таблиць (тести Diehard)

Назва тесту Досягнутий рівень значущостіBirthday spacings 0,105355Overlapping permutations 0,883729 0,884212Ranks of matrices 0,524259 0,320893 0,901069

Monkey tests0,75809 0,61815 0,11116 0,84730 0,38037 0,69037 0,87078 0,04849 0,81248 0,276180,36008 0,63584 0,07526 0,78900 0,84895 0,13591 0,37416 0,34018 0,13287 0,70504

Count the 1s 0,463775 0,330114Parking lot test 0,592599Minimum distance test 0,891146Random spheres test 0,092625The squeeze test 0,857906Overlapping sums test 0,326366Runs test 0,423796 0,299287 0,703663 0,888317The craps test 0,857595 0,328926

Page 116: Diss Lavdanskiy

Результати тестування за допомогою статистичного пакету тестування Diehard

показують успішне проходження тестів для комбінаційного ГПВЧ з використанням

підсумовування за модулем в якості комбінуючої функції для 3 і більше первинних

генераторів на основі ЛКМ.

4.2.2.2. Пакет статистичного тестування TestUOl

Проведемо дослідження запропонованої конструкції комбінаційного

генератора з використанням функції підсумовування за модулем на основі пакету

статистичного тестування TestUOl [9]. Для цього будемо використовувати

найбільш суворий режим пакету тестування, іменований BigCrush. Для

використання цього режиму потрібно близько 238 32-розрядних слів, що складе

близько 240 байт. Зберігання такого значного набору псевдовипадкових слів є

проблематичним, тому для проведення тестування слова з виходу комбінаційного

генератора на основі підсумовування за модулем M передаються безпосередньо

тестам пакета тестування TestUOl без проміжного збереження. Параметри

первинних генераторів на основі ЛКМ обрані наступними:

• ^1=1103515245, Cl=12345, M i=4294967296;

• ^2=16807, С2=12345, M2=4294967291;

• ^3=16807, С3=12345, M3=4294967279;

• ^4=16807, С4=12345, M4=4294967231.

Кожен з наведених генераторів забезпечує максимально можливий період

повторення слів послідовності, що дорівнює значенню відповідного йому

параметра M . Загальний період повторення такої конструкції комбінаційного

генератора рівний T=Mi^M2 M3^M4~2128. Значення модуля комбінаційного

генератора M взято рівним 4294967296=232.

Реалізація комбінаційного методу формування ПВП на основі підсумовування

за модулем, необхідна для проведення тестування за допомогою пакету

статистичного тестування TestU01, написана на мові C і представлена в додатку Ж.

Результати тестування показують успішне проходження всіх тестів режиму

BigCrush статистичного пакета тестування TestUOl. Для порівняння в таблиці 4.5

наведено результати тестування інших відомих реалізацій ГПВЧ, запозичені з [9].

107

Page 117: Diss Lavdanskiy

У таблиці число означає кількість не пройдених тестів; прочерк - режим не

застосовувався зважаючи на велику кількість не пройдених тестів у попередньому

режимі; знак "+" - всі тести пакета успішно пройдені.

Таблиця 4.5

Результати тестування ГПВЧ за допомогою пакета статистичного тестування

108

TestU01

ГПВЧ РежимSmallCrush Crush BigCrush

ЛКМ, М=232, К=69069, С=1 11 106 -ЛКМ, М=232, К=1099087573, С=0 13 110 -ЛКМ, М=263, К=519, С=1 + 5 8ЛКМ, М=261-1, К=230-219, С=0 + 1 3СЬСС4 + + +Вихор Мерсенна + 2 2РЗЛЗЗ (ЬГ8Ю13) + 6 6Комбінаційний ГПВЧ на основі підсумовування за модулем М, 4 первинних ГПВЧ на основі ЛКМ + + +

Як показують результати тестування, розроблений комбінаційний метод з

комбінуючою функцією підсумовування за модулем M 4 первинних ГПВЧ на

основі ЛКМ є одним з кращих за мірою близькості до випадкових послідовностей

чисел.

4.2.2.3. Величина помилки відтворення рівномірного закону розподілу

Для послідовностей типу "без повернення" (перестановок, послідовностей з

нульовою помилкою відтворення рівномірного закону розподілу), генератори яких

запропоновані в попередніх розділах (ГПВЧ на основі конкатенації циклів ЛКМ і

РЗЛЗЗ, комбінаційний ГПВЧ на основі мультиплексування), не можна

використовувати розглянуті раніше пакети статистичного тестування (NIST,

Diehard, TestU01), оскільки ймовірність появи кожного слова для таких

послідовностей не постійна і залежить від кількості вже отриманих слів. Деякі з

тестів статистичних пакетів тестування покажуть відмінність від випадкових для

таких послідовностей. Для перевірки таких послідовностей будемо

використовувати оцінку точності відтворення рівномірного закону розподілу,

запропоновану в [43]. Результати дослідження значення помилки відтворення

Page 118: Diss Lavdanskiy

рівномірного закону розподілу наведені в таблиці 4.6. Для проведення дослідження

період повторення тестованих ГПВЧ був кратний вибірці.

Таблиця 4.6

Помилка відтворення рівномірного закону розподілу для запропонованих ГПВЧ

типу "без повернення"

109

ГПВЧ Значення помилки відтворення рівномірного закону розподілу

На основі конкатенації циклів ЛКМ 0На основі конкатенації циклів РЗЛЗЗ 0На основі мультиплексування виходів первинних ГПВЧ 0

Результати дослідження, наведені в таблиці 4.6, показують нульове значення

помилки відтворення рівномірного закону розподілу для розглянутих ГПВЧ типу

"без повернення", що підтверджує можливість використання таких ГПВЧ в якості

генераторів перестановок.

4.2.2.4. Непараметричні критерії дослідження. Критерій знаків.

Критерій серій

Розглянемо результати дослідження послідовностей, породжених

комбінаційним генератором на основі підсумовування за модулем М, за допомогою

критерію знаків [83], [101].

У якості еталонної послідовності використана випадкова послідовність чисел,

отримана за допомогою ГВЧ на основі радіошумів [49]. У якості основної гіпотези

Н0 приймається твердження, що досліджувані послідовності є однорідними, тобто

ймовірності відхилення різниці між словами досліджуваної і випадкової

послідовностей в ту або іншу сторону рівні між собою. Тоді Н0\р=А. У якості

альтернативних висуваються гіпотези:

- гіпотеза Н\.р>У2 - ймовірність відхилення різниці між словами

досліджуваної і випадкової послідовностей в позитивну сторону більша, ніж

в негативну;

- гіпотеза Н2:р<У2 - ймовірність відхилення різниці між словами

досліджуваної і випадкової послідовностей в негативну сторону більша, ніж

в позитивну.

Page 119: Diss Lavdanskiy

Якщо результат ¥ в розрахункового значення статистики критерію знаків

менше критичного значення ^розподілу Фішера (Рв< ^ 1.а)(&1,&2)) - тест вважається

пройденим. Для цього критерію в роботі використовується рівень значущості

а=0,05.

Відповідно до рекомендацій, викладених у [101], число випробувань для

застосування критерію знаків повинно бути достатньо велике для значень р,

близьких до Уі і конкуруючих з р = А Так, наприклад, для того, щоб критерій знаків

в 95% випадків відкидав гіпотезу Н0:р=^, коли насправді р=0,45 з рівнем

значущості д=5°%, необхідно провести не менше 1297 спостережень [101].

Мінімальний необхідний обсяг вибірки монотонно збільшується під час

наближення значення р до Уі і зменшення рівня значущості q. Виходячи з цього, в

якості початкових даних для застосування критерію знаків в цій роботі

розглядалися перші 4096 слів кожної з послідовностей комбінаційного генератора

на основі підсумовування за модулем М в залежності від різної кількості первинних

таблиць та різного їх заповнення.

Результати досліджень наведено в таблицях 4.7, 4.8, 4.9.

Таблиця 4.7

Результати тесту критерію знаків для заповнення первинних таблиць за

110

допомогою адитивного генератораКількість

первинних таблицьНі : р > 1/2 НЬ : р < 1/2

кі к2 Рв Р(1-а)(к1,к2) к1 к2 Рв Р(1-а)(к1,к2)2 4004 4158 1,03846 1,052845 4160 4002 0,96202 1,0528773 4120 4030 0,97816 1,052903 4032 4118 1,02133 1,0528854 4048 4118 1,01729 1,052833 4120 4046 0,98204 1,0528475 4064 4092 1,00689 1,052868 4094 4062 0,99218 1,0528746 4086 4072 0,99657 1,052866 4074 4084 1,00245 1,0528637 4150 4006 0,9653 1,052894 4008 4148 1,03493 1,0528658 4170 4004 0,96019 1,052839 4006 4168 1,04044 1,052806

Page 120: Diss Lavdanskiy

Таблиця 4.8

Результати тесту критерію знаків для заповнення первинних таблиць за

111

допомогою лінійного конгруентного методуКількість

первинних таблицьНі : р > 1/2 НЬ : р < 1/2

кі к2 Рв Р(1-а)(к1,к2) к1 к2 Рв Р(1-а)(к1,к2)2 4032 4126 1,02331 1,052858 4128 4030 0,97626 1,0528783 4144 4012 0,96815 1,052891 4014 4142 1,03189 1,0528654 4042 4110 1,01682 1,052879 4112 4040 0,98249 1,0528935 4104 4058 0,98879 1,052856 4060 4102 1,01034 1,0528476 4106 4050 0,98636 1,052878 4052 4104 1,01283 1,0528677 4136 4018 0,97147 1,052895 4020 4134 1,02836 1,0528718 4136 4032 0,97485 1,052846 4034 4134 1,02479 1,052825

Таблиця 4.9

Результати тесту критерію знаків для заповнення первинних таблиць за

допомогою квантового генератора випадкових чиселКількість

первинних таблицьН 1 : р > 1/2 НЬ : р < 1/2

к1 к2 Рв Р(1-а )(к1,к2) к1 к2 Рв Р (1-а )(к1,к2)2 4178 3990 0,955 1,052864 3992 4176 1,04609 1,0528263 4112 4060 0,98735 1,052824 4062 4110 1,01182 1,0528144 4030 4108 1,01935 1,052925 4110 4028 0,98005 1,0529425 4144 4010 0,96766 1,052898 4012 4142 1,0324 1,0528716 4120 4044 0,98155 1,052854 4046 4118 1,0178 1,0528397 4150 4006 0,9653 1,052894 4008 4148 1,03493 1,0528658 4000 4166 1,0415 1,052832 4168 3998 0,95921 1,052866

Результати досліджень за допомогою критерію знаків показують однорідність

послідовності, отриманої за допомогою комбінаційного генератора (для

досліджених варіантів заповнення первинних таблиць), і послідовності випадкових

чисел. З цього можна зробити висновок, що функції розподілу досліджуваних

величин є однаковими.

Результати дослідження послідовностей, сформованих комбінаційним

генератором на основі підсумовування за модулем М, за допомогою критерію серій

[83] наведені в таблиці 4.10. Дослідження проводилося для різної кількості та

заповнення первинних таблиць генератора. Розглядалися перші 256 слів кожної з

послідовностей. Успішним проходженням тесту є знаходження результату

розрахунку статистики критерію (гв) в межах критичних значень. Приймемо рівень

значущості а=0,01. Для такого а критичні значення 2в:-2,576<2в<2.576.

Page 121: Diss Lavdanskiy

Таблиця 4.10

112

Результати тесту критерію серій

Кількістьпервинних

таблиць

(Заповнення первинних таблиць

за допомогою адитивного генератора)

(Заповнення первинних таблиць за допомогою лінійного

конгруентного методу)

(Заповнення первинних таблиць за допомогою квантового генератора

випадкових чисел)

2 -0,43836 -0,56361 -0,562663 0,688852 2,191802 -2,06574 0,698043 0,815126 -0,058725 -2,06656 0,188859 -0,680426 0,313115 -0,8141 -0,062627 -0,93934 -0,1869 1,5655738 -1,31418 -0,1869 -0,68885

Результати застосування критерію серій підтверджують гіпотезу про

випадковість слів на виході комбінаційного генератора на основі підсумовування

за модулем для всіх варіантів кількості і заповнення первинних таблиць.

4.3. Розробка методу оцінювання статистичних властивостей

послідовності рівномірно розподілених чисел на основі її

автокореляційної функції

Розглянемо запропонований автором у [26], [102] метод чисельного

оцінювання статистичних властивостей послідовності рівномірно розподілених

чисел на основі її АКФ.

Обчислення АКФ є трудомістким алгоритмом і безпосередньо залежить від

розміру досліджуваної вибірки. Для зменшення часу обчислення АКФ доцільно

розглядати невеликі випадково виділені ділянки вибірки для загальної оцінки АКФ.

Розміри таких ділянок залежать від відстані, на якій потрібно виявити кореляцію

символів в досліджуваній послідовності.

Розрізняють два типи АКФ за способом її побудови: бітова і символьна. Для

побудови бітової АКФ використовується двійкове представлення досліджуваної

послідовності, для символьної - представлення в системі числення, що дорівнює

потужності алфавіту досліджуваного генератора. Отже, бітова АКФ відображає

міжбітову кореляцію, символьна - міжсимвольну кореляцію. Для побудови бітової

Page 122: Diss Lavdanskiy

АКФ додатково проводиться нормування двійкової послідовності наступним

чином: 0—*"1, 1— 1.

У роботі оцінювання кореляційних властивостей послідовності символів

(псевдо)випадкових чисел будемо проводити за деякою фіксованою вибіркою

обсягом п. Позначимо елемент послідовності випадкових чисел в дискретний

момент часу 'Vм у вигляді хи [0, п -1 ]. Оцінювання нормованої АКФ для

послідовності випадкових чисел будемо розраховувати наступним чином [101],

[103]:

113

И-1-Г

Г ( т ) =

V ( X - х ) ' ( Х +т - х )і=0

V Х( х - х ) 2 • ! ( х . т - х ) 2

(4.1)

і=0 і=0

і п —1де х = — V х - статистична оцінка математичного сподівання.

п і=0 іп-1-т / п-1-т п-1-т .2Очевидно, що Гх(0)=1, а за х = 0 гх (т) = V (хі ' хі+т) А V х2 ' Vі=0 / V і=0 і=0

Виконаємо побудову графіків оцінки нормованих АКФ для різних

послідовностей:

• випадкової послідовності чисел (оцифрованих радіошумів [49] і

квантового ГВЧ [50]);

• послідовності чисел на виході алгоритму вихор Мерсенна [2] МТ19937;

• послідовності на виході комбінаційного генератора на основі

підсумовування за модулем М з різними його параметрами.

Послідовності псевдовипадкових чисел комбінаційного генератора

формуються шляхом застосування комбінаційної функції суми за модулем М до

кількох послідовностей, породжених групою незалежних первинних генераторів,

де М - необхідна потужність алфавіту. Первинні генератори представляють собою

циклічні зсувні регістри, в які записані перестановки з потужностями алфавітів М і.

Будемо розглядати комбінаційний генератор з різною кількістю первинних таблиць

перестановок (від 4 до 8) і різним їх заповненням: за допомогою лінійного

конгруентного методу, адитивного генератора [70] і квантового генератора

випадкових чисел [50].

Page 123: Diss Lavdanskiy

Для всіх генераторів потужність алфавіту М обрана рівною 256, що дозволяє

без додаткових перетворень формувати двійковий файл з байтових слів на виході

генератора. Обсяг вибірки для всіх генераторів становить п=216 значень.

Графіки оцінки нормованих АКФ, обчислених по (4.1) для т е [1, пі 4] , для

деяких із зазначених послідовностей представлені на рисунку 4.6.

114

0.02 0,02

в) г)

Рис. 4.6. Оцінка нормованих АКФ для різних послідовностей:

а - оцифровані радіошуми; б - вихор Мерсенна; в - комбінаційний генератор з

використанням чотирьох первинних таблиць і їх заповненням з допомогою

лінійного конгруентного методу; г - комбінаційний генератор з використанням

восьми первинних таблиць і їх заповненням за допомогою квантового генератора

випадкових чисел.

Усі графіки на рисунку 4.6 не мають яскраво виражених кореляційних

сплесків, що може бути грубою оцінкою відсутності лінійної кореляції всередині

досліджуваних послідовностей.

Незважаючи на те, що автокореляційна функція належить до класу графічних

тестів [13], аналіз її чисельних значень являє собою значний інтерес.

Згідно [104], для статистичного висновку про ступінь кореляційних зв'язків

досліджуваних послідовностей необхідно провести перевірку значущості

вибіркового коефіцієнта кореляції.

Page 124: Diss Lavdanskiy

У основі класичного аналізу значущості оцінок коефіцієнтів автокореляції

(гх(т)=0) відповідно до /-критерію Стьюдента [83] лежить припущення про

приналежність досліджуваних випадкових послідовностей багатовимірному

нормальному закону розподілу. Однак, як показано в [105], розподіли статистик

критеріїв, використовуваних для перевірки гіпотези про рівність нулю для парних,

часткових і множинних коефіцієнтів кореляції (в тому числі і /-критерію

Стьюдента), стійкі до відхилень спостережуваного багатовимірного закону від

нормального. Емпіричні розподіли таких статистик добре описуються граничними

законами, отриманими в припущенні про нормальність спостережуваних величин.

Таким чином, незважаючи на те, що випадкові вектори (х і , х +т) не належать

двовимірному нормальному розподілу, перевірка значущості отриманих оцінок

коефіцієнтів автокореляції відповідно до /-критерію Стьюдента є правомірною. В

силу того, що аналізу піддаються 214 значень оцінок нормованих коефіцієнтів

автокореляції для кожного джерела, результатом перевірки будуть частості

потрапляння статистики критерію в критичну область для рівня значущості 0,05.

Отримані дані зведені в таблицю 4.11.

115

Page 125: Diss Lavdanskiy

Таблиця 4.11

Розрахункові значення статистик для аналізу значущості оцінок коефіцієнтів

116

автокореляції

Заповненняпервиннихтаблиць

перестановок

Кількістьпервинн

ихтаблицьперестан

овок

Частість попадання статистики критерію

Стьюдента в критичну область

шах| гх (т)| шах г*(т)Частість г*(т)| > 3

Джер

ело

ПВП

Комб

інац

ійни

й ге

нера

тор Лінійний

конгруентн ий метод

4 0,05145 0,01704 3,93863 0,002626 0,04700 0,01665 3,76514 0,001838 0,05109 0,01662 3,98361 0,00269

Адитивнийгенератор

4 0,05103 0,01740 4,22484 0,002756 0,05066 0,01613 3,88696 0,002388 0,04901 0,01601 3,95014 0,00250

КвантовийГВЧ

4 0,04700 0,01555 3,66197 0,002146 0,04974 0,01709 3,97397 0,002328 0,05255 0,01612 4,03652 0,00220

Вихор Мерсенна 0,05005 0,01960 4,70412 0,00342Квантовий ГВЧ 0,05194 0,01599 3,88178 0,00262

Оцифровані радіошуми 0,04803 0,01733 4,03954 0,00287

Відповідно до теореми Бернуллі [101], відхилення частості потрапляння

статистики /-критерію Стьюдента в критичну область від ймовірності (заданого

рівня значущості) прямує до нуля у випадку зростання кількості вимірювань. Для

довірчої ймовірності, прийнятої на рівні 0,95, аналізованих 214 значень емпіричних

нормованих коефіцієнтів автокореляції і теоретичної ймовірності 0,05 довірчим

інтервалом [101] для частості потрапляння статистики /-критерію Стьюдента в

критичну область є інтервал (0,04666, 0,05334), який покриває всі отримані

значення частості.

Оцінимо, крім того, максимальні абсолютні значення емпіричних нормованих

коефіцієнтів автокореляції т а х \тх (т)|, а також максимальні абсолютні значення

нормованих статистик г*(т) = [г (т) - М г(т)\/аг(т) для всіх оцінок АКФ.

Застосування методики, викладеної в [106], дозволяє показати, що

М г (т) = -(п - 1)-1, а відповідно до [103] <уг (т) * у/1/(п - т) для великих значень п.

Результати аналізу представлені також в таблиці 4. 11 , де крім безпосередньо

Page 126: Diss Lavdanskiy

максимальних значень max |г**(г)|, представлена частість перевищення величиною

|гх*(г)| значення 3 (з метою перевірки виконання "правила трьох сигм").

Аналіз максимальних абсолютних значень емпіричних нормованих

коефіцієнтів автокореляції свідчить про відсутність значущих кореляційних

сплесків для всіх оцінок АКФ. Практично всі оцінки частості перевищення

абсолютних значень нормованих статистик г*х {т)\ значення 3 лежать в межах

довірчого інтервалу (0,00191, 0,00349) з довірчою ймовірністю 0,95. Слід зазначити

тільки те, що такий показник для послідовності, сформованої комбінаційним

генератором з шістьма первинними таблицями перестановок і їх заповненням за

допомогою лінійного конгруентного методу, лежить нижче нижньої межі

довірчого інтервалу (що може свідчити про меншу вибіркову дисперсію наведених

оцінок коефіцієнтів автокореляції), а для вихору Мерсенна практично дорівнює

верхній межі довірчої ймовірності.

Проведене дослідження розподілу максимальних абсолютних значень

нормованих статистик rx(r) на 1000 вибірках для кожного генератора показує їх

однорідність для всіх розглянутих джерел, тому відхилення представлених в

таблиці 4. 11 статистик (зокрема, для вихору Мерсенна і комбінаційного генератора

з шістьма первинними таблицями перестановок і їх заповненням за допомогою

лінійного конгруентного методу) не слід вважати значимим і закономірним.

Дослідження, проведене у [26], показало відповідність розподілу значень

нормованих коефіцієнтів автокореляції ненульового порядку нормальному закону

з математичним сподіванням у нульовій точці.

4.3.1. Аналіз розподілу знаків бічних пелюсток автокореляційної функції

Виконаємо заміну всіх додатних значень оцінок АКФ знаком "+", від’ємних -

знаком "-". Проведемо аналіз розподілу знаків в отриманих послідовностях за

допомогою статистичних критеріїв знаків [83], [101] і серій [83]. Результати аналізу

зведемо в таблицю 4.12.

117

Page 127: Diss Lavdanskiy

Таблиця 4.12

Розрахункові та критичні значення статистик критеріїв знаків і серій для знаків

118

бічних пелюсток оцінок АКФ

Заповненняпервинних

таблицьперестановок

Кількістьпервиннихтаблиць

перестановок

Розрахункове значення статистики Fb1, Fb2

критерію знаків

Розрахункове значення

статистики Sb критерію серій

Джер

ело

ПВП

Комб

інац

ійни

й ге

нера

тор Лінійний

конгруентнийметод

4 Fвl=1,0201 Fв2=0,9801 -1,05766 Fвl=1,0228 Fв2=0,9774 -1,52288 Fвl=0,9950 Fe2=1,0048 2,5555

Адитивнийгенератор

4 Fhi=1,0136 Fв2=0,9863 -1,33016 Fвl=1,0058 Fв2=0,9940 1,80598 Fвl=0,9962 Fe2=1,0035 0,5551

КвантовийГВЧ

4 Fвl=0,9902 Fe2=1,0097 0,49536 Fвl=1,0176 Fв2=0,9825 -2,24828 Fвl=1,0161 Fв2=0,9839 -1,2652

Вихор Мерсенна Fвl=0,9996 Fe2=1,0001 0,7422Квантовий ГВЧ Fвl=1,0174 Fв2=0,9827 0,9394

Оцифровані радіошуми Fвl=1,0139 Fв2=0,9861 0,0921Критична область статистики критерію Fв>1,0311 |sb |>2,567

Результати перевірки підтверджують гіпотезу про рівноймовірність додатного

і від’ємного знаків оцінок АКФ для критерію знаків і гіпотезу про випадковість

розташування додатних і від’ємних знаків оцінок АКФ для критерію серій.

4.3.2. Аналіз розподілу к-грам для знаків бічних пелюсток

автокореляційної функції

З метою перевірки статистичної гіпотези про рівномірний розподіл знаків

бічних пелюсток оцінок АКФ у к-вимірному просторі в роботі використовується

критерій / 2 [101]. Проведемо заміну всіх додатних значень оцінок АКФ одиницею,

від’ємних - нулем. За допомогою критерію X2 оцінимо розподіл нулів і одиниць в

послідовності, а також розподіл к-грам для к>2. З [1] відомо, що Ь-кова

послідовність довжини V випадкова, якщо вона ^-розподілена для всіх позитивних

цілих чисел k<\ogbV. Таким чином, достатньо провести оцінювання розподілу к-

грам знаків бічних пелюсток для к < ^ 2Г. Але за такої умови очікувані частоти

появи к-грам для максимальних значень к будуть менші одиниці, що є

Page 128: Diss Lavdanskiy

неприйнятним для критерію / 2. Для використання критерію потрібно, щоб в 80%

випадків очікувані частоти були більші значення 5. Тому в роботі верхня межа

значення к вибирається таким чином, щоб виконувалась нерівність [Т/к\ /2 к > 5.

Таким чином, для об’єму вибірки п=216 Т=214, 1<к<8. Результати дослідження

наведені в таблиці 4.13.

В силу наявності випадків потрапляння статистики в критичну область, в тому

числі і для оцифрованих радіошумів, отримані результати не можуть свідчити про

те, що розподіли к-грам для знаків оцінок нормованих АКФ для досліджуваних

послідовностей чисел є рівномірними.

Розглянемо частість Р * ( 2 > ( 95 2* х) попадання статистики х2 в критичну

область для #=1000 вибірок оцифрованих радіошумів (таблиця 4.14). Для довірчої

ймовірності, прийнятої на рівні 0,95, аналізованих #=1000 значень статистики і

теоретичної ймовірності 0,05 довірчим інтервалом для частості потрапляння

статистики х2 в критичну область є інтервал (0,036, 0,064).

119

Page 129: Diss Lavdanskiy

Таблиця 4.13

Результати дослідження розподілу £-грам для знаків бічних пелюсток оцінок

120

нормованих АКФ

Заповненняпервиннихтаблиць

перестановок

Кількістьпервиннихтаблиць

перестановок

Розрахункове значення статистики / 2 для к

1 2 3 4 5 6 7 8

Джер

ело

ПВП

Комб

інац

ійни

й ге

нера

тор Лінійний

конгруентни й метод

4 1,64 1,69 4,40 15,02 26,33 52,71 88,83 263,006 2,11 3,88 13,83 18,40 30,14 68,89 134,67 238,508 0,10 3,03 ь5,14 13,72 30,74 90,50 142,76

Адитивнийгенератор

4 0,77 1,77 10,02 13,46 23,79 59,09 250,756 0,14 1,30 4,78 14,20 41,06 55,81 122,85 226,008 0,05 0,54 1,85 13,20 26,51 44,69 93,85 229,25

КвантовийГВЧ

4 0,39 0,54 21,87 9,97 28,67 80,42 101,41 257,256 1,27 1,50 5,93 15,58 28,42 61,95 146,81 239,258 1,06 2,38 2,55 12,37 56,22 69,17 137,18 245,25

Вихор Мерсенна 0,00 10,27 5,95 17,10 24,73 57,96 148,78 246,75Квантовий ГВЧ 1,23 1,46 16,13 28,91 33,17 74,33 126,79 295,00

Оцифровані радіошуми 0,73 5,11 21,51 17,70 31,30 58,76 151,19 211,50Критична область

статистики критерію% > %\-а,2к-1

%0.95,2к-1 3,84 7,81 14,07 25,00 44,99 82,53 154,30 293,25

г 2 =/10.99,2к-1 6,63 11,34 18,48 30,58 52,19 92,01 166,99 310,46

Таблиця 4.14

Частість потрапляння статистики в критичну область для #=1000 вибірок

оцифрованих радіошумів

к 1 2 3 4 5 6 7 8Р* ( 2 > %2 )\/1 0.95,2к -І-' 0,027 0,071 0,080 0,070 0,076 0,078 0,059 0,053

Згідно з результатами дослідження, більшість отриманих частостей

перевищують верхню межу довірчого інтервалу. Таким чином, гіпотезу про

рівномірність розподілу знаків бічних пелюсток оцінок АКФ в к-вимірному

просторі за к>2, незважаючи на його близькість до рівномірного розподілу, слід

відхилити. Для к=1 ця гіпотеза підтверджується для всіх досліджуваних

послідовностей.

Page 130: Diss Lavdanskiy

121

Невідповідність закону розподілу знаків бічних пелюсток оцінок АКФ в к-

вимірному просторі за к>2 рівномірному закону свідчить про наявність кореляції

обчислених по (4.1) коефіцієнтів автокореляції гх(т1) і гх(ту).

4.3.3. Опис методу оцінювання статистичних властивостей

послідовності рівномірно розподілених чисел на основі її

автокореляційної функції

Наведемо розроблений метод оцінювання статистичних властивостей

послідовності знаків коефіцієнтів автокореляції ненульового порядку у вигляді

послідовності кроків:

1. розрахунок коефіцієнтів автокореляції досліджуваної послідовності;

2. оцінювання відповідності розподілу значень коефіцієнтів автокореляції

нормальному закону;

3. оцінювання відповідності розподілу знаків коефіцієнтів автокореляції

рівномірному закону за допомогою статистичних критеріїв (наприклад,

непараметричних критеріїв серій і знаків);

4. оцінювання відповідності розподілу к-грам знаків коефіцієнтів автокореляції

рівномірному закону на основі статистичних критеріїв (наприклад, за

допомогою критерію узгодженості Пірсона х2).

Зазначимо, що запропонований метод оцінювання розподілу к-грам знаків

бічних пелюсток АКФ можна застосовувати також для коефіцієнтів автокореляції,

обчислених за виразом, відмінним від (4.1). Наприклад, усі бічні пелюстки

періодичної АКФ (ПАКФ) М-послідовності характеризуються постійним

значенням (-1/Т, де Т=2п-1 - період М-послідовності, п - степінь генераторного

поліному). Тому послідовність знаків коефіцієнтів автокореляції ненульового

порядку буде представляти послідовність однакових значень. Очевидно, що

застосування запропонованого методу до такої послідовності дозволить виявити її

статистичні відхилення. Також легко показати, що послідовності Баркера теж не

задовольняють вимогам рівномірного розподілу к-грам знаків бічних пелюсток

АКФ.

Основні наукові результати, викладені в цьому пункті, наведено в роботах

автора [26], [102].

Page 131: Diss Lavdanskiy

122

4.4. Висновки

У четвертому розділі вперше розроблено метод оцінювання статистичних

властивостей послідовності рівномірно розподілених чисел на основі дослідження

її АКФ шляхом визначення статистичних властивостей послідовності знаків

коефіцієнтів автокореляції, що дало можливість виявити її статистичні відхилення.

Розроблений метод дозволяє виконувати чисельну оцінку АКФ для подальших

висновків щодо статистичних властивостей досліджуваної послідовності а також

проводити порівняння різних методів формування ПВП.

Результати використання розробленого методу оцінювання АКФ показують:

- аналіз кореляційних зв'язків випадкових послідовностей чисел

(оцифрованих радіошумів, квантового генератора) і псевдовипадкових

послідовностей чисел (породжених комбінаційним генератором з комбінуючою

функцією підсумовування за модулем М і алгоритмом вихор Мерсенна) за

допомогою оцінок їх автокореляційних функцій показує відсутність у них лінійної

залежності;

- незважаючи на те, що результати аналізу розподілу знаків бічних пелюсток

оцінок АКФ за (4.1) випадкових і псевдовипадкових послідовностей чисел за

допомогою критеріїв знаків і серій свідчать про рівноймовірність і випадковість

розташування додатного і від’ємного знаків оцінок АКФ, результати аналізу

розподілу £-грам для знаків оцінок нормованих АКФ не можуть свідчити про їх

рівномірний розподіл за к>2 для всіх досліджуваних послідовностей чисел.

У результаті дослідження не виявлено залежності кореляційних властивостей

послідовності чисел комбінаційного генератора на основі функції підсумовування

за модулем від його структури (кількості первинних таблиць перестановок (4 або

8) і їх заповнення (за допомогою ЛКМ, адитивного або квантового генератора)).

Таким чином, для отримання високоякісної ПВП достатньо використання лише 4

первинних ГПВЧ незалежно від їх типу (в межах досліджених у роботі типів).

Проведене в четвертому розділі дослідження розроблених у попередніх

розділах методів формування ПВП на основі існуючих методів тестування показує:

- у процесі тестування послідовностей, що породжуються комбінаційним

генератором на основі підсумовування за модулем М , з використанням графічних

Page 132: Diss Lavdanskiy

123

тестів встановлено: гістограма розподілу слів послідовності підтверджує

рівномірний розподіл слів; аналіз тесту розподілу на площині не показав будь-яких

візерунків на отриманому зображенні; відсутні сплески бічних пелюсток на

автокореляційній функції, що показує відсутність кореляції між символами

послідовності; графічний спектральний тест показує відсутність значних сплесків

гармонік; профіль лінійної складності показує лінійне збільшення складності

послідовностей;

- для послідовностей псевдовипадкових чисел, що породжуються

комбінаційним генератором на основі підсумовування за модулем M, з числом

первинних генераторів (таблиць перестановок) - 3 і більше і їх заповненням за

допомогою ЛКМ, адитивного генератора і квантового ГВЧ встановлено успішне

проходження пакетів статистичного тестування NIST та Diehard;

- успішне проходження статистичного пакету тестування TestU01 в

максимально суворому режимі (BigCrush) підтверджує відповідність статистичних

властивостей послідовності на виході комбінаційного генератора на основі

підсумовування за модулем M з використанням ЛКМ в якості первинних

генераторів статистичним властивостям випадкових чисел;

- результат застосування непараметричних критеріїв підтверджує

однорідність досліджуваних послідовностей з випадковою послідовністю чисел

(критерій знаків) і випадковість слів на виході комбінаційного генератора на основі

підсумовування за модулем M (критерій серій);

- нульове значення помилки відтворення рівномірного закону розподілу для

послідовностей первинних ГПВЧ і комбінаційного ГПВЧ на основі

мультиплексування підтверджує можливість використання запропонованих ГПВЧ

у якості генераторів перестановок;

Сформульовані результати мають теоретичну і практичну цінність під час

використання генераторів випадкових та псевдовипадкових чисел, у тому числі

комбінаційного генератора на основі підсумовування за модулем M та

мультиплексування у задачах, що потребують високоякісних псевдовипадкових

послідовностей.

Page 133: Diss Lavdanskiy

ВИСНОВКИ

124

У дисертаційній роботі вирішено актуальну науково-технічну задачу, яка

полягає в покращенні статистичних властивостей та збільшенні періоду

повторення послідовностей псевдовипадкових чисел шляхом розробки нових та

вдосконалення існуючих методів та засобів їх формування, а також у розробці

методу оцінювання статистичних властивостей ПВП, що дає можливість виявити

не визначені і не оцінені раніше закономірності.

Найбільш значущі наукові результати роботи полягають у наступному:

1) вперше розроблено метод формування псевдовипадкової послідовності на

основі лінійного конгруентного генератора та регістра зсуву з лінійними

зворотними зв’язками шляхом конкатенації циклів генератора, що дозволило

формувати послідовність перестановок для довільних значень його

параметрів;

2) вперше розроблено метод оцінювання статистичних властивостей

послідовності рівномірно розподілених чисел на основі дослідження її

автокореляційної функції шляхом визначення статистичних властивостей

послідовності знаків коефіцієнтів автокореляції, що дозволяє виявити її

статистичні відхилення;

3) набув подальшого розвитку метод формування псевдовипадкової

послідовності на основі комбінації генераторів псевдовипадкових чисел

шляхом комбінування перестановок за допомогою функції підсумовування

за модулем або мультиплексування, що дозволив покращити статистичні

властивості послідовності та збільшити період її повторення.

На основі запропонованих рішень виконано розробку алгоритмів і

структурних схем пристроїв, що дають можливість виконати їх практичну

реалізацію. Розроблено алгоритми та структурні схеми пристроїв для:

• формування послідовностей перестановок на основі генераторів з

використанням ЛКМ і РЗЛЗЗ в якості первинних. Використання

запропонованої схеми дозволяє:

Page 134: Diss Lavdanskiy

- для ЛКМ при М=2п збільшити до 8 разів потужність множини

доступних для використання параметрів (розмірність ключового

простору);

- збільшити період перестановок до значення ( п іг )* й\

перестановок ( Ш *&*м чисел) за рахунок проведення

перемішування циклів (й - кількість циклів, їі - довжина кожного

циклу);

• формування рівномірно розподілених псевдовипадкових чисел,

розрядність яких перевищує розрядність обчислювальної платформи

незалежних первинних генераторів, над якими проводиться

конкатенація. Використання запропонованої схеми дає можливість

збільшити розрядність слова ПВП в 2 і більше раз;

• формування псевдовипадкових перестановок на основі функції

підсумовування за модулем М слів множини первинних генераторів

дозволяє збільшити період ПВП до значення т= п : д , де Ті - період

повторення /-го первинного генератора;

• формування псевдовипадкових послідовностей на основі функції

мультиплексування дозволяє збільшити період повторення в N раз (де

N - кількість первинних генераторів) та виконати перемежовування

перестановок від різних генераторів.

Розроблено методику формування рівномірно розподіленої

псевдовипадкової послідовності чисел, що відрізняється перевищенням

розрядності формованих чисел над розрядністю обчислювальної платформи за

рахунок конкатенації слів, утворених незалежними первинними генераторами

рівномірно розподілених випадкових або псевдовипадкових чисел.

Розроблено методику визначення часу відтворення повного періоду

послідовності на виході ГПВЧ з урахуванням розвитку обчислювальної техніки для

довільного значення підвищення швидкодії, що дозволяє розрахувати час

відтворення періоду послідовності слів за регулярної заміни обчислювального

обладнання

125

Page 135: Diss Lavdanskiy

Розроблено програмний засіб на базі .NET Framework, що має самостійне

практичне застосування і дозволяє виконувати оцінку статистичних властивостей

послідовностей чисел за допомогою графічних тестів.

Достовірність результатів дисертаційної роботи підтверджується

експериментальними дослідженнями отриманих ПВП на основі як існуючих

методів дослідження, так і за допомогою запропонованого у четвертому розділі

методу чисельного оцінювання АКФ. Результати експериментальних досліджень

наведено в додатках та докладно розглянуто в четвертному розділі.

Результати дисертаційної роботи впроваджено на ДП НДІ "Акорд" (система

дистанційного зв’язку, контролю та управління віддаленими об’єктами) та в

освітньому процесі Черкаського державного технологічного університету (в циклі

дисциплін "Захист інформації в комп’ютерних системах" та "Основи теорії

інформації та кодування").

126

Page 136: Diss Lavdanskiy

127

Список використаних джерел

[1] д. Э. Кнут, Искусство программирования, том 2. Получисленные

алгоритмы, 3-е изд. Москва: Вильямс, 2001.

[2] M. Matsumoto and T. Nishimura, "Mersenne twister: a 623-dimensionally

equidistributed uniform pseudo-random number generator", ACM Transactions

on Modeling and Computer Simulation, vol. 8, no. 1, pp. 3-30, Jan. 1998.

[3] D. H. Lehmer, "Mathematical methods in large-scale computing units",

Proceedings of a Second Symposium on Large-Scale Digital Calculating

Machinery, pp. 141-146, 1949.

[4] G. Marsaglia, "Random Number Generators", Journal o f Modern Applied

Statistical Methods, vol. 2, no. 1, pp. 2-13, May 2003.

[5] G. Marsaglia, "Xorshift RNGs", Journal o f Statistical Software, vol. 8, no. 14,

2003.

[6] P. L ’Ecuyer, R. Simard, E. J. Chen, and W. D. Kelton, "An object-oriented

random-number package with many long streams and substreams", Operations

research, vol. 50, no. 6, pp. 1073-1075, 2002.

[7] P. L ’Ecuyer, "Efficient and portable combined random number generators",

Communications o f the ACM, vol. 31, no. 6, pp. 742-751, 1988.

[8] P. L ’Ecuyer, "Good parameters and implementations for combined multiple

recursive random number generators", Operations Research, vol. 47, no. 1, pp.

159-164, 1999.

[9] P. L ’Ecuyer and R. Simard, "TestU01: A C library for empirical testing of

random number generators", ACM Transactions on Mathematical Software, vol.

33, no. 4, p. 22, Aug. 2007.

[10] Б. Шнайер, Прикладная криптография. Протоколы, алгоритмы, исходные

тексты на языке Си. Триумф, 2012.

[11] L. Blum, M. Blum, and M. Shub, "A Simple Unpredictable Pseudo-Random

Number Generator", SIAM Journal on Computing, vol. 15, no. 2, pp. 364-383,

May 1986.

Page 137: Diss Lavdanskiy

[12] L. Blum, M. Blum, and M. Shub, "Comparison of Two Pseudo-Random Number

Generators", in Advances in Cryptology, D. Chaum, R. L. Rivest, and A. T.

Sherman, Eds. Boston, MA: Springer US, 1983, pp. 61-78.

[13] М. А. Иванов и И. В. Чугунков, Теория, применение и оценка качества

генераторов псевдослучайных последовательностей. Москва: Кудиц -

Образ, 2003.

[14] Л. Ю. Бараш и Л. Н. Щур, "Генерация случайных чисел и параллельных

потоков случайных чисел для расчетов Монте-Карло", Моделирование и

анализ информационных систем, т. 19, № 2, с. 145-161, 2012.

[15] Г. Халимов, "Оценка параметров кривых Ферма для универсального

хеширования", Радіоелектроніка, інформатика, управління, №2 1 (24), с. 82,

2011.

[16] Г. Халимов, "Оценки коллизионной стойкости универсального

хеширования по алгебраическим кривым", Системи озброєння і військова

техніка, № 1, с. 135-140, 2013.

[17] А. Корченко, С. Казмірчук, А. Гізун, В. Волянська, и С. Гнатюк, "Защита

персональных данных методом маскирования", Захист інформації, №2 15,№

4, с. 387-393, 2013.

[18] А. Стасюк, А. Корченко, и А. Малофеев, "Использование теории нечетких

множеств для выбора криптографических алгоритмов шифрования",

Захист інформації, т. 12, № 2 (47), с. 12-20, 2010.

[19] И. Горбенко и К. Лисицкий, "О динамике прихода шифров к случайной

подстановке при использовании S-блоков с показателями нелинейности

близкими к предельным", Радиотехника: Всеукр. межвед. науч.-техн. сб.,

№ 176, с. 27-29, 2014.

[20] А. Борисенко и А. Горячев, "Обнаружение ошибок на основе

перестановок", Известия Юго-Западного государственного университета.

Серия: Управление, вычислительная техника, информатика. Медицинское

приборостроение, № 3, с. 14-19, 2013.

Page 138: Diss Lavdanskiy

[21] А. С. Береза, А. А. Лавданский, В. В. Швыдкий, и Э. В. Фауре, "Генерация

конгруэнтных последовательностей чисел с наперед заданными

свойствами", Вісник Черкаського державного технологічного

університету, № 2, с. 3-8, 2012.

[22] Ю. Г. Лега, Э. В. Фауре, и А. А. Лавданский, "Технология генерации

случайных последовательностей с большой разрядностью чисел", Вісник

Черкаського державного технологічного університету, № 3, с. 3-8, 2012.

[23] А. А. Лавданский, В. В. Швыдкий, и Э. В. Фауре, "Метод формирования

последовательностей случайных чисел и его использование в системах

потокового шифрования", Вісник Черкаського державного технологічного

університету, № 1, с. 5-10, 2013.

[24] А. А. Лавданский и Э. В. Фауре, "Оценка статистических свойств

последовательностей на выходе комбинационного генератора с помощью

графических тестов", Системні дослідження та інформаційні технології,

№ 2, с. 39-50, 2015.

[25] А. А. Лавданский и Э. В. Фауре, "Комбинационный метод формирования

последовательности псевдослучайных чисел", в Системний аналіз та

інформаційні технології: матеріали 16-ї Міжнародної науково-технічної

конференції SAIT 2014, Київ, 2014, с. 403-404.

[26] Э. В. Фауре, А. И. Щерба, и А. А. Лавданский, "Анализ корреляционных

свойств последовательностей (псевдо) случайных чисел", Наука і техніка

Повітряних Сил Збройних Сил України, № 1(18), с. 142-150, 2015.

[27] Э. В. Фауре, А. И. Щерба, и А. А. Лавданский, "Оценка статистических

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

комбинационным генератором", Комп ’ютерно-інтегровані технології:

освіта, наука, виробництво, № 18, с. 165-171, 2015.

[28] А. А. Лавданский, Э. В. Фауре, и А. И. Щерба, "Статистическая

характеристика последовательности чисел комбинационного генератора", в

Автоматизація та комп ’ютерно-інтегровані технології у виробництві та

129

Page 139: Diss Lavdanskiy

освіті: стан, досягнення, перспективи розвитку: матеріали Всеукраїнської

науково-практичної Internet-конференції, Черкаси, 2015, с. 51-52.

[29] Ю. Г. Лега, В. В. Швидкий, Е. В. Фауре, А. І. Щерба, і А. О. Лавданський,

"Спосіб двоконтурного поточного шифрування", МПК H04L 9/18 (2006.01),

№82044, 25-Лип-2013.

[30] А. О. Лавданський, Е. В. Фауре, В. В. Швидкий, і А. І. Щерба, "Спосіб

формування послідовності рівномірно розподілених випадкових чисел",

МПК G06F 7/58 (2006.01), №86718, 10-Січ-2014.

[31] Ю. Г. Лега, В. В. Швидкий, Е. В. Фауре, О. С. Лісіцина, і А. О. Лавданський,

"Спосіб формування послідовності випадкових чисел", МПК G06F 7/58

(2006.01), №86705, 10-Січ-2014.

[32] А. А. Лавданский и Э. В. Фауре, "Способ определения структуры графа

состояний линейного конгруэнтного генератора", в Автоматизація та

комп’ютерно-інтегровані технології у виробництві та освіті: стан,

досягнення, перспективи розвитку: матеріали Всеукраїнської науково-

практичної Internet-конференції, Черкаси, 2013, с. 110-112.

[33] J. Soto, "Statistical testing of random number generators", in Proceedings o f the

22nd National Information Systems Security Conference, 1999, vol. 10, p. 12.

[34] М.В. Лаврів і Л.Б. Петришин, "Методи і засоби генерування

псевдовипадкових сигналів із рівномірним розподілом та аналіз результатів

дослідження їх статистичних характеристик", Міжнародний науково-

технічний журнал “Інформаційні технології та комп ’ютерна інженерія ",

№ 2, с. 56-62, 2009.

[35] В. С. Стогниенко, "Разработка и экспериментальные исследования

алгоритмов тестирования случайных чисел и их приложения к некоторым

задачам криптографии", Рос. акад. наук, Сиб. отд-ние, Ин-т вычислит.

технологий Новосибирск, 2004.

[36] І. Горбенко, Н. Шапочка, і О. Козулін, "Обґрунтування вимог до

генераторів випадкових бітів згідно ISO/IEC 18031", Радіоелектронні і

комп ’ютерні системи, № 6, с. 94-97, 2009.

130

Page 140: Diss Lavdanskiy

[37] О. І. Гарасимчук і В. М. Максимович, "Генератори псевдовипадкових

чисел, їх застосування, класифікація, основні методи побудови і оцінка

якості", Захист інформації, т. 5, № 3 (16), с. 29-36, 2003.

[38] И. М. Ажмухамедов и Н. А. Колесова, "Методика оценки качества

последовательности случайных чисел", Вестник Астраханского

государственного технического университета. Серия: Управление,

вычислительная техника и информатика, № 2, 2010.

[39] А. Кузнецов, Р. Королев, и Ю. Рябуха, "Исследование статистической

безопасности генераторов псевдослучайных чисел", Системи обробки

інформації, № 3, с. 79-82, 2008.

[40] В. Н. Задорожный, "О качестве программных генераторов случайных

чисел", Омский научный вестник, № 2 (80), 2009.

[41] В. В. Шахов, "Обзор и сравнительный анализ библиотек генераторов

псевдослучайных чисел", Проблемы информатики, № 2, с. 66-74, 2010.

[42] А. Потий, С. Орлова, и Т. Гриненко, "Статистическое тестирование

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

статистических тестов NIST STS", Правове , нормативне та метрологічне

забезпечення системи захисту інформації в Україні, № 2, с. 206-214, 2001.

[43] Э. В. Фауре, А. С. Береза, и Е. А. Ярославская, "Оценка точности

воспроизведения закона распределения дискретной случайной величины

при ее преобразовании", Вестник Хмельницкого национального

университета, № 5, с. 176-182, 2012.

[44] А. А. Лавданский, "Оценка качества генераторов псевдослучайных чисел

по величине ошибки воспроизведения закона распределения", Вісник

Хмельницького національного університету. Технічні науки, № 1, с. 113-117,

2014.

[45] A. J. Martino and G. M. Morris, "Optical random number generator based on

photoevent locations", Applied optics, vol. 30, no. 8, pp. 981-989, 1991.

131

Page 141: Diss Lavdanskiy

[46] F. Devos, P. Chavel, and P. Garda, "Optical generation of random-number arrays

for on-chip massively parallel Monte Carlo cellular processors", Optics letters,

vol. 12, no. 3, pp. 152-154, 1987.

[47] D. Ranasinghe, D. Lim, S. Devadas, D. Abbott, and P. Cole, "Random numbers

from metastability and thermal noise", Electronics Letters, vol. 41, no. 16, pp.

891-893, 2005.

[48] C. S. Petrie and J. A. Connelly, "A noise-based IC random number generator for

applications in cryptography", IEEE Transactions on Circuits and Systems I:

Fundamental Theory and Applications, vol. 47, no. 5, pp. 615-621, 2000.

[49] "RANDOM.ORG - True Random Number Service". [Електронний ресурс].

Доступно: https://www.random.org/. [Дата звернення: 24-Лют-2016].

[50] "High Bit Rate Quantum Random Number Generator Service". [Електронний

ресурс]. Доступно: http://qrng.physik.hu-berlin.de/. [Дата звернення: 24-Лют-

2016].

[51] M. Stipcevic and B. M. Rogina, "Quantum random number generator based on

photonic emission in semiconductors", Review o f scientific instruments, vol. 78,

no. 4, p. 045104, 2007.

[52] T. Symul, S. Assad, and P. K. Lam, "Real time demonstration of high bitrate

quantum random number generation with coherent laser light", Applied Physics

Letters, vol. 98, no. 23, p. 231103, 2011.

[53] M. Hai-Qiang et al., "A random number generator based on quantum entangled

photon pairs", Chinese Physics Letters, vol. 21, no. 10, p. 1961, 2004.

[54] S. Srinivasan et al., "2.4GHz 7mW all-digital PVT-variation tolerant True

Random Number Generator in 45nm CMOS", in 2010 Symposium on VLSI

Circuits, 2010, pp. 203-204.

[55] P. L ’Ecuyer, Random number generation. Springer, 2012.

[56] J. E. Gentle, Random number generation and Monte Carlo methods. Springer

Science & Business Media, 2013.

132

Page 142: Diss Lavdanskiy

[57] M. Manssen, M. Weigel, and A. K. Hartmann, "Random number generators for

massively parallel simulations on GPU", The European Physical Journal-Special

Topics, vol. 210, no. 1, pp. 53-71, 2012.

[58] N. Nandapalan, R. P. Brent, L. M. Murray, and A. P. Rendell, "High-performance

pseudo-random number generation on graphics processing units", in

International Conference on Parallel Processing and Applied Mathematics,

2011, pp. 609-618.

[59] C. Fontaine, "Linear congruential generator", Encyclopedia o f Cryptography and

Security, pp. 721-721, 2011.

[60] S. Tezuka, "Linear Congruential Generators", in Uniform Random Numbers,

Springer, 1995, pp. 57-82.

[61] K. Entacher, "Bad subsequences of well-known linear congruential

pseudorandom number generators", ACM Transactions on Modeling and

Computer Simulation (TOMACS), vol. 8, no. 1, pp. 61-70, 1998.

[62] J. Stern, "Secret linear congruential generators are not cryptographically secure",

in Foundations o f Computer Science, 1987., 28th Annual Symposium on, 1987,

pp. 421-426.

[63] E. El Mahassni and I. Shparlinski, "On the uniformity of distribution of

congruential generators over elliptic curves", in Sequences and their

Applications, Springer, 2002, pp. 257-264.

[64] S. Hallgren, Linear congruential generators over elliptic curves. Carnegie-

Mellon University. Department of Computer Science, 1994.

[65] M. Mascagni, "Parallel linear congruential generators with prime moduli",

Parallel Computing, vol. 24, no. 5, pp. 923-936, 1998.

[66] Т.В. Митянкина, В.В. Швыдкий, и А.И. Щерба, "Рандомизация

последовательности конгруэнтных чисел", Вестник Инженерной академии

Украины, № 2, с. 107-111, 2008.

[67] E. R. Berlekamp, Algebraic coding theory, Revised edition. New Jersey: World

Scientific, 2015.

133

Page 143: Diss Lavdanskiy

[68] J. Massey, "Shift-register synthesis and BCH decoding", IEEE Transactions on

Information Theory, vol. 15, no. 1, pp. 122-127, Jan. 1969.

[69] C. Ding, "Blum-blum-shub generator", Electronics Letters, vol. 33, no. 8, p. 677,

1997.

[70] "random.cs". [Електронний ресурс]. Доступно:

http://referencesource.microsoft.com/#mscorlib/system/random.cs,bb77e61069

4e64ca. [Дата звернення: 25-Лют-2016].

[71] X. Yang, R. Itoi, and M. Tanaka-Yamawaki, "Testing randomness by means of

RMT formula", Intelligent Decision Technologies, pp. 589-596, 2011.

[72] S. Harase, "On the-linear relations of Mersenne Twister pseudorandom number

generators", Mathematics and Computers in Simulation, vol. 100, pp. 103-113,

2014.

[73] С. В. Белим и А. Ю. Шерешик, "Тестирование генераторов

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

Изинга", Наука и образование: научное издание М ГТУ им. НЭ Баумана, №

9, с. 27-27, 2012.

[74] U. Blöcher and M. Dichtl, "Fish: A fast software stream cipher", in Fast Software

Encryption, vol. 809, R. Anderson, Ed. Berlin, Heidelberg: Springer Berlin

Heidelberg, 1994, pp. 41-44.

[75] R. Anderson, "On Fibonacci keystream generators", in Fast Software Encryption,

vol. 1008, B. Preneel, Ed. Berlin, Heidelberg: Springer Berlin Heidelberg, 1995,

pp. 346-352.

[76] P. Geffe, "How to protect data with ciphers that are really hard to break",

Electronics, vol. 46, no. 1, pp. 99-101, Jan. 1973.

[77] T. Beth and F. C. Piper, "The Stop-and-Go-Generator", in Advances in

Cryptology: Proceedings o f EUROCRYPT 84 A Workshop on the Theory and

Application o f Cryptographic Techniques Paris, France, April 9 - 11, 1984, T.

Beth, N. Cot, and I. Ingemarsson, Eds. Berlin, Heidelberg: Springer Berlin

Heidelberg, 1985, pp. 88-92.

134

Page 144: Diss Lavdanskiy

[78] Ю. Буценко, Г. Розоринов, и Ю. Савченко, "Общее и селективное

тестирование псевдослучайных битовых последовательностей", Сучасний

захист інформації, № 2, с. 16-21, 2014.

[79] Н. А. Колесова, "Оценка качества генераторов последовательностей

случайных чисел", Вестник Астраханского государственного

технического университета. Серия: Управление, вычислительная техника

и информатика, № 1, с. 119-123, 2011.

[80] Н. Казакова и Ю. Щербина, "Проблемы оценки качества работы

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

последовательностей", Збірник наукових праць Одеської державної

академії технічного регулювання та якості, № 1, с. 32-36, 2013.

[81] "The Marsaglia Random Number CDROM including the Diehard Battery of

Tests". [Електронний ресурс]. Доступно: http://stat.fsu.edu/pub/diehard/.

[Дата звернення: 24-Лют-2016].

[82] K. Pearson, "On the criterion that a given system of deviations from the probable

in the case of a correlated system of variables is such that it can be reasonably

supposed to have arisen from random sampling", Philosophical Magazine Series

5, vol. 50, no. 302, pp. 157-175, Jul. 1900.

[83] Большев Л.Н. и Смирнов Н.В., Таблицы математической статистики.

Москва: Наука, 1983.

[84] B. Schneier, Applied cryptography: protocols, algorithms, and source code in C,

2nd ed. New York: Wiley, 1996.

[85] Chaoping Xing and Kwok Yan Lam, "Sequences with almost perfect linear

complexity profiles and curves over finite fields", IEEE Transactions on

Information Theory, vol. 45, no. 4, pp. 1267-1270, May 1999.

[86] W. Knight and D. M. Bloom, "A Birthday Problem", The American Mathematical

Monthly, vol. 80, no. 10, p. 1141, Dec. 1973.

[87] В. В. Швыдкий, Э. В. Фауре, В. В. Веретельник, и В. А. Щерба, "Генерация

стохастической последовательности генератором конгруэнтных чисел",

Системи обробки інформації, № 3(1), с. 74-80, 2012.

135

Page 145: Diss Lavdanskiy

[88] А. О. Гельфонд, Решение уравнений в целых числах. Наука, 1978.

[89] Е. Лисицына, "Исследование циклов генераторов на регистрах сдвига с

обратными связями", Вісник Хмельницького національного університету.

Технічні науки, № 1, с. 121-125, 2014.

[90] А. А. Лавданский, "Оценка времени формирования последовательности

чисел с учетом повышения производительности вычислительных блоков",

The scientific potential o f the present: Proceedings o f the International Scientific

Conference December 1, 2016 in the city St. Andrews, Scotland, UK, с. 123-126,

2016.

[91] А. О. Лавданський, "Оцінка часу формування послідовності

псевдовипадкових чисел", в Проблеми інформатизації: Матеріали

четвертої міжнародної науково-технічної конференції, Черкаси: ЧДТУ;

Черкаси - Баку - Бельсько-Бяла - Полтава, 2016, с. 71.

[92] B. W. Kemighan and D. M. Ritchie, The C programming language, 2nd ed.

Englewood Cliffs, N.J: Prentice Hall, 1988.

[93] А. А. Лавданский, "Генерация непредсказуемой последовательности чисел

конечным автоматом", в Праці IV Міжнародної науково-практичної

конференції «Обробка сигналів і негауссівських процесів», присвяченої

пам ’яті професора Ю.П. Кунченка: Тези доповідей, М-во освіти і науки

України, Черкас. держ. технол. ун-т. - Черкаси: ЧДТУ, 2013, с. 161-163.

[94] Е. В. Фауре, М. І. Вишня, і В. А. Чорнобай, "Оцінка закону розподілу

випадкових чисел комбінаційного генератора у k-вимірному просторі",

Вісник Херсонського національного технічного університету, № 4 (51),

2014.

[95] Э. В. Фауре, "Закон распределения дискретной случайной величины на

выходе комбинационного генератора", Безпека інформації, №2 2, с. 153-158,

2014.

[96] В. В. Швыдкий, "Групповая обработка сигналов многоканальными

конечными автоматами", Сборник «Техника средств связи». Серия ТПС, №

4(25), с. 58-64, 1978.

136

Page 146: Diss Lavdanskiy

[97] Э. В. Фауре, Д. В. Фауре, и Р. О. Бивзюк, "Устройство формирования

остатков в многоканальных помехоустойчивых кодеках", Вісник

Хмельницького національного університету, № 4, с. 75-78, 2010.

[98] G. Marsaglia, "A Current View of Random Number Generators", Computer

Science and Statistics: Proceedings o f the Symposium on the Interface, 16th,

Atlanta, Georgia, March 1984 (Ed. L. Billard)., pp. 3-10, 1985.

[99] П. А. М. Дирак, Принципы квантовой механики, [2-Е издание]. М.: Наука,

1979.

[100] И. И. Елисеева и др., Эконометрика: Учебник, 2-е изд., перераб. и доп. изд.

М.: Финансы и статистика, 2007.

[101] Н. В. Смирнов и И. В. Дунин-Барковский, Курс теории вероятностей и

математической статистики для технических приложений. Наука, 1965.

[102] А. А. Лавданский, "Оценка автокорреляционной функции случайного

процесса с помощью численных характеристик", в Проблеми

інформатизації: Матеріали другої міжнародної науково-технічної

конференції, Черкаси: ЧДТУ; Тольятті: ТДУ, 2014, с. 36-37.

[103] M. G. Kendall, A. Stuart, J. K. Ord, and John Wiley & Sons, Kendall's advanced

theory o f statistics. Chichester: John Wiley & Sons, 2004.

[104] Э. Ферстер и Б. Ренц, "Методы корреляционного и регрессионного

анализа", М.: Финансы и статистика, т. 302, 1983.

[105] Б. Ю. Лемешко и С. Помадин, "Корреляционный анализ наблюдений

многомерных случайных величин при нарушении предположений о

нормальности", Сибирский журнал индустриальной математики, № 3, с.

115-130, 2002.

[106] P. A. Moran, "Some theorems on time series: II the significance of the serial

correlation coefficient", Biometrika, vol. 35, no. 3/4, pp. 255-260, 1948.

137

Page 147: Diss Lavdanskiy

138

ДОДАТОК А

Програмна модель комбінаційного генератора на основі підсумовування за

модулем

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;

namespace PrimDifGen{

class Program{

public static long Factorial(int n){

if (n == 0) return 1;

elsereturn n * Factorial(n - 1);

}

static void Main(string[] args){

int M = 256;

//QRNGen qrng = new QRNGen(251, "username", "password");

//Gen s1 = new Gen((int)(256), 45); Gen s1 = new Gen((int)(251), 5445); Gen s2 = new Gen((int)(241), 32); Gen s3 = new Gen((int)(239), 87); Gen s4 = new Gen((int)(233), 98); Gen s5 = new Gen((int)(229), 6);Gen s6 = new Gen((int)(227), 4456); Gen s7 = new Gen((int)(223), 237); Gen s8 = new Gen((int)(211), 78861);

/*LCG s1 = new LCG(34, 67, 251); LCG s2 = new LCG(158, 5, 241); LCG s3 = new LCG(24, 222, 239); LCG s4 = new LCG(143, 47, 233); LCG s5 = new LCG(5, 42, 229);LCG s6 = new LCG(10, 75, 227); LCG s7 = new LCG(73, 2, 223);LCG s8 = new LCG(1, 88, 211);*/

//QRNGen s1 = new QRNGen(256, "username", "password"); /*QRNGen s1 = new QRNGen(251, "username", "password");

Page 148: Diss Lavdanskiy

139

QRNGen s2 QRNGen s3 QRNGen s4 QRNGen s5 QRNGen s6 QRNGen s7 QRNGen s8

new QRNGen(241, new QRNGen(239, new QRNGen(233, new QRNGen(229, new QRNGen(227, new QRNGen(223, new QRNGen(211,

username'username''username''username''username'usernameusername

"password")"password")"password")"password")"password")"password")"password") */

Filelnfo f = new FileInfo(@"add/8-gen_.bin"); FileStream w = f.Create();

for (long i = 0; i < Math.Pow(2, 25); i++){

w.WriteByte((byte)((s1 + s2 + s3 + s4 + s5 + s6 + s7 + s8/**/) % (ulong)M)); //modM //w.WriteByte((byte)((cong1 + cong2 + cong3 + cong4 /*+ s5 + s6 + s7 + s8*/) %

(ulong)M)); //modM

if (i % 1000000 == 0){

Console.Clear();Console.Write(i + " / " + Math.Pow(2, 25));

}}

w.Close();

Console.Beep();

}}

class Gen{

int primNum, pointer; int[] arr; int seed;Random rnd;List<int> defArr;

public Gen(int primNum, int seed = 0){

this.primNum = primNum;this.seed = seed;arr = new int[primNum];

rnd = new Random(seed);

List<int> refreshArr = new List<int>(); defArr = new List<int>();

Page 149: Diss Lavdanskiy

140

for (int i = 0; i < primNum; i++){

refreshArr.Add(i);}

for (int i = 0; i < primNum; i++){

int r = rnd.Next(refreshArr.Count);defArr.Add(refreshArr[r]);refreshArr.RemoveAt(r);

}

refresh();}

void refresh(){

pointer = 0;

arr = defArr.ToArray();

}

public ulong getWord(){

if (pointer == primNum) refresh(); return (ulong)arr[pointer++];

}

public static implicit operator ulong(Gen gen) {

return gen.getWord();}

}

public class LCG{

private ulong K, C, M, S; public ulong[] cycle; private bool[] cycleStatus; private ulong SStart = 0;//public ulong row = 0, column = 0; //public ulong[,] cycleStructured;

public LCG(ulong k, ulong c, ulong m, ulong s0 = 0){

K = k;C = c;M = m;

Page 150: Diss Lavdanskiy

141

SStart = s0;S = SStart;cycle = new ulong[m]; cycleStatus = new bool[m]; this.clearCycle();//cycleStatus[S] = true; //cycleStructured = new ulong[M, M];

}

public ulong getS(){

S = (K * S + C) % M; if (!cycleStatus[S]){

cycleStatus[S] = true; //column++;

}else{

S = this.getNewS(); //column = 0; return getS();

}return S;

}

public void cycleToArray(){

clearCycle();S = SStart;for (ulong k = 0; k < M; k++){

cycle[k] = getS();//cycleStructured[row, column] = getS();}//row = M / column;

}

public void clearCycle(){

for (ulong i = 0; i < M; i++) {

cycleStatus[i] = false;}

}

public ulong getNewS(){

for (ulong i = 0; i < M; i++)

Page 151: Diss Lavdanskiy

142

{if (!cycleStatus[i]) return i;

}this.clearCycle(); return SStart;

}

public static implicit operator ulong(LCG gen) {

return gen.getS();}

}

public class QRNGen{

private QRNG g; int[] arr;int pointer, length;

public QRNGen(int length, string login, string password){

try{

this.length = length;QRNG.qrng_connect(new StringBuilder(login), new StringBuilder(password)); arr = new int[length]; int[] res = new int[length];List<int> randArr = new List<int>();

for (int i = 0; i < length; i++){

randArr.Add(i);}

int result = 0;QRNG.qrng_get_int_array(ref res[0], length, ref result);

for (int i = 0; i < length; i++){

res[i] = Math.Abs(res[i]); res[i] %= randArr.Count; arr[i] = randArr[res[i]]; randArr.RemoveAt(res[i]);

}}catch { }

}

public int getWord(){

Page 152: Diss Lavdanskiy

143

pointer++; pointer %= length; return (int)arr[pointer];

}

public static implicit operator ulong(QRNGen gen) {

return (ulong)gen.getWord();}

}

}

Page 153: Diss Lavdanskiy

144

ДОДАТОК Б

Вихідний код програмного продукту для проведення тестування

послідовностей за допомогою графічних методів тестування

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Windows.Forms.DataVisualization.Charting;

namespace Graphical_Testing{

public partial class Form1 : Form{

WorkerGysto WC = new WorkerGysto();

public Form1()

InitializeComponent();

private void checkBox1_CheckedChanged(object sender, EventArgs e)

//groupBoxl.Enabled = checkBoxl.Checked;

private void checkBox2_CheckedChanged(object sender, EventArgs e)

textBox4.Enabled = !checkBox2.Checked;

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)

{chart1.Series[0] .Points.Clear(); foreach (var c in WC.counter){

chart1.Series[0] .Points.Add((double)c);}

chart2.Series[0].Points.Clear(); foreach (var l in WC.L){

chart2.Series[0].Points.Add((double)l);

Page 154: Diss Lavdanskiy

145

}

double mid = WC.dft.Average(); chart3.Series[0] .Points.Clear(); chart3.Series[1] .Points.Clear(); for (int i = 0; i < WC.dft.Length / 2; i++){

chart3.Series[0].Points.Add((double)WC.dft[i]); chart3.Series[1] .Points.Add((double)mid);

}

chart4.Series[0].Points.Clear(); foreach (var a in WC.akfRes){

chart4.Series[0].Points.Add((double)a);}

pictureBox1.Image = WC.flag1; pictureBox2.Image = WC.flag2; pictureBox3.Image = WC.flag3; pictureBox4.Image = WC.flag4;

MessageBox.Show(MReadyM);}

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e){

// This event handler is where the actual work is done.// This method runs on the background thread.

// Get the BackgroundWorker object that raised this event. System.ComponentModel.BackgroundW orker worker; worker = (System.ComponentModel.BackgroundWorker)sender;

// Get the Words object and call the main method.WorkerGysto WC = (WorkerGysto)e.Argument;WC.run(worker, e);

}

private void StartThread(){

// Initialize the object that the background worker calls.

WC.f = this.textBox1.Text;WC.result = this.textBox2.Text;WC.M = Int32.Parse(this.textBox3.Text);WC.V = Int64.Parse(this.textBox4.Text);

// Start the asynchronous operation. backgroundW orker1.RunW orkerAsync(WC);

}

Page 155: Diss Lavdanskiy

146

private void button3_Click(object sender, EventArgs e){

StartThread();}

private void button1_Click(object sender, EventArgs e){

openFileDialog1.ShowDialog(); textBox1.Text = openFileDialog1.FileName;

}

private void button2_Click(object sender, EventArgs e){

folderBrowserDialog1.ShowDialog(); textBox2.Text = folderBrowserDialog1.SelectedPath;

}

// Implementation of Berlekamp-Massey algorithm for calculating linear // complexity of binary sequence // s = byte array with binary sequence// returns Length of LFSR with smallest length which generates s// for an example: int L=BerlekampMassey(new byte[] {1,0,1,0,1,1,1,0,1,0})// reference: "Handbook of Applied Cryptography", p201

public static int BerlekampMassey(int[] arr, long len){

//byte[] s = new byte[len]; for (int i = 0; i < len; i++){

if ((arr[i / 8] & (1 << (i % 8))) > 0) s[i] = 1; else s[i] = 0;}//

int L, N, m, d; int n = s.Length; byte[] c = new byte[n]; byte[] b = new byte[n]; byte[] t = new byte[n];

//Initialization b[0] = c[0] = 1;N = L = 0; m = -1;

//Algorithm core while (N < n){

d = s[N];for (int i = 1; i <= L; i++)

Page 156: Diss Lavdanskiy

147

d A= c[i] & s[N - i]; //(d+=c[i]*s[N-i] mod 2)if (d == 1){

Array.Copy(c, t, n); //T(D)<-C(D)for (int i = 0; (i + N - m) < n; i++)

c[i + N - m] a= b[i]; if (L <= (N >> 1)){

L = N + 1 - L;m = N;Array.Copy(t, b, n); //B(D)<-T(D)

}}N++;

}return L;

}

public static double[] dft(double[] data){

int n = data.Length; int m = n;// I use m = n / 2d; double[] real = new double[n]; double[] imag = new double[n]; double[] result = new double[m]; double pi_div = 2.0 * Math.PI / n; for (int w = 0; w < m; w++){

double a = w * pi_div; for (int t = 0; t < n; t++){

real[w] += data[t] * Math.Cos(a * (t - 1)); imag[w] += data[t] * Math.Sin(a * (t - 1));

}result[w] = Math.Sqrt(real[w] * real[w] + imag[w] * imag[w]);// / n;

}return result;

}

private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)

{progressBar1.Value = e.ProgressPercentage;

}

}

class WorkerGysto{

public string f; public string result;

Page 157: Diss Lavdanskiy

public int M = 256;public long V;public int[] counter, L;public Bitmap flagl, flag2, flag3, flag4;public double[] dft, akfRes;

public void run(System.ComponentModel.BackgroundWorker worker, System.ComponentModel.DoW orkEventArgs e)

І

worker.ReportProgress(0);

counter = new int[M];

using (ILines lines = new BinaryLines(this.f))І

for (long i = 0; i < V; i++)І

counter[lines.getWord(l, i)[0]]++;І

І

FileInfo res = new FileInfo(result + "/l.csv");StreamWriter w = res.CreateText();

for (long i = 0; i < M; i++)І

w.WriteLine("{0};{1}", i, counter[i]);І

w.Close();worker.ReportProgress(20);/////

flagl = new Bitmap(256, 256); flag2 = new Bitmap(256, 256); flag3 = new Bitmap(256, 256); flag4 = new Bitmap(256, 256);Graphics flagGraphicsl = Graphics.FromImage(flagl);Graphics flagGraphics2 = Graphics.FromImage(flag2);Graphics flagGraphics3 = Graphics.FromImage(flag3);Graphics flagGraphics4 = Graphics.FromImage(flag4); using (ILines lines = new BinaryLines(this.f))І

for (long i = 0; i < 256 * 256 * 16; i += 2)І

int[] arr = lines.getWord(2, i);if (i < 256 * 256 / 4) flagGraphicsl.FillRectangle(Brushes.Black, arr[0], arr[l], 1, 1); if (i < 256 * 256 / 2) flagGraphics2.FillRectangle(Brushes.Black, arr[0], arr[l], 1, 1); if (i < 256 * 256 * 4) flagGraphics3.FillRectangle(Brushes.Black, arr[0], arr[l], 1, 1); if (i < 256 * 256 * 16) flagGraphics4.FillRectangle(Brushes.Black, arr[0], arr[l], 1, 1);i--;

14В

Page 158: Diss Lavdanskiy

}}flag1.Save(result + "/1_1.png", System.Drawing.Imaging.ImageFormat.Png); flag2.Save(result + "/1_2.png", System.Drawing.Imaging.ImageFormat.Png); flag3.Save(result + "/1_3.png", System.Drawing.Imaging.ImageFormat.Png); flag4.Save(result + "/1_4.png", System.Drawing.Imaging.ImageFormat.Png);

worker.ReportProgress(40);/////

L = new int[2048];using (ILines lines = new BinaryLines(this.f)){

for (int i = 0; i < L.Length; i++){

L[i] = Form1.BerlekampMassey(lines.getWord(i / 8 + 1, i), i + 1);}

}

FileInfo res2 = new FileInfo(result + "/2.csv");StreamWriter w2 = res2.CreateText();

for (long i = 0; i < L.Length; i++){

w2.WriteLine("{0};{1}", i, L[i]);}

w2.Close();worker.ReportProgress(60);/////

double[] bit = new double[512];

using (ILines lines = new BinaryLines(this.f)){

int[] arr = lines.getWord(bit.Length / 8, 0); for (int i = 0; i < bit.Length; i++){

if ((arr[i / 8] & (1 << (i % 8))) > 0) bit[i] = 1; else bit[i] = -1;}

}

dft = Form1.dft(bit);

FileInfo res3 = new FileInfo(result + "/3.csv");StreamWriter w3 = res3.CreateText();

for (long i = 0; i < dft.Length; i++){

w3.WriteLine("{0};{1}", i, dft[i]);}

149

Page 159: Diss Lavdanskiy

150

w3.Close();worker.ReportProgress(80);/////

int[] akf = new int[(int)Math.Pow(2, 15)]; using (ILines lines = new BinaryLines(this.f)){

int[] arr = lines.getWord(akf.Length / 8, 0); for (int i = 0; i < akf.Length; i++){

if ((arr[i / 8] & (1 << (i % 8))) > 0) akf[i] = 1; else akf[i] = -1;}

}

long sum = 0;akfRes = new double[akf.Length]; for (int a = 0; a < akf.Length; a++){

for (int b = 0; b < akf.Length; b++){

akfRes[a] += akf[b] * akf[(b + a) % akf.Length];}sum += akf[a] * akf[a];

}

for (int i = 0; i < akf.Length; i++) akfRes[i] /= sum;

Filelnfo res4 = new FileInfo(result + "/4.csv");StreamWriter w4 = res4.CreateText();

for (long i = 0; i < akfRes.Length; i++){

w4.WriteLine("{0};{1}", i, akfRes[i]);}

w4.Close();

worker.ReportProgress(100);/////

}

}

class BinaryCache : IDisposable{

public int size; public long page; public bool isEmpty;BinaryReader file;

Page 160: Diss Lavdanskiy

151

byte[] cache; private bool disposed;

public BinaryCache(BinaryReader r){

isEmpty = true; page = 0;size = (int)Math.Pow(2, 16); file = r;fillCache(page);

}

~BinaryCache(){

Dispose(false);}

public void fillCache(long _page){

file.BaseStream.Seek(_page * size, SeekOrigin.Begin); cache = file.ReadBytes(size); isEmpty = false; page = _page;

}

public int[] getBytes(int count, long pointer){

int[] res = new int[count];

for (int i = 0; i < count; i++){

if ((pointer + i) / size != page) fillCache((pointer + i) / size);

res[i] = (int)cache[(pointer + i) % size];}

return res;}

public void Dispose(){

Dispose(true);// This object will be cleaned up by the Dispose method. // Therefore, you should call GC.SupressFinalize to // take this object off the finalization queue // and prevent finalization code for this object // from executing a second time. GC.SuppressFinalize(this);

}

protected virtual void Dispose(bool disposing){

Page 161: Diss Lavdanskiy

152

if (!this.disposed){

file.Dispose();

disposed = true;

}}

}

abstract class ILines : IDisposable{

public long length;public abstract int[] getWord(int number, long pointer); public abstract void Dispose();

}

class BinaryLines : ILines{

BinaryReader r;BinaryCache cache; private bool disposed;

public BinaryLines(string file){

r = new BinaryReader(File.Open(file, FileMode.Open)); length = r.BaseStream.Length; cache = new BinaryCache(r);

}

~BinaryLines(){

Dispose(false);}

override public int[] getWord(int number, long pointer){

int[] res = new int[number];

res = cache.getBytes(number, pointer);

return res;}

override public void Dispose(){

Dispose(true);// This object will be cleaned up by the Dispose method. // Therefore, you should call GC.SupressFinalize to // take this object off the finalization queue

Page 162: Diss Lavdanskiy

153

// and prevent finalization code for this object // from executing a second time.GC.SuppressFinalize(this);

}

// Dispose(bool disposing) executes in two distinct scenarios.// If disposing equals true, the method has been called directly // or indirectly by a user's code. Managed and unmanaged resources // can be disposed.// If disposing equals false, the method has been called by the // runtime from inside the finalizer and you should not reference // other objects. Only unmanaged resources can be disposed. protected virtual void Dispose(bool disposing){

// Check to see if Dispose has already been called. if (!this.disposed){

// If disposing equals true, dispose all managed // and unmanaged resources.

// Call the appropriate methods to clean up // unmanaged resources here.// If disposing is false,// only the following code is executed.r.Dispose();cache.Dispose();

// Note disposing has been done. disposed = true;

}}

}

}

Page 163: Diss Lavdanskiy

154

ДОДАТОК В

Приклад роботи програмного продукту для проведення тестування

послідовностей за допомогою графічних методів тестування

Page 164: Diss Lavdanskiy

155

| И :\дтд\затріез\затріебаіа-1 ООМ B-0.bin ] Открыть

|С:\и8еге\и8ег\0езк1ор\дтд П Сохранить

Мощность алфавита 256______

Выборка П Вся І1000000

Гисто'рамгиа раслрссеге- ия : аслрсделнис на " лсск.осту ”Іро«і»*<іль лтейно? с.южное и Слсктэагьный тсс- АКЧ>

5С0 1000 1500 2000

Пуск

Page 165: Diss Lavdanskiy

156

| И :\дтд\затріез\затріебаіа-1 ООМ B-0.bin ] Открыть

|С:\и8еге\и8ег\0езк1ор\дтд П Сохранить

Мощность алфавита 256______

Выборка П Вся І1000000

0-

5000 10С>00 15С00 20 ЮО 25С00 Ж ЮО

Пуск

Page 166: Diss Lavdanskiy

157

ДОДАТОК Д

Результати тестування комбінаційного генератора за допомогою

статистичного пакету NIST

Для 4 первинних генераторів на основі ЛКМ:

RESULTS FOR THE UNIFORMITY OF P-VALUES AND THE PROPORTION OF PASSING SEQUENCES

generator is <lcg\4-gen.bin>

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 P-VALUE PROPORTION STATISTICAL TEST

12 8 10 8 12 10 9 7 9 15 0.816537 1.0000 Frequency8 8 8 11 11 8 16 11 6 13 0.534146 0.9900 BlockFrequency

15 6 8 14 10 9 7 6 10 15 0.262249 0.9900 CumulativeSums14 6 10 10 10 12 9 6 12 11 0.759756 1.0000 CumulativeSums17 9 3 12 11 7 12 15 9 5 0.051942 0.9900 Runs8 9 9 14 10 8 17 7 6 12 0.319084 0.9900 LongestRun8 6 13 8 12 9 9 8 14 13 0.657933 1.0000 Rank3 6 11 11 7 9 12 18 13 10 0.080519 1.0000 FFT6 4 9 11 7 17 13 12 10 11 0.181557 0.9900 NonOverlappingTemplate7 9 11 15 8 11 8 12 10 9 0.834308 0.9900 NonOverlappingTemplate

12 9 5 12 12 11 11 5 16 7 0.275709 1.0000 NonOverlappingTemplate4 4 11 12 11 15 10 12 8 13 0.213309 1.0000 NonOverlappingTemplate

11 11 12 6 9 10 5 11 11 14 0.678686 1.0000 NonOverlappingTemplate14 10 10 6 9 9 8 7 13 14 0.616305 0.9900 NonOverlappingTemplate14 11 10 10 11 5 13 10 8 8 0.739918 0.9900 NonOverlappingTemplate6 10 5 10 15 8 17 6 13 10 0.108791 0.9900 NonOverlappingTemplate

12 11 15 7 10 13 10 6 9 7 0.595549 0.9800 NonOverlappingTemplate9 9 9 12 11 12 10 14 5 9 0.798139 0.9800 NonOverlappingTemplate

11 7 6 15 7 8 10 9 15 12 0.401199 1.0000 NonOverlappingTemplate12 7 13 8 10 8 11 10 12 9 0.935716 0.9800 NonOverlappingTemplate16 5 12 6 10 8 14 8 12 9 0.275709 0.9800 NonOverlappingTemplate9 8 5 18 11 8 15 9 9 8 0.162606 0.9900 NonOverlappingTemplate

10 12 11 13 12 11 9 7 7 8 0.897763 0.9900 NonOverlappingTemplate7 12 11 7 7 13 12 14 10 7 0.637119 0.9900 NonOverlappingTemplate

10 13 10 11 13 5 13 8 5 12 0.474986 1.0000 NonOverlappingTemplate8 9 14 13 7 10 13 7 10 9 0.759756 0.9900 NonOverlappingTemplate

14 12 8 7 10 9 7 7 12 14 0.616305 1.0000 NonOverlappingTemplate6 13 9 11 11 7 11 9 13 10 0.851383 1.0000 NonOverlappingTemplate3 12 13 10 10 11 11 11 12 7 0.554420 1.0000 NonOverlappingTemplate

12 8 9 9 6 10 17 13 8 8 0.419021 0.9800 NonOverlappingTemplate12 6 11 11 8 10 12 13 6 11 0.779188 1.0000 NonOverlappingTemplate8 15 9 9 10 11 12 11 7 8 0.834308 0.9900 NonOverlappingTemplate8 5 10 14 16 6 10 11 13 7 0.236810 1.0000 NonOverlappingTemplate

11 5 11 11 9 8 14 15 6 10 0.437274 1.0000 NonOverlappingTemplate7 12 12 9 11 9 12 12 5 11 0.798139 0.9800 NonOverlappingTemplate

17 11 8 5 14 6 12 6 13 8 0.108791 0.9900 NonOverlappingTemplate7 10 11 12 5 17 8 15 10 5 0.115387 0.9900 NonOverlappingTemplate

11 8 12 12 7 10 12 6 8 14 0.719747 0.9900 NonOverlappingTemplate12 12 8 10 2 11 9 7 18 11 0.085587 0.9900 NonOverlappingTemplate9 11 10 16 4 15 10 10 8 7 0.262249 0.9800 NonOverlappingTemplate9 13 10 13 5 9 7 12 9 13 0.657933 1.0000 NonOverlappingTemplate

10 7 12 8 11 7 10 7 15 13 0.637119 0.9900 NonOverlappingTemplate14 10 10 11 8 9 10 11 9 8 0.971699 0.9700 NonOverlappingTemplate10 6 10 9 16 16 10 9 5 9 0.236810 0.9800 NonOverlappingTemplate12 5 7 12 16 13 8 14 7 6 0.153763 1.0000 NonOverlappingTemplate

Page 167: Diss Lavdanskiy

l2l214Sl

16139

l5l0бЗSl

ll9

l0165

lll2l0lб

l5Sl

1314llS

14llS

13lS9б

l09l99l

14l09

l0l0S

l21313l2149

llб

1413ll5

15S

13 ll б 14 l0 l0 б 8 l0 0.б78б8б 0.9800 NonOverlappingTemplate9 S l2 l2 l0 8 ll 5 l3 0.779188 0.9900 NonOverlappingTemplate13 ll 9 8 9 l0 8 5 7 0.224821 0.9900 NonOverlappingTemplatel0 l5 9 7 8 5 17 7 14 0.115387 1.0000 NonOverlappingTemplate9 9 ll 7 l0 14 7 l5 ll 0.б1бЗ05 1.0000 NonOverlappingTemplatel S 1б 8 8 l0 l0 9 8 0.3бб918 0.9900 NonOverlappingTemplatel ll ll ll l0 3 l3 l3 8 0.419021 0.9700 NonOverlappingTemplatel 13 7 б ll l3 l5 8 ll 0.494392 1.0000 NonOverlappingTemplate9 l0 б А 9 l0 l0 8 l9 0.058984 0.9900 NonOverlappingTemplatel l0 S l0 l3 ll б l0 l5 0.б99313 0.9900 NonOverlappingTemplatel5 l0 А l2 ll l2 ll 9 l0 0.455937 1.0000 NonOverlappingTemplateб l5 13 1б ll 9 l0 А l3 0.032923 1.0000 NonOverlappingTemplatel2 l2 ll l0 l3 8 l0 l2 А 0.б78б8б 0.9900 NonOverlappingTemplate14 l2 б 9 8 9 l2 8 l5 0.494392 1.0000 NonOverlappingTemplatell 13 l2 8 8 9 l0 9 9 0.978072 0.9900 NonOverlappingTemplate13 б ll l5 7 б 9 l5 9 0.319084 0.9700 NonOverlappingTemplatel 1б ll ll l0 А l3 7 ll 0.334538 0.9900 NonOverlappingTemplateб l0 9 ll 9 б l2 ll l0 0.574903 0.9б00 NonOverlappingTemplatell S l0 ll 8 1б 7 l2 l2 0.455937 0.9900 NonOverlappingTemplate14 S 7 9 б l0 l5 9 ll 0.595549 0.9800 NonOverlappingTemplate3 9 l5 7 l0 14 l2 9 9 0.275709 0.9800 NonOverlappingTemplatel2 ll 8 l3 l0 7 б ll l2 0.SS13S3 0.9800 NonOverlappingTemplate9 l2 l3 9 l0 14 l0 3 l3 0.3бб918 0.9900 NonOverlappingTemplateS S б l0 l5 ll ll l5 l0 0.419021 0.9900 NonOverlappingTemplatell l2 б 5 14 А ll 14 8 0.108791 0.9900 NonOverlappingTemplate9 14 ll 8 7 ll ll l0 ll 0.92А07б 0.9900 NonOverlappingTemplatell 9 l0 9 14 7 l0 7 l0 0.401199 1.0000 NonOverlappingTemplatel0 ll 8 3 l0 l3 l2 ll 9 0.554420 0.9900 NonOverlappingTemplatel0 l0 ll l0 l0 l2 б 9 8 0.8977бЗ 0.9900 NonOverlappingTemplate5 l2 l2 l2 А 7 14 9 14 0.23б810 0.9900 NonOverlappingTemplatel0 l0 ll ll l3 8 9 8 б 0.455937 1.0000 NonOverlappingTemplate13 ll 9 9 8 7 5 l0 14 0.514124 0.9900 NonOverlappingTemplatell 7 7 8 l5 7 А ll l3 0.085587 0.9800 NonOverlappingTemplate14 7 9 б l3 l5 l0 l0 8 0.494392 0.9900 NonOverlappingTemplatel l2 7 1б 3 8 l0 l3 ll 0.1б2б0б 1.0000 NonOverlappingTemplate9 7 l2 9 б l3 б l2 8 0.1718б7 0.9900 NonOverlappingTemplatell l0 14 ll А l0 7 l0 14 0.53414б 0.9800 NonOverlappingTemplateА 9 ll 7 ll l3 l2 l0 ll 0.181557 0.9900 NonOverlappingTemplatel0 14 9 7 l0 ll l0 l3 б 0.81б537 1.0000 NonOverlappingTemplatel 7 l2 9 б l5 l3 l3 9 0.494392 1.0000 NonOverlappingTemplate13 l0 l0 14 7 А 9 l5 ll 0.30412б 0.9900 NonOverlappingTemplatel 9 9 1б l0 l2 l0 9 9 0.798139 1.0000 NonOverlappingTemplateS l0 l0 14 ll l0 А ll 7 0.23б810 0.9800 NonOverlappingTemplatel5 9 ll А l3 l3 l0 l0 8 0.401199 1.0000 NonOverlappingTemplateS l2 8 8 l0 8 7 14 ll 0.719747 0.9900 NonOverlappingTemplatell 4 l5 ll 7 l2 l3 7 l0 0.401199 1.0000 NonOverlappingTemplate9 S 8 1б 7 l2 ll 9 ll 0.719747 0.9900 NonOverlappingTemplateб 13 l2 9 ll l0 б l2 ll 0.81б537 0.9900 NonOverlappingTemplatel0 ll ll l0 7 ll ll ll 8 0.994250 1.0000 NonOverlappingTemplatel 9 8 9 5 lS 14 l2 l0 0.1718б7 0.9900 NonOverlappingTemplatel2 1б 5 9 7 1б 9 А l0 0.085587 0.9800 NonOverlappingTemplatel 7 l0 7 l3 l2 ll ll 9 0.81б537 1.0000 NonOverlappingTemplatell ll ll б l3 б l3 б А 0.0б2821 0.9900 NonOverlappingTemplateб ll 9 б 7 l5 ll l0 l3 0.514124 0.9900 NonOverlappingTemplate9 б 9 l2 9 9 l5 l0 7 0.595549 0.9900 NonOverlappingTemplate3 ll 7 l3 ll 1б 7 l0 l3 0.191б87 1.0000 NonOverlappingTemplateS 3 l2 l3 7 14 17 б 9 0.071177 1.0000 NonOverlappingTemplatelS ll 7 ll 7 9 l0 l3 8 0.249284 1.0000 NonOverlappingTemplate9 ll l0 8 б l5 7 l2 8 0.53414б 1.0000 NonOverlappingTemplateб 7 8 ll ll 9 7 8 14 0.224821 0.9700 NonOverlappingTemplatel2 4 l3 8 ll 14 8 l2 7 0.455937 0.9900 NonOverlappingTemplatell l0 б 9 l5 ll l3 14 б 0.275709 0.9900 NonOverlappingTemplate

Page 168: Diss Lavdanskiy

121З7129911121З1210121085

1412671114125771З7118714558861З1З1111111010101З8101491514779117810101087

159

16 10 5 8 1З 9 11 7 9 0.4З7274 1.0000 NonOverlappingTemplate9 14 9 6 10 11 8 11 9 0.8З4З08 0.9900 NonOverlappingTemplate9 7 14 11 11 12 8 11 10 0.867692 0.9900 NonOverlappingTemplate11 11 9 9 17 10 10 5 6 0.З66918 0.9800 NonOverlappingTemplate10 12 6 10 12 9 14 11 7 0.8165З7 1.0000 NonOverlappingTemplate17 7 4 11 10 10 12 8 12 0.289667 1.0000 NonOverlappingTemplate14 5 12 9 8 8 15 9 9 0.514124 0.9800 NonOverlappingTemplate7 7 14 12 16 6 11 8 7 0.289667 1.0000 NonOverlappingTemplate15 7 1З 5 6 11 7 12 11 0.289667 0.9900 NonOverlappingTemplate15 10 9 8 11 8 6 7 14 0.5З4146 0.9700 NonOverlappingTemplate1З 9 9 14 8 10 4 11 12 0.616З05 1.0000 NonOverlappingTemplate10 11 6 7 11 9 15 10 9 0.759756 1.0000 NonOverlappingTemplate14 10 10 10 12 10 7 10 7 0.924076 1.0000 NonOverlappingTemplate12 9 7 9 14 11 11 8 11 0.89776З 0.9800 NonOverlappingTemplate11 5 10 12 14 11 11 15 6 0.249284 1.0000 NonOverlappingTemplate12 12 6 12 9 12 6 11 6 0.514124 0.9700 NonOverlappingTemplate8 9 З 15 12 6 11 11 1З 0.249284 0.9900 NonOverlappingTemplate12 10 10 9 12 1З 7 12 9 0.851З8З 1.0000 NonOverlappingTemplate11 9 8 1З 10 8 14 11 9 0.867692 1.0000 NonOverlappingTemplate8 5 1З 1З 10 1З 8 11 8 0.678686 0.9800 NonOverlappingTemplate8 7 12 7 1З 8 10 10 11 0.779188 1.0000 NonOverlappingTemplate15 7 7 11 9 11 12 7 9 0.699З1З 1.0000 NonOverlappingTemplate7 11 14 12 7 11 9 11 1З 0.57490З 1.0000 NonOverlappingTemplate1З 12 10 7 7 15 9 10 10 0.678686 1.0000 NonOverlappingTemplate4 1З 10 8 9 12 12 12 1З 0.5З4146 1.0000 NonOverlappingTemplate16 10 11 9 8 7 6 9 11 0.554420 1.0000 NonOverlappingTemplate14 8 1З 17 1З 6 8 10 4 0.085587 0.9800 NonOverlappingTemplate6 7 7 9 1З 1З 11 1З 10 0.699З1З 0.9900 NonOverlappingTemplate1З 1З 14 8 11 7 8 15 З 0.162606 1.0000 NonOverlappingTemplate14 10 9 10 8 10 11 9 12 0.9З5716 0.9800 NonOverlappingTemplate10 11 10 8 6 11 12 1З 5 0.57490З 0.9500 * NonOverlappingTemplate10 8 10 12 12 10 14 12 7 0.678686 0.9900 NonOverlappingTemplate7 11 15 10 9 16 9 З 15 0.045675 1.0000 NonOverlappingTemplate9 17 6 9 8 14 11 9 9 0.401199 1.0000 NonOverlappingTemplate12 15 9 4 5 14 6 14 1З 0.085587 0.9900 NonOverlappingTemplate7 17 10 8 8 9 12 9 14 0.З19084 1.0000 NonOverlappingTemplate8 9 16 5 8 8 10 6 17 0.096578 0.9800 NonOverlappingTemplate16 12 7 10 7 8 1З 8 6 0.З50485 1.0000 NonOverlappingTemplate7 1З 1З 6 12 9 8 9 12 0.759756 1.0000 NonOverlappingTemplate7 9 14 9 12 1З 8 9 8 0.8З4З08 0.9900 NonOverlappingTemplate11 1З 1З 8 9 5 8 10 12 0.759756 0.9900 NonOverlappingTemplate7 6 1З 9 9 12 8 15 11 0.6З7119 0.9900 NonOverlappingTemplate11 11 10 1З 8 9 10 12 6 0.9З5716 0.9900 NonOverlappingTemplate5 16 8 10 11 9 12 9 10 0.616З05 1.0000 NonOverlappingTemplate1З 10 12 10 5 9 9 8 11 0.7981З9 0.9500 * NonOverlappingTemplate18 9 8 7 15 11 6 11 7 0.145З26 1.0000 NonOverlappingTemplate16 7 11 8 10 10 10 11 7 0.7З9918 0.9900 NonOverlappingTemplate10 8 6 11 7 9 11 16 8 0.4559З7 0.9900 NonOverlappingTemplate11 10 14 11 4 10 7 10 14 0.5З4146 0.9800 NonOverlappingTemplate7 12 5 6 12 8 11 1З 11 0.З66918 1.0000 OverlappingTemplate10 17 11 6 7 5 14 8 8 0.122З25 0.9900 Universal10 17 10 8 1З 8 10 12 5 0.З19084 1.0000 ApproximateEntropy6 5 8 З З 7 7 12 10 0.162606 1.0000 RandomExcursions7 4 10 6 4 9 10 6 З 0.25З551 0.985З RandomExcursions7 6 2 6 9 6 7 5 9 0.З24180 1.0000 RandomExcursions9 7 6 12 З 4 8 7 5 0.275709 0.985З RandomExcursions8 5 8 6 6 5 11 6 5 0.671779 1.0000 RandomExcursions5 6 10 5 9 8 4 7 4 0.407091 1.0000 RandomExcursions

10 7 4 7 4 5 9 6 6 0.468595 0.9706 RandomExcursions5 1 9 7 10 9 5 7 5 0.148094 0.985З RandomExcursions5 7 10 5 8 7 6 4 8 0.7З9918 0.9706 RandomExcursionsVariant8 6 10 5 5 5 10 4 8 0.5З4146 1.0000 RandomExcursionsVariant

Page 169: Diss Lavdanskiy

160

10 3 7 9 8 6 4 5 8 8 0.468595 0.9853 RandomExcursionsVariant7 8 8 5 7 6 13 6 3 5 0.232760 0.9853 RandomExcursionsVariant7 9 8 4 4 7 5 11 7 6 0.500934 0.9853 RandomExcursionsVariant9 7 5 6 6 7 5 4 7 12 0.437274 0.9853 RandomExcursionsVariant9 8 8 4 2 5 8 7 9 8 0.407091 0.9853 RandomExcursionsVariant

11 8 6 8 5 6 3 6 8 7 0.534146 1.0000 RandomExcursionsVariant9 3 6 12 6 9 6 4 10 3 0.082177 0.9853 RandomExcursionsVariant

10 6 5 4 12 9 6 3 5 8 0.148094 1.0000 RandomExcursionsVariant4 8 5 7 7 12 11 7 5 2 0.090936 0.9853 RandomExcursionsVariant6 6 12 7 7 6 3 9 11 1 0.039244 1.0000 RandomExcursionsVariant9 6 8 9 6 3 5 8 9 5 0.568055 1.0000 RandomExcursionsVariant

11 6 7 6 5 5 7 9 7 5 0.671779 1.0000 RandomExcursionsVariant11 8 7 4 3 9 9 6 3 8 0.195163 1.0000 RandomExcursionsVariant10 8 5 8 4 10 6 8 6 3 0.378138 0.9853 RandomExcursionsVariant12 5 10 3 6 10 4 10 7 1 0.014216 0.9853 RandomExcursionsVariant12 9 3 7 8 5 8 7 6 3 0.195163 0.9853 RandomExcursionsVariant15 9 11 9 12 9 8 8 11 8 0.867692 0.9900 Serial11 12 9 10 9 8 9 11 12 9 0.994250 0.9800 Serial10 9 17 13 13 8 13 6 6 5 0.129620 0.9800 LinearComplexity

The minimum pass rate for each statistical test with the exception of the random excursion (variant) test is approximately = 0.960150 for a sample size = 100 binary sequences.

The minimum pass rate for the random excursion (variant) test is approximately 0.953802 for a sample size = 68 binary sequences.

For further guidelines construct a probability table using the MAPLE program provided in the addendum section of the documentation.

Для 8 первинних генераторів на основі ЛКМ:

RESULTS FOR THE UNIFORMITY OF P-VALUES AND THE PROPORTION OF PASSING SEQUENCES

generator is <lcg\8-gen.bin>

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 P-VALUE PROPORTION STATISTICAL TEST

15 9 9 6 6 13 10 11 15 6 0.275709 0.9900 Frequency8 13 4 10 8 11 10 16 5 15 0.122325 0.9800 BlockFrequency

14 9 10 12 4 10 11 4 13 13 0.262249 1.0000 CumulativeSums16 8 8 8 7 5 10 16 11 11 0.213309 0.9900 CumulativeSums7 15 10 5 11 10 8 10 11 13 0.595549 1.0000 Runs7 8 14 12 8 14 7 9 11 10 0.699313 1.0000 LongestRun

13 12 16 7 11 6 9 5 11 10 0.334538 0.9900 Rank1 6 5 7 15 15 11 15 11 14 0.007694 1.0000 FFT

11 15 12 6 11 11 7 9 12 6 0. 554420 0.9900 NonOverlappingTemplate10 10 12 10 6 9 8 15 12 8 0.759756 0.9900 NonOverlappingTemplate10 13 11 8 3 11 11 10 12 11 0. 637119 0.9900 NonOverlappingTemplate11 11 10 8 12 8 12 12 11 5 0.851383 0.9800 NonOverlappingTemplate9 6 9 13 11 10 15 11 9 7 0. 699313 0.9900 NonOverlappingTemplate

11 10 7 12 8 9 8 14 10 11 0.911413 1.0000 NonOverlappingTemplate8 5 11 13 7 11 12 17 6 10 0. 224821 0.9900 NonOverlappingTemplate7 11 6 13 13 14 10 10 8 8 0. 657933 0.9900 NonOverlappingTemplate9 9 11 12 8 12 11 9 9 10 0.994250 0.9800 NonOverlappingTemplate

11 15 12 6 8 6 12 12 6 12 0.401199 0.9900 NonOverlappingTemplate13 9 8 8 7 11 9 7 16 12 0. 554420 0.9800 NonOverlappingTemplate

Page 170: Diss Lavdanskiy

69917947710771141З551012119

211З41161061416515109111З1199101081З1210127181810111286149991191186

1б1

8 17 10 7 9 11 14 11 7 0.З04126 1.0000 NonOverlappingTemplate7 15 12 17 8 7 9 6 10 0.224821 0.9900 NonOverlappingTemplate11 8 10 8 10 12 15 11 6 0.779188 1.0000 NonOverlappingTemplate11 10 5 12 8 7 8 14 8 0.2З6810 0.9900 NonOverlappingTemplate9 1З 9 7 11 6 10 12 14 0.759756 0.9900 NonOverlappingTemplate10 12 12 7 10 17 10 6 12 0.202268 1.0000 NonOverlappingTemplate10 1З 10 5 10 6 10 11 18 0.191687 1.0000 NonOverlappingTemplate6 6 10 1З 6 14 11 11 16 0.21ЗЗ09 0.9900 NonOverlappingTemplate9 15 7 9 10 11 12 10 7 0.8З4З08 1.0000 NonOverlappingTemplate6 7 11 12 1З 11 11 12 10 0.7981З9 1.0000 NonOverlappingTemplate7 14 14 14 11 12 7 9 5 0.З04126 0.9800 NonOverlappingTemplate11 9 10 10 11 11 7 10 10 0.99782З 0.9900 NonOverlappingTemplate10 1З 7 6 1З 11 15 10 11 0.З04126 1.0000 NonOverlappingTemplate8 5 7 6 11 12 10 14 14 0.З50485 0.9900 NonOverlappingTemplate16 9 10 10 9 1З 6 11 11 0.4З7274 0.9900 NonOverlappingTemplate11 11 8 8 14 16 15 6 6 0.108791 1.0000 NonOverlappingTemplate10 11 10 12 12 7 11 9 8 0.98З45З 1.0000 NonOverlappingTemplate11 7 18 7 14 4 10 7 10 0.096578 0.9700 NonOverlappingTemplate6 12 16 11 5 5 10 14 10 0.191687 1.0000 NonOverlappingTemplate5 9 10 10 16 8 1З 10 10 0.57490З 1.0000 NonOverlappingTemplate7 16 8 10 5 6 9 6 12 0.005762 0.9700 NonOverlappingTemplate6 10 9 6 9 9 11 19 8 0.162606 0.9900 NonOverlappingTemplate1З 7 12 12 20 10 8 9 5 0.02З545 1.0000 NonOverlappingTemplate9 9 12 14 12 5 8 12 8 0.699З1З 0.9800 NonOverlappingTemplate14 12 6 12 12 8 5 10 15 0.249284 0.9900 NonOverlappingTemplate10 11 15 5 17 10 7 5 10 0.145З26 1.0000 NonOverlappingTemplate12 8 14 11 9 10 14 7 9 0.6579ЗЗ 1.0000 NonOverlappingTemplate12 8 7 9 8 10 8 10 14 0.759756 0.9900 NonOverlappingTemplate10 9 1З 11 6 7 7 10 11 0.514124 0.9800 NonOverlappingTemplate12 11 6 10 11 10 10 9 16 0.494З92 1.0000 NonOverlappingTemplate8 14 9 7 6 10 11 1З 7 0.4З7274 1.0000 NonOverlappingTemplate8 10 1З 14 9 8 7 14 7 0.6579ЗЗ 1.0000 NonOverlappingTemplate10 6 12 6 21 10 9 9 8 0.058984 1.0000 NonOverlappingTemplate1З 6 8 10 6 16 7 9 14 0.289667 0.9900 NonOverlappingTemplate11 8 10 12 9 5 11 14 7 0.6З7119 0.9900 NonOverlappingTemplate7 11 6 9 15 12 12 7 10 0.6З7119 1.0000 NonOverlappingTemplate10 З 6 6 12 19 10 14 11 0.0З0806 1.0000 NonOverlappingTemplate14 11 5 9 9 14 7 1З 9 0.5З4146 0.9900 NonOverlappingTemplate11 11 8 14 7 12 8 1З 6 0.699З1З 1.0000 NonOverlappingTemplate10 14 10 11 9 6 9 1З 8 0.851З8З 0.9700 NonOverlappingTemplate7 8 10 12 11 14 16 6 8 0.401199 0.9900 NonOverlappingTemplate8 16 8 6 17 7 8 7 10 0.122З25 0.9800 NonOverlappingTemplate9 9 7 1З 10 9 8 1З 10 0.924076 0.9900 NonOverlappingTemplate12 9 8 1З 9 9 5 1З 12 0.759756 1.0000 NonOverlappingTemplate12 7 6 9 14 18 11 4 7 0.066882 1.0000 NonOverlappingTemplate1З 8 8 10 12 8 12 1З 9 0.851З8З 0.9900 NonOverlappingTemplate7 4 12 9 9 11 11 6 1З 0.115З87 0.9900 NonOverlappingTemplate20 6 8 7 6 11 9 8 7 0.007694 1.0000 NonOverlappingTemplate10 9 9 1З 10 9 8 12 10 0.991468 0.9900 NonOverlappingTemplate6 10 1З 8 9 11 12 6 14 0.6579ЗЗ 0.9900 NonOverlappingTemplate11 7 10 7 8 15 14 8 8 0.57490З 0.9900 NonOverlappingTemplate12 16 8 10 11 8 6 9 12 0.595549 0.9900 NonOverlappingTemplate9 11 10 18 З 8 1З 11 11 0.102526 0.9900 NonOverlappingTemplate9 12 10 6 9 14 8 8 10 0.719747 1.0000 NonOverlappingTemplate11 5 9 12 11 17 9 9 8 0.4559З7 0.9900 NonOverlappingTemplate6 1З 11 7 11 1З 10 12 8 0.7981З9 1.0000 NonOverlappingTemplate14 7 8 11 11 5 16 9 10 0.401199 1.0000 NonOverlappingTemplate10 5 8 16 16 6 11 10 7 0.171867 0.9800 NonOverlappingTemplate1З 8 12 16 15 2 7 9 9 0.080519 0.9800 NonOverlappingTemplate12 11 12 1З 4 16 2 5 14 0.020548 0.9800 NonOverlappingTemplate17 12 4 9 10 10 10 9 11 0.З8З827 1.0000 NonOverlappingTemplate14 11 12 8 12 8 7 1З 9 0.6579ЗЗ 1.0000 NonOverlappingTemplate

Page 171: Diss Lavdanskiy

162

із 8 і5 і0 9 9 9 і0 9 8 0.8б7б92 і .0000 NonOverlappingTemplateіі і5 і2 б іі іі 7 9 і2 б 0.554420 0.9900 NonOverlappingTemplateіз із іі іА іі і0 А 7 8 9 0.47498б 0.9700 NonOverlappingTemplateі2 і7 із 9 9 із 5 7 7 8 0.2і3309 і .0000 NonOverlappingTemplateіА іА 8 іі 7 і0 іі 8 іі б 0.б57933 і .0000 NonOverlappingTemplateіі 9 і2 іА б 7 7 іА іі 9 0.595549 0.9900 NonOverlappingTemplateб 8 9 іі іА і5 і5 9 б 7 0.249284 0.9800 NonOverlappingTemplate5 із і2 7 і2 іі і2 і2 і0 б 0.574903 і .0000 NonOverlappingTemplate8 5 іі і5 5 і0 іА іА і0 8 0.23б8і0 0.9800 NonOverlappingTemplate8 9 і5 9 із і0 8 9 іі 8 0.834308 0.9900 NonOverlappingTemplate

іі 9 б і2 9 9 іі і2 і0 іі 0.9бА295 0.9900 NonOverlappingTemplate9 іб іі б і2 8 і2 іі б 9 0.494392 0.9800 NonOverlappingTemplate

із іі і2 7 8 і2 8 9 із 7 0.798і39 0.9800 NonOverlappingTemplateіі і0 б і0 і0 б б і7 8 іб 0.і29б20 і .0000 NonOverlappingTemplateіз іА і0 із б 8 іА 5 7 і0 0.3і908А і .0000 NonOverlappingTemplateіі іА 8 8 А іі 9 із 7 і5 0.304і2б 0.9900 NonOverlappingTemplateіі 9 8 і2 іі іі і2 7 б із 0.834308 і .0000 NonOverlappingTemplateб і2 іі іі і5 7 і2 8 9 9 0.б78б8б і .0000 NonOverlappingTemplate

і2 7 9 б 9 і0 і0 іА і2 іі 0.8іб537 0.9900 NonOverlappingTemplateі5 7 іі із б 9 9 9 і0 іі 0.б993і3 і .0000 NonOverlappingTemplate9 б 7 8 і5 і2 9 із іА 7 0.40іі99 0.9900 NonOverlappingTemplate

із із і0 і7 9 б 5 і0 9 8 0.249284 і .0000 NonOverlappingTemplateА із 9 і5 із 5 5 і0 і8 8 0.0і9і88 і .0000 NonOverlappingTemplate

і2 8 9 8 із іі 7 А іб і2 0.289бб7 0.9800 NonOverlappingTemplate7 і0 і2 б 9 9 5 8 20 іА 0.0А0і08 0.9900 NonOverlappingTemplate

і0 7 із і5 б іі і0 іі 9 8 0.б78б8б 0.9700 NonOverlappingTemplateі2 іб б 9 із 9 і0 5 і0 і0 0.4і902і 0.9900 NonOverlappingTemplateі2 і0 7 9 і2 і0 5 і2 7 іб 0.4і902і 0.9800 NonOverlappingTemplateі2 іі із 7 б із і0 із 8 7 0.б37іі9 0.9900 NonOverlappingTemplateі2 2 і7 і2 і2 і2 б і0 іі б 0.0б282і і .0000 NonOverlappingTemplateі2 і7 9 8 8 іі 7 8 і2 8 0.494392 0.9800 NonOverlappingTemplateіі іА іі 7 3 іА іі із і0 б 0.22А82і 0.9800 NonOverlappingTemplateб 7 іі і5 і0 іі 9 іА іі б 0.47498б 0.9800 NonOverlappingTemplate7 іА іА із із 8 8 9 б 8 0.455937 0.9800 NonOverlappingTemplate8 із б 7 із із і0 і0 8 і2 0.б993і3 і .0000 NonOverlappingTemplateб іі і7 8 б і0 і0 8 і2 і2 0.3бб9і8 0.9900 NonOverlappingTemplate

із і0 8 8 9 б іі іі і0 іА 0.8іб537 0.9б00 NonOverlappingTemplate8 8 і2 і2 8 5 і2 із іі іі 0.7399і8 0.9900 NonOverlappingTemplate9 б 8 3 із із і5 і2 8 із 0.іб2б0б і .0000 NonOverlappingTemplate

із 8 б і0 8 іА іі 7 іА 9 0.574903 і .0000 NonOverlappingTemplate9 і0 і2 і2 9 і0 і0 8 іА б 0.8б7б92 0.9900 NonOverlappingTemplate

і0 іі іб іА 5 іі і0 А 7 і2 0.і7і8б7 і .0000 NonOverlappingTemplateіі 9 і0 іі 9 і2 8 9 і0 іі 0.997823 0.9900 NonOverlappingTemplateі2 8 8 із 7 і2 і5 8 і0 7 0.біб305 і .0000 NonOverlappingTemplate8 і2 іі і0 9 із 7 із 5 і2 0.б78б8б 0.9900 NonOverlappingTemplate7 5 іі із і0 8 іі і2 і0 із 0.7і97А7 0.9900 NonOverlappingTemplateб 8 і2 із і2 і0 8 іі і0 і0 0.8977б3 і .0000 NonOverlappingTemplateб іі 5 іі із іі і0 і5 і0 8 0.5іАі2А 0.9900 NonOverlappingTemplate7 і2 7 8 5 і2 9 і2 із і5 0.40іі99 і .0000 NonOverlappingTemplate

із іА і2 і2 іі 8 б б 8 і0 0.595549 і .0000 NonOverlappingTemplateіб 9 9 іі іА іі А і0 9 7 0.334538 0.9700 NonOverlappingTemplate9 і2 7 із і0 і2 і5 б б і0 0.494392 і .0000 NonOverlappingTemplate

іі 9 із 8 і0 і2 8 3 іб і0 0.289бб7 0.9900 NonOverlappingTemplate9 із іб іі іі 7 9 5 із б 0.289бб7 0.9800 NonOverlappingTemplate

і5 8 А іі і0 іі іі 7 і2 іі 0.5іАі2А 0.9900 NonOverlappingTemplateіі 7 і0 8 7 9 із і8 8 9 0.334538 0.9800 NonOverlappingTemplateіб іі іА іб 9 7 і0 А 5 8 0.058984 0.9900 NonOverlappingTemplate9 і0 9 7 9 і2 9 і2 9 іА 0.92А07б і .0000 NonOverlappingTemplate

іі із іі 7 7 7 8 іА із 9 0.б57933 0.9700 NonOverlappingTemplate7 і0 іі і7 5 і0 і2 7 із 8 0.275709 0.9900 NonOverlappingTemplateА 9 8 і2 іб іі іА 7 і0 9 0.289бб7 і .0000 NonOverlappingTemplate

і0 іі 9 і2 7 і0 8 5 іб і2 0.494392 0.9900 NonOverlappingTemplate

Page 172: Diss Lavdanskiy

163

9 12 9 5 10 14 11 15 8 7 0 .474986 1 . 0000 NonOverlappingTemplate13 4 4 13 9 9 12 12 8 16 0 .122325 0 .9700 NonOverlappingTemplate7 8 14 9 11 11 8 10 11 11 0 .924076 1 . 0000 NonOverlappingTemplate

15 6 8 13 13 14 6 8 10 7 0 .289667 0 .9700 NonOverlappingTemplate9 10 18 12 11 11 9 5 8 7 0 .275709 1 . 0000 NonOverlappingTemplate

11 6 8 13 11 11 10 11 8 11 0 .924076 0 .9600 NonOverlappingTemplate12 12 13 7 7 3 10 10 14 12 0 .319084 1 . 0000 NonOverlappingTemplate13 7 13 3 12 14 13 7 11 7 0 .191687 0 .9800 NonOverlappingTemplate13 5 13 8 11 12 9 9 8 12 0 .719747 0 .9900 NonOverlappingTemplate7 9 19 7 13 13 10 9 4 9 0 .075719 0 .9900 NonOverlappingTemplate

11 7 8 10 14 14 7 10 13 6 0 .534146 1 . 0000 NonOverlappingTemplate8 12 13 9 12 9 11 11 8 7 0.924076 1 . 0000 NonOverlappingTemplate

13 8 15 10 9 9 9 10 9 8 0 .867692 1 . 0000 NonOverlappingTemplate12 12 9 6 8 16 14 5 10 8 0.275709 0.9900 OverlappingTemplate8 11 9 5 13 7 10 13 11 13 0.657933 0.9800 Universal

11 11 9 11 12 11 11 9 9 6 0.971699 1.0000 ApproximateEntropy5 6 7 6 6 7 9 7 6 5 0.985035 0.9688 RandomExcursions5 4 8 6 5 3 10 9 9 5 0.437274 0.9688 RandomExcursions5 12 6 4 9 3 6 6 6 7 0.350485 1.0000 RandomExcursions6 9 9 5 4 6 2 11 4 8 0.213309 0.9844 RandomExcursions5 8 5 9 5 5 6 11 5 5 0.602458 1.0000 RandomExcursions6 5 11 8 10 5 6 4 4 5 0.407091 1.0000 RandomExcursions8 5 6 6 4 6 5 8 4 12 0.437274 0.9844 RandomExcursions5 7 3 7 10 6 8 6 8 4 0.671779 1.0000 RandomExcursions7 10 2 5 10 5 6 7 8 4 0. 350485 0.9844 RandomExcursionsVariant8 5 8 4 7 5 7 9 5 6 0.888137 0.9844 RandomExcursionsVariant7 8 8 3 3 8 11 5 6 5 0.378138 0.9844 RandomExcursionsVariant9 9 8 2 6 7 5 10 3 5 0.275709 1.0000 RandomExcursionsVariant7 8 5 8 5 9 7 4 5 6 0.888137 1.0000 RandomExcursionsVariant9 3 8 8 6 11 2 3 10 4 0.066882 1.0000 RandomExcursionsVariant6 6 6 8 9 7 6 4 6 6 0.964295 1.0000 RandomExcursionsVariant8 9 5 2 5 7 8 9 6 5 0. 568055 0.9844 RandomExcursionsVariant

10 2 6 5 8 7 6 9 6 5 0. 534146 0.9844 RandomExcursionsVariant3 8 9 5 6 10 6 6 5 6 0.671779 1.0000 RandomExcursionsVariant6 5 8 10 6 10 5 6 3 5 0. 534146 1.0000 RandomExcursionsVariant6 10 9 6 4 8 6 5 7 3 0.602458 0.9688 RandomExcursionsVariant7 11 5 6 9 4 4 7 7 4 0. 500934 0.9844 RandomExcursionsVariant

10 7 5 4 6 8 7 6 6 5 0.862344 0.9844 RandomExcursionsVariant12 5 7 6 5 6 8 4 5 6 0. 534146 0.9844 RandomExcursionsVariant9 8 4 6 10 5 3 7 4 8 0.468595 0.9531 * RandomExcursionsVariant

10 5 9 2 7 6 7 7 6 5 0. 568055 0.9375 * RandomExcursionsVariant11 6 2 6 5 7 8 5 9 5 0. 378138 0.9531 * RandomExcursionsVariant10 11 8 10 12 9 8 15 7 10 0.851383 0.9900 Serial11 7 9 11 10 6 14 10 12 10 0.851383 0.9900 Serial18 6 8 9 8 10 12 10 10 9 0.401199 0.9900 LinearComplexity

The minimum pass rate for each statistical test with the exception of the random excursion (variant) test is approximately = 0.960150 for a sample size = 100 binary sequences.

The minimum pass rate for the random excursion (variant) test is approximately 0.952688 for a sample size = 64 binary sequences.

For further guidelines construct a probability table using the MAPLE program provided in the addendum section of the documentation.

Page 173: Diss Lavdanskiy

164

ДОДАТОК Е

Результати тестування комбінаційного генератора за допомогою

статистичного пакету Diehard

Для 4 первинних генераторів на основі ЛКМ:SPACINGS TEST, M= 512 N=

CM**CM LAMBDA= 2.0000lcg/4-gen.bin using bits 1 to 24 p-value= .779130lcg/4-gen.bin using bits 2 to 25 p-value= .706362lcg/4-gen.bin using bits 3 to 26 p-value= .273781lcg/4-gen.bin using bits 4 to 27 p-value= .548509lcg/4-gen.bin using bits 5 to 28 p-value= .622678lcg/4-gen.bin using bits 6 to 29 p-value= .596486lcg/4-gen.bin using bits 7 to 30 p-value= .696708lcg/4-gen.bin using bits 8 to 31 p-value= .428256lcg/4-gen.bin using bits 9 to 32 p-value= .618115

p-values were779130 .706362 .273781 .548509 .622678596486 .696708 .428256 618115

A KSTEST for the 9 p-values yields .834860

OPERM5 test for file lcg/4-gen.bin chisquare for 99 degrees of freedom=108.464; p-value= .757905

OPERM5 test for file lcg/4-gen.bin chisquare for 99 degrees of freedom= 98.779; p-value= .512637

Binary rank test for lcg/4-gen.binRank test for 31x31 binary matrices:

rows from leftmost 31 bits of each 32-bit integerrank

28293031

observed2575153

2307411516

expected (o-e)A2/e 211.4 9.827533

sum 9.828 9.898 9.934

10.044 982565

5134.0 .07024023103.0 .03652011551.5 .109248

chisquare=10.044 for 3 d. of f.; p-value=Binary rank test for lcg/4-gen.bin

Rank test for 32x32 binary matrices: rows from leftmost 32 bits of each 32-bit integer

rank observed expected (o-e)A2/e sum29 203 211.4 .335179 .33530 5129 5134.0 .004889 .34031 23113 23103.0 .004288 .34432 11555 11551.5 .001046 .345

chisquare= .345 for 3 d. of f.; p-value= .327089

b-rank test for bits 1 to 8 p=1-exp -SUM/2)= .71816b-rank test for bits 2 to 9 p=1-exp -SUM/2)= .35388b-rank test for bits 3 to 10 p=1-exp -SUM/2)= .96889b-rank test for bits 4 to 11 p=1-exp -SUM/2)= .65074b-rank test for bits 5 to 12 p=1-exp -SUM/2)= .01673b-rank test for bits 6 to 13 p=1-exp -SUM/2)= .50251b-rank test for bits 7 to 14 p=1-exp -SUM/2)= .77769b-rank test for bits 8 to 15 p=1-exp -SUM/2)= .31227b-rank test for bits 9 to 16 p=1-exp -SUM/2)= .04613b-rank test for bits 10 to 17 p=1-exp -SUM/2)= .40625b-rank test for bits 11 to 18 p=1-exp -SUM/2)= .01386b-rank test for bits 12 to 19 p=1-exp -SUM/2)= .03112b-rank test for bits 13 to 20 p=1-exp -SUM/2)= .18472

Page 174: Diss Lavdanskiy

165

b-rank test for bits 14 to 21 p=1-exp(-SUM/2)= .00911b-rank test for bits 15 to 22 p=1-exp(-SUM/2)= .21307b-rank test for bits 16 to 23 p=1-exp(-SUM/2)= .74761b-rank test for bits 17 to 24 p=1-exp(-SUM/2)= .13907b-rank test for bits 18 to 25 p=1-exp(-SUM/2)= .87551b-rank test for bits 19 to 26 p=1-exp(-SUM/2)= .15162b-rank test for bits 20 to 27 p=1-exp(-SUM/2)= .74794b-rank test for bits 21 to 28 p=1-exp(-SUM/2)= .94473b-rank test for bits 22 to 29 p=1-exp(-SUM/2)= .01034b-rank test for bits 23 to 30 p=1-exp(-SUM/2)= .27632b-rank test for bits 24 to 31 p=1-exp(-SUM/2)= .49612b-rank test for bits 25 to 32 p=1-exp(-SUM/2)= .66117

TEST SUMMARY, 25 tests on 100,000 random 6x8 matrices These should be 25 uniform [0,1] random variables:

.718155

.502515

.013859

.747609

.944727

.353880

.777691

.031123

.139072

.010344

.968889

.312269

.184717

.875507

.276321

.650741

.046131

.009109

.151621

.496118

.016732

.406249

.213073

.747941

.661172brank test summary for lcg/4-gen.bin

The KS test for those 25 supposed UNI's yields KS p-value= .953053

No missing words should average 141909 with sigma=

00CMII

tst no 1 141093 missing words, -1.91 sigmas from mean, p-value=tst no 2 142201 missing words, .68 sigmas from mean, p-value=tst no 3 141566 missing words, -.80 sigmas from mean, p-value=tst no 4 141142 missing words, -1.79 sigmas from mean, p-value=tst no 5 142113 missing words, .48 sigmas from mean, p-value=tst no 6 142231 missing words, .75 sigmas from mean, p-value=tst no 7 141281 missing words, -1.47 sigmas from mean, p-value=tst no 8 142039 missing words, .30 sigmas from mean, p-value=tst no 9 141978 missing words, .16 sigmas from mean, p-value=tst no 10 142094 missing words, .43 sigmas from mean, p-value=tst no 11 142848 missing words, 2.19 sigmas from mean, p-value=tst no 12 141609 missing words, -.70 sigmas from mean, p-value=tst no 13 141885 missing words, -.06 sigmas from mean, p-value=tst no 14 142507 missing words, 1.40 sigmas from mean, p-value=tst no 15 142558 missing words, 1.52 sigmas from mean, p-value=tst no 16 141898 missing words, -.03 sigmas from mean, p-value=tst no 17 141965 missing words, .13 sigmas from mean, p-value=tst no 18 141020 missing words, -2.08 sigmas from mean, p-value=tst no 19 141076 missing words, -1.95 sigmas from mean, p-value=tst no 20 142367 missing words, 1.07 sigmas from mean, p-value=

OPSO for lcg/4-gen.bin using bits 23 to 32 142641 2.523OPSO for lcg/4-gen.bin using bits 22 to 31 141684 -.777OPSO for lcg/4-gen.bin using bits 21 to 30 141868 -.143OPSO for lcg/4-gen.bin using bits 20 to 29 141483 -1.470OPSO for lcg/4-gen.bin using bits 19 to 28 141838 -.246OPSO for lcg/4-gen.bin using bits 18 to 27 141476 -1.494OPSO for lcg/4-gen.bin using bits 17 to 26 142001 .316OPSO for lcg/4-gen.bin using bits 16 to 25 142378 1.616OPSO for lcg/4-gen.bin using bits 15 to 24 141896 -.046OPSO for lcg/4-gen.bin using bits 14 to 23 141566 -1.184OPSO for lcg/4-gen.bin using bits 13 to 22 142326 1.437OPSO for lcg/4-gen.bin using bits 12 to 21 141749 -.553OPSO for lcg/4-gen.bin using bits 11 to 20 141874 -.122OPSO for lcg/4-gen.bin using bits 10 to 19 142191 .971OPSO for lcg/4-gen.bin using bits 9 to 18 141705 -.705OPSO for lcg/4-gen.bin using bits 8 to 17 142250 1.175OPSO for lcg/4-gen.bin using bits 7 to 16 141406 -1.736

.02824

.75221

.21123

.03650

.68292

.77385

.07104

.61904

.56374

.66694

.98585

.24143

.47734

.91871

.93519

.48944

.55175

.01886

.02577

.85754

.9942

.2186

.4433

.0708

.4029

.0676

.6240

.9470

.4817

.1182

.9246

.2902

.4515

.8343

.2405

.8799

.0413

Page 175: Diss Lavdanskiy

166

OPSO for lcg/4-gen bin using bitsOPSO for lcg/4-gen bin using bitsOPSO for lcg/4-gen bin using bitsOPSO for lcg/4-gen bin using bitsOPSO for lcg/4-gen bin using bitsOPSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsOQSO for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bitsDNA for lcg/4-gen bin using bits

6 to 15 141433 -1.643 .05025 to 14 141210 -2.411 .00794 to 13 141608 -1.039 .14943 to 12 141819 -.311 .37772 to 11 142662 2.595 .99531 to 10 142056 .506 .693528 to 32 141636 -.927 .177127 to 31 141790 - .405 .342926 to 30 142198 .979 .836125 to 29 141913 .012 .505024 to 28 141788 - .411 .340423 to 27 142004 .321 .625922 to 26 141630 -.947 .171921 to 25 142310 1.358 .912820 to 24 142167 .873 .808819 to 23 142290 1.290 .901518 to 22 141690 -.743 .228617 to 21 142155 .833 .797516 to 20 142058 .504 .692915 to 19 141512 -1.347 .089014 to 18 142219 1.050 .853113 to 17 141502 -1.381 .083712 to 16 141831 -.266 .395311 to 15 141996 .294 .615510 to 14 142391 1.633 .94879 to 13 141875 -.116 .45378 to 12 142140 .782 .78297 to 11 142086 .599 .72546 to 10 141780 - .438 .33055 to 9 141985 .257 .60124 to 8 141722 -.635 .26273 to 7 141847 -.211 .41632 to 6 141899 -.035 .48601 to 5 141460 -1.523 .063931 to 32 141805 -.308 .379130 to 31 141960 .149 .559429 to 30 141125 -2.314 .010328 to 29 141350 -1.650 .049527 to 28 141895 -.042 .483126 to 27 141464 -1.314 .094525 to 26 141962 .155 .561724 to 25 142154 .722 .764823 to 24 142496 1.731 .958222 to 23 142385 1.403 .919721 to 22 141196 -2.104 .017720 to 21 142458 1.619 .947219 to 20 142144 .692 .755618 to 19 141979 .206 .581417 to 18 142372 1.365 .913816 to 17 141932 .067 .526715 to 16 142734 2.433 .992514 to 15 141451 -1.352 .088213 to 14 142379 1.385 .917012 to 13 142163 .748 .772911 to 12 141831 -.231 .408610 to 11 141626 -.836 .20169 to 10 142222 .922 .82188 to 9 141939 .088 .53497 to 8 142443 1.574 .94236 to 7 141639 -.797 .21265 to 6 141877 -.095 .46204 to 5 142201 .860 .8052

Page 176: Diss Lavdanskiy

167

DNA for lcg/4-gen.bin using bits 3 to 4 141993 .247 .5975DNA for lcg/4-gen.bin using bits 2 to 3 141859 -.148 .4410DNA for lcg/4-gen.bin using bits 1 to 2 142331 1.244 .8932

Test results for lcg/4-gen.bin Chi-square with 5A5-5A4=2500 d.of f. for sample size:2560000

chisquare equiv normal p-value Results fo COUNT-THE-1's in successive bytes:

byte stream for lcg/4-gen.bin 2473.65 -.373 .354688byte stream for lcg/4-gen.bin 2564.38 .910 .818711

Chi-square with 5A5-5A4=2500 d.of f. for sample size: 256000chisquare equiv normal p value

Results for COUNT-THE-1's in specified bytes:bits 1 to 8 2435.26 - .916 .179963bits 2 to 9 2519.96 .282 .611130bits 3 to 10 2511.13 .157 .562552bits 4 to 11 2595.00 1.343 .910441bits 5 to 12 2590.12 1.274 .898747bits 6 to 13 2560.70 .858 .804655bits 7 to 14 2585.32 1.207 .886217bits 8 to 15 2465.38 - .490 .312189bits 9 to 16 2480.83 -.271 .393179bits 10 to 17 2488.20 - .167 .433749bits 11 to 18 2620.75 1.708 .956152bits 12 to 19 2474.98 -.354 .361736bits 13 to 20 2541.30 .584 .720436bits 14 to 21 2512.18 .172 .568353bits 15 to 22 2493.89 - .086 .465565bits 16 to 23 2448.90 - .723 .234935bits 17 to 24 2673.34 2.451 .992884bits 18 to 25 2392.74 -1.517 .064643bits 19 to 26 2573.71 1.042 .851401bits 20 to 27 2288.53 -2.991 .001392bits 21 to 28 2547.98 .678 .751268bits 22 to 29 2495.61 - .062 .475238bits 23 to 30 2535.56 .503 .692463bits 24 to 31 2417.48 -1.167 .121609bits 25 to 32 2626.95 1.795 .963699

CDPARK: result of ten tests on file lcg/4-gen.lOf 12,000 tries, the average no. of successes

should be 3523 with sigma=21.9Successes: 3518 z-score: -.228 p-value: 409702Successes: 3523 z-score: . 000 p-value: 500000Successes: 3542 z-score: .868 p-value: 807188Successes: 3526 z-score: .137 p-value: .554479Successes: 3501 z-score: -1.005 p-value: 157553Successes: 3506 z-score: -.776 p-value: 218799Successes: 3537 z-score: .639 p-value: 738676Successes: 3556 z-score: 1.507 p-value: 934075Successes: 3527 z-score: .183 p-value: 572463Successes: 3509 z-score: -.639 p-value: .261324

square size avg.. no. parked sample sigma100. 3524.500 16. 240

KSTEST for the above 10: p= .053698

This is the MINIMUM DISTANCE test for random integers in the file lcg/4-gen.bin

Sample no. dA2 avg equiv uni 5 4.4345 1.5309 .988400

Page 177: Diss Lavdanskiy

168

10 1.4070 1.3712 .75685115 1.0215 1.2922 .64180220 2.4514 1.4466 .91488425 1.6369 1.3646 .80700830 .6789 1.2618 .49457835 .5158 1.1618 .40455040 .7042 1.2070 .50722845 .2857 1.1993 .24956350 1.4610 1.1577 .76968655 .4784 1.0930 .38172060 .0583 1.0810 .05690065 .1595 1.0508 .14807170 1.0140 1.0175 .63907775 .2069 .9916 .18773880 1.3862 .9884 .75171085 2.0147 1.0236 .86798890 1.9569 1.0720 .86008295 .5206 1.0532 .407414

100 3.2450 1.0436 .961660MINIMUM DISTANCE TEST for lcg/4-gen.bin

Result of KS test on 20 transformed mindistA2's:p-value= .758705

The 3DSPHERES test for file lcg/4-gen.binsample no: 1 rA3= 78.946 p-value= .92803sample no: 2 rA3= 8.091 p-value= .23638sample no: 3 rA3= 20.753 p-value= .49930sample no: 4 rA3= 20.488 p-value= .49488sample no: 5 rA3= 64.432 p-value= .88325sample no: 6 rA3= 3.569 p-value= .11215sample no: 7 rA3= 6.863 p-value= .20448sample no: 8 rA3= 7.182 p-value= .21291sample no: 9 rA3= 13.307 p-value= .35825sample no: 10 rA3= 13.608 p-value= .36466sample no: 11 rA3= 33.200 p-value= .66934sample no: 12 rA3= .020 p-value= .00066sample no: 13 rA3= 50.577 p-value= .81472sample no: 14 rA3= 13.188 p-value= .35570sample no: 15 rA3= 57.485 p-value= .85283sample no: 16 rA3= 29.558 p-value= .62666sample no: 17 rA3= 28.826 p-value= .61744sample no: 18 rA3= 16.290 p-value= .41899sample no: 19 rA3= 27.619 p-value= .60174sample no: 20 rA3= 23.628 p-value= .54506

3DSPHERES test for file lcg/4-gen.bin p-value= .223135

RESULTS OF SQUEEZE TEST FOR lcg/4-gen.bin Table of standardized frequency counts

( (obs- exp)/sqrt(exp) )A2for j taking values <=6,7,8, ...,47, >=48:

-1. 5 .9 1.5 -.1 -.9 -.6-2.7 1.9 -1.2 .7 -.1 2.3-2.7 1.7 .2 -1.6 -.6 -.5

6 -1.7 .9 2.8 .4 .8-1. 0 .1 -.9 1.3 -.6 -.91.6 3.0 .1 .5 -1.0 .6

9 .5 .5 .4 -.6 1.01.8

Chi-square with 42 degrees of freedom: 74.270 z-score= 3.521 p-value= .998409

Page 178: Diss Lavdanskiy

169

Test no. 1 p-value .211135Test no. 2 p-value .634042Test no. 3 p-value .343075Test no. 4 p-value .712870Test no. 5 p-value .261787Test no. 6 p-value .858744Test no. 7 p-value .841534Test no. 8 p-value .395405Test no. 9 p-value .918616Test no. 10 p-value .832215

Results of the OSUM test for lcg/4-gen.binKSTEST on the above 10 p-values: .604252

The RUNS test for file lcg/4-gen.bin Up and down runs in a sample of 10000

Run test for lcg/4-gen.bin runs up; ks test for 10 p's: .478656

runs down; ks test for 10 p's: .420336Run test for lcg/4-gen.bin

runs up; ks test for 10 p's: .457588runs down; ks test for 10 p's: .943058

Results of craps test for lcg/4-gen.bin No. of wins: Observed Expected

98566 98585.86Chisq= 14.87 for 20 degrees of freedom, p= .21625

Throws Observed Expected Chisq Sum SUMMARY FOR lcg/4-gen.bin

p-value for no. of wins: .464611 p-value for throws/game: .216251

Test completed. File lcg/4-gen.bin

Для 8 первинних генераторів на основі ЛКМ:SPACINGS TEST, M= 512 N=

CM**CM LAMBDA= 2.0000lcg/8-gen.bin using bits 1 to 24 p-value= .800409lcg/8-gen.bin using bits 2 to 25 p-value= .957166lcg/8-gen.bin using bits 3 to 26 p-value= .866740lcg/8-gen.bin using bits 4 to 27 p-value= .412913lcg/8-gen.bin using bits 5 to 28 p-value= .268501lcg/8-gen.bin using bits 6 to 29 p-value= .657549lcg/8-gen.bin using bits 7 to 30 p-value= .169244lcg/8-gen.bin using bits 8 to 31 p-value= .344791lcg/8-gen.bin using bits 9 to 32 p-value= .554215

p-values were800409 .957166 .866740 412913 .268501657549 .169244 .344791 554215

A KSTEST for the 9 p-values yields .105355

OPERM5 test for file lcg/8-gen.bin chisquare for 99 degrees of freedom=116.024; p-value= .883729

OPERM5 test for file lcg/8-gen.bin chisquare for 99 degrees of freedom=116.063; p-value= .884212

Binary rank test for lcg/8-gen.binRank test for 31x31 binary matrices:

rows from leftmost 31 bits of each 32-bit integer rank observed expected (o-e)A2/e sum

28 193 211.4 1.604514 1.605

Page 179: Diss Lavdanskiy

170

29 5160 5134.0 .131567 1.73630 23044 23103.0 .150912 1.88731 11603 11551.5 .229384 2.116

chisquare= 2.116 for 3 d. of f.; p-value= .524259Binary rank test for lcg/8-gen.bin

Rank test for 32x32 binary matrices: rows from leftmost 32 bits of each 32-bit integer

rank29303132

chisquare=

observed2065099

2315611539

expected (o-e)A2/e211.4

5134.023103.011551.5

.513 for 3 d. of f

.138848

.238745

.121371

.013579 ; p-value=

sum .139 .378 .499 .513 320893

b-rank test for bits 1 to 8 p=1-exp -SUM/2)= .62344b-rank test for bits 2 to 9 p=1-exp -SUM/2)= .43098b-rank test for bits 3 to 10 p=1-exp -SUM/2)= .17471b-rank test for bits 4 to 11 p=1-exp -SUM/2)= .77828b-rank test for bits 5 to 12 p=1-exp -SUM/2)= .18682b-rank test for bits 6 to 13 p=1-exp -SUM/2)= .74003b-rank test for bits 7 to 14 p=1-exp -SUM/2)= .93969b-rank test for bits 8 to 15 p=1-exp -SUM/2)= .75023b-rank test for bits 9 to 16 p=1-exp -SUM/2)= .75297b-rank test for bits 10 to 17 p=1-exp -SUM/2)= .32865b-rank test for bits 11 to 18 p=1-exp -SUM/2)= .49654b-rank test for bits 12 to 19 p=1-exp -SUM/2)= .98886b-rank test for bits 13 to 20 p=1-exp -SUM/2)= .85399b-rank test for bits 14 to 21 p=1-exp -SUM/2)= .48651b-rank test for bits 15 to 22 p=1-exp -SUM/2)= .08712b-rank test for bits 16 to 23 p=1-exp -SUM/2)= .66409b-rank test for bits 17 to 24 p=1-exp -SUM/2)= .72979b-rank test for bits 18 to 25 p=1-exp -SUM/2)= .93949b-rank test for bits 19 to 26 p=1-exp -SUM/2)= .70194b-rank test for bits 20 to 27 p=1-exp -SUM/2)= .11594b-rank test for bits 21 to 28 p=1-exp -SUM/2)= .35300b-rank test for bits 22 to 29 p=1-exp -SUM/2)= .83174b-rank test for bits 23 to 30 p=1-exp -SUM/2)= .79676b-rank test for bits 24 to 31 p=1-exp -SUM/2)= .51346b-rank test for bits 25 to 32 p=1-exp -SUM/2)= .92549

TEST SUMMARY, These should be

.623441

.740034

.496538

.664094

.353002

25 tests on 100,000 random 6x8 matrices 25 uniform [0,1] random variables:.430976.939695.988859.729786.831740

.174714

.750228

.853993

.939488

.796757

.778280

.752973

.486509

.701936

.513456

.186823

.328651

.087120

.115940

.925486brank test summary for lcg/8-gen.bin

The KS test for those 25 supposed UNI's yields KS p-value= .901069

No missing words should average 141909 with sigma=

00CM

tst no 1: 142209 missing words, .70 sigmas from mean, p-value= .75809tst no 2: 142038 missing words, .30 sigmas from mean, p-value= .61815tst no 3: 141387 missing words, -1.22 sigmas from mean, p-value= .11116tst no 4: 142348 missing words, 1.02 sigmas from mean, p-value= .84730tst no 5: 141779 missing words, -.30 sigmas from mean, p-value= .38037tst no 6: 142122 missing words, .50 sigmas from mean, p-value= .69037tst no 7: 142393 missing words, 1.13 sigmas from mean, p-value= .87078tst no 8: 141199 missing words, -1.66 sigmas from mean, p-value= .04849tst no 9: 142289 missing words, .89 sigmas from mean, p-value= .81248tst no 10 141655 missing words, -.59 sigmas from mean, p-value= .27618tst no 11 141756 missing words, -.36 sigmas from mean, p-value= .36008

Page 180: Diss Lavdanskiy

171

tst no 12 142058 missing words, .35 sigmas from mean, p-value= .63584tst no 13 141294 missing words, -1.44 sigmas from mean, p-value= .07526tst no 14 142253 missing words, .80 sigmas from mean, p-value= .78900tst no 15 142351 missing words, 1.03 sigmas from mean, p-value= .84895tst no 16 141439 missing words, -1.10 sigmas from mean, p-value= .13591tst no 17 141772 missing words, -.32 sigmas from mean, p-value= .37416tst no 18 141733 missing words, - .41 sigmas from mean, p-value= .34018tst no 19 141433 missing words, -1.11 sigmas from mean, p-value= .13287tst no 20 142140 missing words, .54 sigmas from mean, p-value= .70504

OPSO for cg/8-gen.bin using bits 23 to 32 142402 1.699 .9553OPSO for cg/8-gen.bin using bits 22 to 31 141436 -1.632 .0513OPSO for cg/8-gen.bin using bits 21 to 30 141716 -.667 .2525OPSO for cg/8-gen.bin using bits 20 to 29 141667 -.836 .2017OPSO for cg/8-gen.bin using bits 19 to 28 141676 -.805 .2105OPSO for cg/8-gen.bin using bits 18 to 27 141860 -.170 .4325OPSO for cg/8-gen.bin using bits 17 to 26 142204 1.016 .8452OPSO for cg/8-gen.bin using bits 16 to 25 142019 .378 .6474OPSO for cg/8-gen.bin using bits 15 to 24 142640 2.520 .9941OPSO for cg/8-gen.bin using bits 14 to 23 141861 -.167 .4338OPSO for cg/8-gen.bin using bits 13 to 22 141874 -.122 .4515OPSO for cg/8-gen.bin using bits 12 to 21 141872 -.129 .4488OPSO for cg/8-gen.bin using bits 11 to 20 141773 - .470 .3191OPSO for cg/8-gen.bin using bits 10 to 19 141724 -.639 .2614OPSO for cg/8-gen.bin using bits 9 to 18 141880 -.101 .4597OPSO for cg/8-gen.bin using bits 8 to 17 142280 1.278 .8994OPSO for cg/8-gen.bin using bits 7 to 16 141537 -1.284 .0996OPSO for cg/8-gen.bin using bits 6 to 15 142110 .692 .7555OPSO for cg/8-gen.bin using bits 5 to 14 142202 1.009 .8436OPSO for cg/8-gen.bin using bits 4 to 13 142212 1.044 .8517OPSO for cg/8-gen.bin using bits 3 to 12 142367 1.578 .9427OPSO for cg/8-gen.bin using bits 2 to 11 142107 .682 .7523OPSO for cg/8-gen.bin using bits 1 to 10 141780 - .446 .3278OQSO for cg/8-gen.bin using bits 28 to 32 141500 -1.388 .0826OQSO for cg/8-gen.bin using bits 27 to 31 141781 - .435 .3318OQSO for cg/8-gen.bin using bits 26 to 30 141748 -.547 .2922OQSO for cg/8-gen.bin using bits 25 to 29 141848 -.208 .4177OQSO for cg/8-gen.bin using bits 24 to 28 141519 -1.323 .0929OQSO for cg/8-gen.bin using bits 23 to 27 142256 1.175 .8800OQSO for cg/8-gen.bin using bits 22 to 26 142414 1.711 .9564OQSO for cg/8-gen.bin using bits 21 to 25 142023 .385 .6500OQSO for cg/8-gen.bin using bits 20 to 24 141515 -1.337 .0907OQSO for cg/8-gen.bin using bits 19 to 23 141469 -1.493 .0678OQSO for cg/8-gen.bin using bits 18 to 22 142152 .823 .7946OQSO for cg/8-gen.bin using bits 17 to 21 142241 1.124 .8696OQSO for cg/8-gen.bin using bits 16 to 20 141584 -1.103 .1351OQSO for cg/8-gen.bin using bits 15 to 19 141406 -1.706 .0440OQSO for cg/8-gen.bin using bits 14 to 18 141937 .094 .5374OQSO for cg/8-gen.bin using bits 13 to 17 141647 -.889 .1869OQSO for cg/8-gen.bin using bits 12 to 16 142091 .616 .7310OQSO for cg/8-gen.bin using bits 11 to 15 141608 -1.021 .1535OQSO for cg/8-gen.bin using bits 10 to 14 142305 1.341 .9101OQSO for cg/8-gen.bin using bits 9 to 13 141918 .029 .5117OQSO for cg/8-gen.bin using bits 8 to 12 141717 -.652 .2572OQSO for cg/8-gen.bin using bits 7 to 11 141786 - .418 .3380OQSO for cg/8-gen.bin using bits 6 to 10 141856 -.181 .4283OQSO for cg/8-gen.bin using bits 5 to 9 142210 1.019 .8460OQSO for cg/8-gen.bin using bits 4 to 8 141960 .172 .5682OQSO for cg/8-gen.bin using bits 3 to 7 142216 1.040 .8507OQSO for cg/8-gen.bin using bits 2 to 6 141963 .182 .5722OQSO for cg/8-gen.bin using bits 1 to 5 141941 .107 .5427DNA for cg/8-gen.bin using bits 31 to 32 141499 -1.210 .1131

Page 181: Diss Lavdanskiy

172

DNA for lcg/8-gen.bin using bits 30 to 31 141869 -.119 .4527DNA for lcg/8-gen.bin using bits 29 to 30 141495 -1.222 .1108DNA for lcg/8-gen.bin using bits 28 to 29 141834 -.222 .4121DNA for lcg/8-gen.bin using bits 27 to 28 141979 .206 .5814DNA for lcg/8-gen.bin using bits 26 to 27 141914 .014 .5055DNA for lcg/8-gen.bin using bits 25 to 26 141758 - .446 .3277DNA for lcg/8-gen.bin using bits 24 to 25 141324 -1.727 .0421DNA for lcg/8-gen.bin using bits 23 to 24 141727 -.538 .2953DNA for lcg/8-gen.bin using bits 22 to 23 141850 -.175 .4305DNA for lcg/8-gen.bin using bits 21 to 22 142105 .577 .7181DNA for lcg/8-gen.bin using bits 20 to 21 141688 -.653 .2569DNA for lcg/8-gen.bin using bits 19 to 20 141251 -1.942 .0261DNA for lcg/8-gen.bin using bits 18 to 19 142404 1.459 .9277DNA for lcg/8-gen.bin using bits 17 to 18 141784 -.370 .3558DNA for lcg/8-gen.bin using bits 16 to 17 141437 -1.393 .0818DNA for lcg/8-gen.bin using bits 15 to 16 142409 1.474 .9298DNA for lcg/8-gen.bin using bits 14 to 15 141547 -1.069 .1426DNA for lcg/8-gen.bin using bits 13 to 14 141667 -.715 .2374DNA for lcg/8-gen.bin using bits 12 to 13 142405 1.462 .9282DNA for lcg/8-gen.bin using bits 11 to 12 141655 -.750 .2266DNA for lcg/8-gen.bin using bits 10 to 11 141922 .037 .5149DNA for lcg/8-gen.bin using bits 9 to 10 141930 .061 .5243DNA for lcg/8-gen.bin using bits 8 to 9 141856 -.157 .4375DNA for lcg/8-gen.bin using bits 7 to 8 142277 1.085 .8609DNA for lcg/8-gen.bin using bits 6 to 7 141750 - .470 .3192DNA for lcg/8-gen.bin using bits 5 to 6 142153 .719 .7639DNA for lcg/8-gen.bin using bits 4 to 5 141814 -.281 .3893DNA for lcg/8-gen.bin using bits 3 to 4 142108 .586 .7211DNA for lcg/8-gen.bin using bits 2 to 3 142208 .881 .8109DNA for lcg/8-gen.bin using bits 1 to 2 142200 .857 .8044

Test results for lcg/8-gen.bin Chi-square with 5A5-5A4=2500 d.of f. for sample size:2560000

chisquare equiv normal p-value Results fo COUNT-THE-1's in successive bytes:

byte stream for lcg/8-gen.bin 2493.57 -.091 .463775byte stream for lcg/8-gen.bin 2468.92 -.440 .330114

Chi-square with 5A5-5A4=2500 d.of f. for sample size: 256000chisquare equiv normal p value

Results for COUNT-THE-1's in specified bytes:bits 1 to 8 2487.13 - .182 .427794bits 2 to 9 2563.04 .892 .813678bits 3 to 10 2488.57 - .162 .435780bits 4 to 11 2477.20 -.322 .373566bits 5 to 12 2612.82 1.596 .944701bits 6 to 13 2573.64 1.041 .851160bits 7 to 14 2610.74 1.566 .941344bits 8 to 15 2515.11 .214 .584599bits 9 to 16 2681.22 2.563 .994809bits 10 to 17 2557.39 .812 .791502bits 11 to 18 2599.93 1.413 .921195bits 12 to 19 2484.36 -.221 .412468bits 13 to 20 2577.81 1.100 .864432bits 14 to 21 2643.21 2.025 .978582bits 15 to 22 2524.90 .352 .637637bits 16 to 23 2601.27 1.432 .923956bits 17 to 24 2534.26 .485 .685994bits 18 to 25 2543.00 .608 .728424bits 19 to 26 2468.12 - .451 .326068bits 20 to 27 2581.86 1.158 .876490bits 21 to 28 2501.56 .022 .508813

Page 182: Diss Lavdanskiy

173

bits 22 to 29 2519.79 .280 .610238bits 23 to 30 2531.75 .449 .673314bits 24 to 31 2417.70 -1.164 .122226bits 25 to 32 2502.21 .031 .512479

CDPARK: result of ten tests on file lcg/8-gen.bin Of 12,000 tries, the average no. of successes

should be 3523 with sigma=21.9Successes: 3528 z-score: .228 p-value: 590298Successes: 3510 z-score: -.594 p-value: 276387Successes: 3501 z-score: -1.005 p-value: 157553Successes: 3556 z-score: 1.507 p-value: 934075Successes: 3532 z-score: .411 p-value: 659449Successes: 3514 z-score: - .411 p-value: 340551Successes: 3556 z-score: 1.507 p-value: 934075Successes: 3569 z-score: 2.100 p-value: 982156Successes: 3530 z-score: .320 p-value: 625377Successes: 3519 z-score: -.183 p-value: 427537

square size avg.. no. parked sample sigma100. 3531.500 21. 141

KSTEST for the above 10: p= .592599

This is the MINIMUM DISTANCE test for random integers in the file lcg/8-gen.bin

le no. dA2 avg equiv uni5 .8560 .9354 .576976

10 .3987 .7346 .33016815 .2975 .5972 .25841320 .4217 .7014 .34544925 1.7390 .7985 .82584130 .1951 .9713 .17808935 3.3265 1.0598 .96467840 3.4616 1.1980 .96916245 .5517 1.1628 .42560350 1.2094 1.1805 .70342755 .3801 1.1629 .31749760 .7883 1.1143 .54716965 .1516 1.0891 .14130070 .1010 1.0845 .09650075 3.0649 1.1176 .95405380 2.0015 1.2218 .86621685 1.1976 1.1837 .69990690 .8014 1.2010 .55309595 1.9206 1.2424 .854883

100 .7760 1.2225 .541532MINIMUM DISTANCE TEST for lcg/8-gen.bin

Result of KS test on 20 transformed mindistA2's:p-value= .891146

The 3DSPHERES test for file lcg/8-gen.binsample no: 1 rA3= 51.896 p-value= .82269sample no: 2 rA3= 61.595 p-value= .87167sample no: 3 rA3= 2.470 p-value= .07905sample no: 4 rA3= 2.571 p-value= .08213sample no: 5 rA3= 15.106 p-value= .39562sample no: 6 rA3= 7.978 p-value= .23352sample no: 7 rA3= 49.736 p-value= .80945sample no: 8 rA3= 8.320 p-value= .24220sample no: 9 rA3= 7.554 p-value= .22259sample no: 10 rA3= 27.279 p-value= .59720sample no: 11 rA3= 31.616 p-value= .65142

Page 183: Diss Lavdanskiy

174

sample no: 12 rA3= 65.492 p-value= .88731sample no: 13 rA3= .451 p-value= .01493sample no: 14 rA3= 28.319 p-value= .61092sample no: 15 rA3= 7.216 p-value= .21379sample no: 16 rA3= 119.932 p-value= .98164sample no: 17 rA3= 51.725 p-value= .82168sample no: 18 rA3= 18.209 p-value= .45500sample no: 19 rA3= 3.546 p-value= .11149sample no: 20 rA3= 22.470 p-value= .52715

3DSPHERES test for file lcg/8-gen.bin p-value= .092625

RESULTS OF SQUEEZE TEST FOR lcg/8-gen.bin Table of standardized frequency counts

( (obs-exp)/sqrt(exp) )A2for j taking values <=6,7,8, ...,47, >=48:

-1.5 -.3 1.5 1.1 -1.1 -1.6-.7 -.3 -.7 -.1 2.0 1.4

-1.1 .7 -.9 .6 .2 .5-.8 -.5 1.5 .6 -2.0 -.1

-1.4 - .4 .2 .8 -.5 -.2.1 .8 -.5 .4 3.0 -.1

-.51.8

-1.3 .1 -.1 -1.3 2.0

Chi-square with 42 degrees of freedom: 51.829 z-score= 1.072 p-value= .857906

Test no. 1 p-value .955406Test no. 2 p-value .969604Test no. 3 p-value .118079Test no. 4 p-value .455874Test no. 5 p-value .362346Test no. 6 p-value .569420Test no. 7 p-value .376234Test no. 8 p-value .240953Test no. 9 p-value .870068Test no. 10 p-value .748551

Results of the OSUM test for lcg/8-gen.binKSTEST on the above 10 p-values: .326366

The RUNS test for file lcg/8-gen.bin Up and down runs in a sample of 10000

Run test for lcg/8-gen.bin runs up; ks test for 10 p's: .423796

runs down; ks test for 10 p's: .299287Run test for lcg/8-gen.bin

runs up; ks test for 10 p's: .703663runs down; ks test for 10 p's: .888317

Results of craps test for lcg/8-gen.bin No. of wins: Observed Expected

98825 98585.86Chisq= 16.72 for 20 degrees of freedom, p= .32893

Throws Observed Expected Chisq Sum SUMMARY FOR lcg/8-gen.bin

p-value for no. of wins: .857595 p-value for throws/game: .328926

Test completed. File lcg/8-gen.bin

Page 184: Diss Lavdanskiy

175

ДОДАТОК Ж

Вихідний код для проведення тестування за допомогою статистичного

пакету тестування TestU01

#include "unif01.h"#include "util.h"#include "addstr.h"#include <string.h>

int main (void){

unif01_Gen *gen, *gen1, *gen2, *gen3, *gen4; genl = ulcg_CreateLC G (4294967296, 1103515245, 12345, 0); gen2 = ulcg_CreateLC G (4294967291, 16807, 12345, 1); gen3 = ulcg_CreateLC G (4294967279, 16807, 12345, 2); gen4 = ulcg_CreateLC G (4294967231, 16807, 12345, 3);

gen = custom_CreateComb(gen1, gen2, gen3, gen4, "CombGen");

//bbattery_SmallCrush (gen); bbattery_BigCrush (gen); custom_DeleteCombGen (gen); return 0;

}

typedef struct {unif01_Gen *gen1; unif01_Gen *gen2; unif01_Gen *gen3; unif01_Gen *gen4;

} CombGen_Param;

static unsigned long CombGen_Bits (void *vpar, void *junk){

CombGen_Param *g = vpar; unif01_Gen *gen1 = g->gen1; unif01_Gen *gen2 = g->gen2; unif01_Gen *gen3 = g->gen3; unif01_Gen *gen4 = g->gen4; uint64_t Sum = 0;

Sum += gen1->GetBits (gen1->param, gen1->state); Sum += gen2->GetBits (gen2->param, gen2->state); Sum += gen3->GetBits (gen3->param, gen3->state); Sum += gen4->GetBits (gen4->param, gen4->state); Sum %= 4294967296;

return Sum;}

Page 185: Diss Lavdanskiy

176

static double CombGen_U01 (void *vpar, void *junk){

return (double) ( CombGen_Bits (vpar, junk) / unif01_NORM32 );}

static void WrCombGen (void *vsta){

CombGen_Param *g = vsta; printf ("4 Combined Generators: \n"); g->gen1->Write (g->gen1->state); g->gen2->Write (g->gen2->state); g->gen3->Write (g->gen3->state); g->gen4->Write (g->gen4->state);

}

static unif01_Gen * CreateCombGen (unif01_Gen *g1, unif01_Gen *g2, unif01_Gen *g3, unif01_Gen *g4,

char *mess, char *name){

unif01_Gen *gen;CombGen_Param *paramC; size_t len, L;

gen = util_Malloc (sizeof (unif01_Gen));paramC = util_Malloc (sizeof (CombGen_Param));paramC->gen1 = g1;paramC->gen2 = g2;paramC->gen3 = g3;paramC->gen4 = g4;

len = strlen (g1->name) + strlen (g2->name) + strlen (g3->name) + strlen (g4->name) + strlen (name) + strlen (mess);

len += 5;gen->name = util_Calloc (len + 1, sizeof (char));L = strlen (mess); if (L > 0) {

strncpy (gen->name, mess, len); if (mess[L - 1] != ':')

strncat (gen->name, ":", 3); strncat (gen->name, "\n", 3);

}strncat (gen->name, g1->name, len); strncat (gen->name, "\n", 3); strncat (gen->name, g2->name, len); strncat (gen->name, "\n", 3); strncat (gen->name, g3->name, len); strncat (gen->name, "\n", 3); strncat (gen->name, g4->name, len); strncat (gen->name, name, len);

Page 186: Diss Lavdanskiy

177

gen->param = paramC; gen->state = paramC; gen->Write = &WrCombGen; return gen;

}

unif01_Gen * custom_CreateComb (unif01_Gen *g1, unif01_Gen *g2, unif01_Gen *g3, unif01_Gen *g4, char *Mess){

unif01_Gen *gen;gen = CreateCombGen (g1, g2, g3, g4, Mess, "\ncustom_CreateComb"); gen->GetU01 = &CombGen_U01; gen->GetBits = &CombGen_Bits; return gen;

}

void custom_DeleteCombGen (unif01_Gen *gen) {

if (NULL == gen) return; gen->param = util_Free (gen->param); gen->name = util_Free (gen->name); util_Free (gen);

}

Page 187: Diss Lavdanskiy

ДОДАТОК К

Список публікацій здобувача за темою дисертації

178

Наукові праці, в яких опубліковані основні наукові результати дисертації

[1] А. С. Береза, А. А. Лавданский, В. В. Швыдкий, и Э. В. Фауре, "Генерация

конгруэнтных последовательностей чисел с наперед заданными

свойствами", Вісник Черкаського державного технологічного

університету, № 2, с. 3-8, 2012.

[2] Ю. Г. Лега, Э. В. Фауре, и А. А. Лавданский, "Технология генерации

случайных последовательностей с большой разрядностью чисел", Вісник

Черкаського державного технологічного університету, № 3, с. 3-8, 2012.

[3] А. А. Лавданский, В. В. Швыдкий, и Э. В. Фауре, "Метод формирования

последовательностей случайных чисел и его использование в системах

потокового шифрования", Вісник Черкаського державного технологічного

університету, № 1, с. 5-10, 2013.

[4] А. А. Лавданский, "Оценка качества генераторов псевдослучайных чисел по

величине ошибки воспроизведения закона распределения", Вісник

Хмельницького національного університету. Технічні науки, №2 1, с. 113-117,

2014.

[5] А. А. Лавданский и Э. В. Фауре, "Оценка статистических свойств

последовательностей на выходе комбинационного генератора с помощью

графических тестов", Системні дослідження та інформаційні технології,

№ 2, с. 39-50, 2015.

[6] Э. В. Фауре, А. И. Щерба, и А. А. Лавданский, "Анализ корреляционных

свойств последовательностей (псевдо) случайных чисел", Наука і техніка

Повітряних Сил Збройних Сил України, № 1(18), с. 142-150, 2015.

[7] Э. В. Фауре, А. И. Щерба, и А. А. Лавданский, "Оценка статистических

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

комбинационным генератором", Комп ’ютерно-інтегровані технології:

освіта, наука, виробництво, № 18, с. 165-171, 2015.

Page 188: Diss Lavdanskiy

[8] А. А. Лавданский, "Оценка времени формирования последовательности

чисел с учетом повышения производительности вычислительных блоков",

The scientific potential o f the present: Proceedings o f the International Scientific

Conference December 1, 2016 in the city St. Andrews, Scotland, UK, с. 123-126,

2016.

Наукові праці, які засвідчують апробацію матеріалів дисертації

[9] А. А. Лавданский и Э. В. Фауре, "Способ определения структуры графа

состояний линейного конгруэнтного генератора", в Автоматизація та

комп’ютерно-інтегровані технології у виробництві та освіті: стан,

досягнення, перспективи розвитку: матеріали Всеукраїнської науково-

практичної Internet-конференції, Черкаси, 2013, с. 110-112.

[10] А. А. Лавданский, "Генерация непредсказуемой последовательности чисел

конечным автоматом", в Праці IV Міжнародної науково-практичної

конференції «Обробка сигналів і негауссівських процесів», присвяченої

пам ’яті професора Ю.П. Кунченка: Тези доповідей, М-во освіти і науки

України, Черкас. держ. технол. ун-т. - Черкаси: ЧДТУ, 2013, с. 161-163.

[11] А. А. Лавданский и Э. В. Фауре, "Комбинационный метод формирования

последовательности псевдослучайных чисел", в Системний аналiз та

тформацтм технології: матерiали 16-ї Мiжнародної науково-техмчної

конференції SAIT 2014, Київ, 2014, с. 403-404.

[12] А. А. Лавданский, "Оценка автокорреляционной функции случайного

процесса с помощью численных характеристик", в Проблеми

інформатизації: Матеріали другої міжнародної науково-технічної

конференції, Черкаси: ЧДТУ; Тольятті: ТДУ, 2014, с. 36-37.

[13] А. А. Лавданский, Э. В. Фауре, и А. И. Щерба, "Статистическая

характеристика последовательности чисел комбинационного генератора", в

Автоматизація та комп ’ютерно-інтегровані технології у виробництві та

освіті: стан, досягнення, перспективи розвитку: матеріали Всеукраїнської

науково-практичної Internet-конференції, Черкаси, 2015, с. 51-52.

179

Page 189: Diss Lavdanskiy

[14] А. О. Лавданський, "Оцінка часу формування послідовності

псевдовипадкових чисел", в Проблеми інформатизації: Матеріали

четвертої міжнародної науково-технічної конференції, Черкаси: ЧДТУ;

Черкаси - Баку - Бельсько-Бяла - Полтава, 2016, с. 71.

Наукові праці, які додатково відображають наукові результати дисертації

[15] Ю. Г. Лега, В. В. Швидкий, Е. В. Фауре, А. І. Щерба, і А. О. Лавданський,

"Спосіб двоконтурного поточного шифрування", МПК И04Ь 9/18 (2006.01),

№82044, 25-Лип-2013.

[16] А. О. Лавданський, Е. В. Фауре, В. В. Швидкий, і А. І. Щерба, "Спосіб

формування послідовності рівномірно розподілених випадкових чисел",

МПК 006Б 7/58 (2006.01), №86718, 01-Жов-2014.

[17] Ю. Г. Лега, В. В. Швидкий, Е. В. Фауре, О. С. Лісіцина, і А. О. Лавданський,

"Спосіб формування послідовності випадкових чисел", МПК 006Б 7/58

(2006.01), №86705, 01-Жов-2014.

180

Page 190: Diss Lavdanskiy

ДОДАТОК Л

Відомості про апробацію результатів дисертації

181

[1] А. А. Лавданский и Э. В. Фауре, "Способ определения структуры графа

состояний линейного конгруэнтного генератора", в Автоматизація та

комп’ютерно-інтегровані технології у виробництві та освіті: стан,

досягнення, перспективи розвитку: матеріали Всеукраїнської науково-

практичної Internet-конференції, Черкаси, 2013, с. 110-112 - заочна участь.

[2] А. А. Лавданский, "Генерация непредсказуемой последовательности чисел

конечным автоматом", в Праці IV Міжнародної науково-практичної

конференції «Обробка сигналів і негауссівських процесів», присвяченої

пам ’яті професора Ю.П. Кунченка: Тези доповідей, М-во освіти і науки

України, Черкас. держ. технол. ун-т. - Черкаси: ЧДТУ, 2013, с. 161-163 -

заочна участь.

[3] А. А. Лавданский и Э. В. Фауре, "Комбинационный метод формирования

последовательности псевдослучайных чисел", в Системний аналіз та

інформаційні технології: матеріали 16-ї Міжнародної науково-технічної

конференції SAIT 2014, Київ, 2014, с. 403-404 - очна участь.

[4] А. А. Лавданский, "Оценка автокорреляционной функции случайного

процесса с помощью численных характеристик", в Проблеми

інформатизації: Матеріали другої міжнародної науково-технічної

конференції, Черкаси: ЧДТУ; Тольятті: ТДУ, 2014, с. 36-37 - очна участь.

[5] А. А. Лавданский, Э. В. Фауре, и А. И. Щерба, "Статистическая

характеристика последовательности чисел комбинационного генератора", в

Автоматизація та комп ’ютерно-інтегровані технології у виробництві та

освіті: стан, досягнення, перспективи розвитку: матеріали Всеукраїнської

науково-практичної Internet-конференції, Черкаси, 2015, с. 51-52 - заочна

участь.

[6] А. О. Лавданський, "Оцінка часу формування послідовності

псевдовипадкових чисел", в Проблеми інформатизації: Матеріали

Page 191: Diss Lavdanskiy

четвертої міжнародної науково-технічної конференції, Черкаси: ЧДТУ;

Черкаси - Баку - Бельсько-Бяла - Полтава, 2016, с. 71 - очна участь.

182

Page 192: Diss Lavdanskiy

183

ДОДАТОК М

Акти впровадження результатів дисертаційної роботи

Page 193: Diss Lavdanskiy

184

«ЗАТВЕРДЖУЮ»

АКТ

впровадження результатів дисертаційної роботи

Лавданського Артема Олександровича в навчальний процес

Основні результати дисертаційного дослідження Лавданського Артема

Олександровича використовуються під час викладання дисциплін «Захист

інформації в комп’ютерних системах» та «Основи теорії інформації та кодування»

бакалаврам за напрямом підготовки 6.050102 «Комп’ютерна інженерія». До курсу

вказаних дисциплін включені такі результати, отримані Лавданським А.О.:

• метод перетворення послідовності слів на виході генератора на основі

лінійного конгруентного методу і регістру зсуву з лінійними

зворотними зв’язками у рівномірно розподілену на всій області

можливих значень;

• метод формування послідовностей перестановок на основі

використання різнорідних первинних генераторів і комбінуючої

функції на основі мультиплексування;

• метод формування рівномірно розподіленої псевдовипадкової

послідовності чисел, що відрізняється перевищенням розрядності

формованих чисел над розрядністю обчислювальної платформи;

• метод оцінки автокореляційної функції послідовності рівномірно

розподілених чисел, який дозволяє виявити її статистичні відхилення.

• комбінаційний метод побудови ПВП на основі використання

послідовностей перестановок в якості первинних джерел і

комбінуючої функції підсумовування за модулем М.

Page 194: Diss Lavdanskiy

185

Page 195: Diss Lavdanskiy

186

ЗАТВЕРДЖУЮ Директор Державного

"Науково-дослідний

АКТ* впровадження результатів дисертаційної роботи

Лавданського Артема Олександровича

При виконанні ДП "НДІ "Акорд" науково-дослідної та дослідно- конструкторської роботи для проведення моделювання та тестування системи дистанційного зв’язку, контролю та управління віддаленими об’єктами були використані наступні наукові результати, одержані в дисертаційній роботі на здобуття наукового ступеня кандидата технічних наук Лавданського Артема Олександровича, а саме:

- метод формування послідовностей перестановок на основі використання різнорідних первинних генераторів і комбінуючої функції мультиплексування;

- метод формування рівномірно розподіленої псевдовипадкової послідовності чисел, з перевищенням розрядності формованих чисел над розрядністю обчислювальної платформи за рахунок конкатенації слів, утворених незалежними первинними генераторами рівномірно розподілених випадкових або псевдовипадкових чисел;

- комбінаційний метод побудови псевдовипадкових послідовностей на основі використання послідовностей перестановок в якості первинних джерел і комбінуючої функції підсумовування за модулем М.

Впровадження вказаних результатів забезпечило можливість зменшення часу проведення моделювання і тестування системи дистанційного зв’язку, контролю та управління віддаленими об’єктами до 4 разів за рахунок підвищення ефективності використання наявного обчислювального блоку (Intel Core І5-6600).

Головний інженер ДП "НДІ "Акорд"

Провідний інженер Олешко О.П.