Тип работы:
Предмет:
Язык работы:


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

Работа №46563

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы80
Год сдачи2018
Стоимость4230 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
302
Не подходит работа?

Узнай цену на написание


Введение 4
Глава 1. Математические предпосылки
1.1 Числа Стирлинга 7
1.2 Функция ошибок 7
1.3 Функция нормального стандартного распределения 8
1.4 Неполная гамма-функция 8
1.5 Дискретное преобразование Фурье 9
1.6 Критерий х 2 9
1.7 Р value 10
Глава 2.Генератор псевдослучайных чисел
2.1 Поточные шифры 11
2.2 Шифр SNOW 12
2.2.1 Алгоритм 12
2.2.2 Инициализация ключа 14
2.3 Модернизация шифра SNOW 16
2.3.1 Поточный шифр RC4 16
2.3.2 Алгоритм 17
2.4 Интерфейс генерирования псевдослучайной последовательности 17
Глава 3. Тестирование псевдослучайной последовательности
3.1 Предисловие 19
3.2 Графические тесты 21
3.2.1 Гистограмма распределения элементов 21
3.2.2 Распределение на плоскости 23
3.2.3 Проверка серий 25
3.2.4 Проверка на монотонность 26
3.2.5 Автокорреляционная функция 28
3.2.6 Профиль линейной сложности 32
3.2.7 Графический спектральный анализ 33
3.3 Оценочные тесты Д.Кнутта 36
3.3.1 Проверка несцепленных серий 36
3.3.2 Проверка комбинаций 37
3.3.3 Тест собирателя купонов 38
3.3.4 Проверка перестановок 38
3.3.5 Проверка корреляции 39
3.4 Оценочные тесты NIST 40
3.4.1 Частотный (монобитный) тест 40
3.4.2 Частотный тест в подпоследовательностях 41
3.4.3 Тест дырок 42
3.4.4 Тест "блоков" в подпоследовательностях 43
3.4.5 Проверка рангов матриц 44
3.4.6 Спектральный тест 45
3.4.7 Проверка непересекающихся шаблонов 46
Заключение 48
Список литературы 52
Приложение. Листинг 53


Генератор псевдослучайных чисел - это алгоритм для генерации последовательности чисел, чьи свойства близки к свойствам истинно случайной последовательности. Никакой алгоритм не может генерировать полностью случайные числа, он может только аппроксимировать некоторые их свойства.
Есть возможность получить последовательность очень близкую к истинно случайной, посредством генератора истинно случайных чисел. Данное устройство генерирует числа, на основе хаотически изменяющихся параметров протекающего физического процесса. Но у данных устройств есть очень существенный недостаток - это маленькая скорость генерации чисел.
Очень важную роль последовательность случайных чисел (ПСЧ) играют в криптографии. Она используется для генерации секретных ключей, генерации гаммирующих последовательностей, формирования контрольных кодов и т.д. Очень важным является применение ПСЧ в азартных играх, поскольку результат игры не должен быть предсказуемым.
Поскольку генерация случайных чисел очень важна, то требования, предъявляемые к генератору, оказываются очень высокими. Возникает вопрос: как мы можем сказать, хорош генератор или нет? Для ответа на этот вопрос существует множество тестов . Данные тесты проверяют свойства последовательности, которые должны быть близки к свойствам истинно случайной последовательности. Один тест не может дать явный ответ на вышестоящий вопрос, поэтому для проверки ГПЧ используют несколько тестов.
Таким образом, целью моей работы было разработать приложение для проверки последовательностей на случайность. Для реализации данной системы я использовал наиболее известные тесты:
1. Графические тесты.
2. Тесты Д.Кнутта.
3. Тесты “DieHard”.
4. Тесты NIST.
Такой набор разных тестов даст наиболее ясный ответ о качестве ГПЧ. Используя графические тесты, пользователь сможет более точно увидеть поведение исследуемой последовательности и сделать вывод о её случайности.
А неподготовленный пользователь всегда сможет узнать результат исследования, используя оценочные тесты.
Основными задачами дипломной работы являются:
1. Изучить и проанализировать существующие методы тестирования псевдослучайных последовательностей.
2. Реализовать генератор псевдослучайной последовательности.
3. Создать приложение, где будут реализованы выбранные тесты.
4. Проверить на случайность реализованный генератор и сделать вывод о его качестве.

Возникли сложности?

Нужна помощь преподавателя?

Помощь студентам в написании работ!


В данной дипломной работе было реализовано приложение на платформе .NET Framework, язык программирования - C#, интегрированная среда разработки Visual Studio 2017, проект Windows Forms. При запуске программы появляется окно (рис.19.).
В данном приложении есть возможность загрузки текстового файла с исходной последовательностью, которую хочет проверить пользователь. Также пользователь может сгенерировать псевдослучайную последовательность любой длины. Для этого необходимо в меню выбрать -Генераторы’" и выбрать любой из предложенных генераторов. После сделанного выбора, появится окно (рис.20.) с возможностью введения ключа и выбора длины последовательности. 
После выбора генератора, пользователь может проверить его качество, используя перечень реализованных тестов, которые он может найти, выбрав в меню -Тестирование”. В данном списке пользователь может воспользоваться, как и графическими тестами, так и оценочными. При выборе графического теста, появится окно с графиком (рис.21.), по которому пользователь должен сам сделать вывод о качестве исследуемого генератора. Если пользователь не обладает возможностью сделать вывод по графическому тесту, то он сможет воспользоваться оценочным тестом. При выборе оценочного теста, появится окно (рис.22.) с готовым ответом. 
Также есть возможность -Проверить генератор"". После нажатия на соответствующую кнопку, исследуемый генератор пройдет все имеющиеся оценочные тесты и выдаст результат (рис.23.). 
С помощью данного приложения я проверил два генератора псевдослучайных чисел, реализованных ранее. По пройденным тестам можно сделать вывод о том, что оба генераторами обладают свойствами истинно случайной последовательности



1. Иванов, М. А. Криптографические методы защиты информации в компьютерных системах и сетях [Текст] / М. А. Иванов. — М.: Кудиц - Образ, 2001. — 363 с.
2. Чугунков, И. В. Теория, применение и оценка качества генераторов псевдослучайных последовательностей [Текст] / И. В. Чугунков, М. А. Иванов. — М.: Кудиц - Образ, 2003. — 240 с.


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2024 Cервис помощи студентам в выполнении работ