Введение 4
1. Определение цели проекта 5
2. Описание предметной области 7
3. Генераторы случайных чисел 10
3.1 Генераторы истинно случайных чисел 11
3.2 Генераторы псевдослучайных чисел 15
4. Тестирование последовательностей случайных чисел 17
4.1 Пакет статистических тестов NIST 19
4.2 Описание тестов 23
5. Исследование свойств случайных чисел с помощью тестировщика 29
6. Пост-обработка 39
Заключение 46
Литература 47
Приложение 1. Листинг кода 49
Генерирование случайных последовательностей является неотъемлемой частью криптографии. Случайные числа используются при потоковом шифровании, в системах с открытым ключом и в других криптографических протоколах. От качества случайных последовательностей зависят стойкость криптосистем, степень конфиденциальности передаваемой информации и надежность защиты от хакерских атак.
Для достижения защищенности информации необходимо решение задач, характерных для последовательностей случайных чисел: совершенствование качества процесса генерирования, увеличение таких параметров последовательностей как случайность и непредсказуемость, изучение способов и алгоритмов для получения случайных последовательностей, нахождение способов улучшения характеристик сгенерированных последовательностей, а также выбор оптимального генератора случайных чисел.
Анализ качества генератора случайных последовательностей можно осуществлять путем исследования выдаваемых им последовательностей случайных чисел. Одно из решений - это разработать продукт, выполняющий все поставленные задачи, путем многократного тестирования и анализа полученных результатов.
В данной работе:
1. Найдены и описаны генераторы случайных последовательностей.
2. Реализован блок статистических тестов, позволяющий проверить случайность и независимость полученных последовательностей.
3. Проведено сравнение работы генераторов псевдослучайных и истинно случайных последовательностей с помощью разработанного блока тестов.
4. Выбран оптимальный генератор случайных последовательностей.
5. Найден способ улучшения качеств случайных последовательностей, используя пост-обработку.
1. В.И. Долгов. Криптографическая защита информации в АСУ СН. Курс лекций. ХВУ, 1998. - 17 с.
2. И.Д. Горбенко. Криптографическая защита информации в информационных системах. Курс лекций. ХНУРЭ. 2002. - 17 с.
3. M. Abramowitz and I. Stegun, Handbook of Mathematical Functions, Applied Mathematics Series. Vol. 55, Washington: National Bureau of Standards, 1964 -470 с.
4. T. Cormen, C. Leiserson, &R. Rivest, Introduction to Algorithms. Cambridge, MA: The MIT Press, 1990. - 1312 с.
5. D. Schellekens, B. Preneel and I. Verbauwhede: FPGA Vendor Agnostic True Random Number Generator. In: International Conference on Field Programmable Logic and Applications. Heverlee, Belgium, 2006. - 872 с.
6. V. Kote, V. Molata, J. Jakovenko. Improved Structure of True Random
Number Generator with Direct Amplification of Analog Noise. https://otik.uk.zcu.cz/bitstream/11025/1042/1/r6c6c1.pdf (Дата обращения: 02.06.2018)
7. Siew-Hwee Kwok, Yen-Ling Ee, Guanhan Chew. A Comparison of Post-Processing Techniques for Biased Random Number Generators. http://www1.spms.ntu.edu.sg/~kkhoongm/Entropy.pdf- (Дата обращения: 04.06.2018)