Генератор случайных чисел
Шум радиоволн
Представленный выше генератор случайных чисел подходит для применения в подавляющем большинстве задач где требуется элемент случайности или неопределенности. При нажатии на кнопку Сгенерировать инициируется запуск физического процесса, результат работы которого показывается как случайное число. Перед нажатием на кнопку Сгенерировать можно выставить настройки отличные от тех, которые стоят по умолчанию, такие как: количество случайных чисел, диапазон которому принадлежат числа и исключить возможность повторов в случаи если количество генерируемых чисел выставлено больше одного. Каждое нажатие на копку Сгенерировать ведет к увеличению значения “счетчика попыток”, то есть попытка i+1. При нажатии на кнопку сохранить в файл в текстовый файл, сохраняются все случайные числа, добытые при каждой попытке. При нажатии на кнопку Начать заново все настройки сбрасываются к значениям по умолчанию. Все полученные до этого случайные числа удаляются.
Генератор случайных чисел – это некоторое программное или физическое устройство, используемое для получения случайных чисел. Подобные устройства принято делить на три основные категории: генератор псевдослучайных чисел способный выдавать последовательности с большим периодом и распределением сколь угодно близким к заданному, физический генератор истинно случайных чисел и генератор криптографически стойких псевдослучайных чисел у которого начальный seed задается как истинно случайное число. Для большинства практических задач таких как: моделирование, численный анализ, некоторые направления в программировании, теория принятия решений, теория игр достаточно использования псевдослучайных чисел, но существует ряд задач, такие как: криптография, генерация ключей в большинстве криптопротоколов, случайные параметры сеансов связи в протоколах аутентификации, значение параметров систем ЭЦП, азартные игры, конкурсы, розыгрыши, лотереи для которых рекомендуется применение истинно случайных последовательностей чисел.
Рассматриваемая реализация устройства для получения случайных чисел, основано на следующем принципе: вседиапазонный аналоговый радиоприемник настраивается на прием радиочастот, не занятых какой-либо радиовещательной станцией. Через линейный вход звуковой карты компьютера подключается радиоприемник. Звуковая карта большинства компьютеров сама по себе является источником энтропии, а точнее шум возникающий на её линейном входе (вызванный электромагнитными наводками от элементов цепи, тепловым шумом в цепях питания и прочими флуктуациями в системе аналогового входа), но именно для получения источника дополнительной неопределенности используется радиоприемник. С точки зрения поиска источника энтропии интерес представляет именно шум. Сигнал, поступающий на вход звуковой карты, переводится в последовательность битов при помощи аналого-цифрового преобразователя. Запись шума с линейного входа звуковой карты в течении одной секунды, при выставленной чистоте дискретизации 44 100 Hz, генерирует приблизительно 100 000 бит информации.
Аудио запись шума
Так звучит шум, записанный 2022-12-21 12:06:45 с радиоприемника, настроенного на прием частот на которых нет вещания. Шум представленный выше сгенерировал последовательность из 153 814 случайных бит. Если конвертировать полученную последовательность бит в целые числа из диапазона [1, 100], то получится последовательность из 17 205 случайных целых чисел. Ниже представлены первые 2800 бит. Далее следуют соответствующие целые числа.
0010000100000010000100011110011110100101010101010100010010111000000110100110101000001011001101010000110000011101001000111001000001101100101110101100110000110000101011010011100110001100110100011100001011100110110011110100111101101100110011101110001011111001111001110100001010010101001001001111101010001101011001101011100010000011100000011000001011011001110100010111011100000000100101100000110100111110010101010010000101000001111011100010011101011000101111010011000011110010010101001110011100001111011001001000001101100000100110011110010111110000100010101001110001010100110011001010001001100010100110001000101001000001101010100000010000101011011001110101001011001011100010011100011001101010101000110010101000000001010110000100010001000111011011000111001100100000001011011010001001100010000000110111110110011010100001000101011001100000010110110100011101101100001110011011100000101011010001010110000010100111001111010101100111001011100000110111001000100101100010100010000001101101010100001011000110100010000101011100100010100010011100110101000100001000010001101010011001101100100001100010100011111000101010011001011110111011001000010101000010001011111000101100111010100100000101110000100010011001101010000011000100110000000100100100001010010010101001010100101010011010111101000100011111000111000001001100110001000100101100001011011111001101100101010100110010010100011001100100100010101011100100101001111011000001000101100001001101100001010101011101011100011110011001001010000110110000011000100010001010011111001100111010010011100000001101011100101110010010001001111101001101110100111111101010000111011100011010010100111111000100010111010011101001011100010111000011001000100001000101110100000001010101110100001110100000001100101011010011000100110111000100001011101000000001101000010001110110111111010111111000101011110110001000110000100001010100110101000011101000011001100011100010001001100101010100011001010001100110011011100110101011001011101101001110111100000100100110001100111000111100010100000100011111100100110110000101010110010010010101000100011011100101100101100001010111000100010011101010110110000010110011010110001010101011011111011000001100011010100100010101000001010001010001010001110100110110000010011100001000111000011000000001010101110110000011000000100010100000010100010011001000010010010000110010000110101000110100001010111001000101101001001010110011110001000010111011011000001100110010000000100001000111010011010110010010111000000000010001010111001110100001101100101100000011111110001000010101101111001111000110010101010100010000011010010000100111100101010011000100001011010010000110001000110111110010101001010000100001010110010101111010000000100010001100110000011011001001101011101001110001001100001001101110100101101010111000101100111110100011000110000011100111110100000001010000011111
16, 64, 66, 30, 61, 21, 42, 68, 92, 6, 77, 32, 89, 84, 24, 29, 17, 100, 13, 75, 86, 48, 97, 45, 28, 99, 26, 28, 23, 27, 30, 79, 54, 51, 92, 47, 79, 29, 5, 21, 18, 62, 81, 86, 53, 98, 7, 1, 65, 54, 58, 23, 56, 2, 44, 13, 31, 21, 36, 20, 15, 56, 78, 88, 94, 76, 30, 37, 39, 28, 30, 100, 65, 88, 19, 30, 47, 66, 21, 28, 42, 51, 20, 38, 20, 98, 20, 65, 85, 1, 5, 54, 58, 75, 23, 9, 99, 26, 84, 50, 80, 5, 48, 68, 35, 91, 14, 50, 1, 54, 68, 98, 1, 95, 51, 40, 34, 89, 64, 91, 35, 91, 7, 27, 65, 45, 10, 96, 83, 79, 43, 28, 92, 13, 100, 37, 69, 8, 13, 85, 5, 70, 68, 21, 100, 40, 78, 53, 8, 33, 13, 38, 54, 33, 69, 15, 69, 38, 47, 59, 16, 84, 17, 62, 22, 58, 72, 23, 4, 38, 53, 3, 9, 64, 36, 66, 73, 41, 41, 41, 87, 81, 15, 71, 2, 51, 8, 75, 5, 95, 27, 21, 38, 37, 12, 100, 69, 46, 37, 30, 96, 69, 66, 54, 10, 87, 46, 30, 50, 40, 54, 6, 17, 10, 62, 51, 82, 56, 6, 92, 92, 72, 79, 83, 58, 63, 84, 29, 99, 37, 31, 68, 46, 78, 75, 69, 97, 72, 66, 23, 32, 21, 58, 14, 64, 50, 90, 49, 27, 68, 23, 32, 13, 4, 59, 63, 47, 98, 94, 98, 24, 33, 41, 84, 29, 6, 49, 98, 19, 21, 35, 20, 51, 27, 77, 44, 93, 83, 94, 4, 76, 51, 71, 69, 2, 31, 73, 88, 42, 100, 74, 68, 55, 22, 44, 21, 98, 19, 85, 88, 22, 53, 69, 43, 62, 96, 99, 41, 10, 65, 34, 69, 14, 77, 65, 28, 17, 97, 64, 21, 59, 3, 1, 10, 2, 68, 100, 18, 33, 72, 53, 13, 5, 57, 11, 36, 86, 60, 33, 59, 48, 51, 16, 8, 35, 83, 44, 75, 64, 4, 43, 78, 67, 50, 96, 63, 68, 21, 94, 60, 50, 85, 8, 26, 33, 30, 42, 49, 5, 82, 12, 35, 62, 42, 40, 33, 44, 87, 80, 8, 70, 48, 54, 38, 93, 28, 38, 9, 93, 22, 87, 11, 31, 35, 12, 14, 62, 64, 40, 31