Здравствуйте, peterbes, Вы писали:
P>Здравствуйте, Mikhail Chashchin, Вы писали:
P>Источник радиоактивного распада — идеальный генератор случайных чисел во все времена, вы в эту сторону не смотрели? Может так статься, что безвредный K-40 и крохотный счетчит Гейгера подойдут для генерации истиннно случайных чисел более всего. Массовое промышленное изготовление подобных девайсов для "дома и семьи" ограничено многочисленными ограничениями ТБ, но для солидных контор такое устройство вполне приемлемо. Может быть я велосипед предлагаю и такие устройства уже есть?
Так что в теории, это было бы идеально, на практике... фиг его знает. Надо создать софт, в который можно всё это без проблем воткнуть, и тогда кому надо, тот и счётчик купит и шарики.
Re[3]: Проект “Entropy”
От:
Аноним
Дата:
03.05.05 11:17
Оценка:
Здравствуйте, Mishka, Вы писали:
M>Это псевдослучайные числа. Они специально создаются, чтобы пройти все тесты. Но в них нет никакой случайности, одна закономерность, предписаная алгоритмом.
The CryptGenRandom function fills a buffer with cryptographically random bytes.
CryptGenRandom генерирует не псевдослучайные числа — один список источников, откуда эта функция берет энтропию, занимает страницу. Для большинства применений (генерация ключей шифрования, например) этого достаточно. Возможно, что для моделирования некоторых процессов качество случайных чисел, выдаваемых этой функцией, будет недостаточным, но тогда использовать 'самодельные' источники нужно с оcторожностью.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Mishka, Вы писали:
M>>Это псевдослучайные числа. Они специально создаются, чтобы пройти все тесты. Но в них нет никакой случайности, одна закономерность, предписаная алгоритмом.
А>The CryptGenRandom function fills a buffer with cryptographically random bytes. А>CryptGenRandom генерирует не псевдослучайные числа — один список источников, откуда эта функция берет энтропию, занимает страницу. Для большинства применений (генерация ключей шифрования, например) этого достаточно. Возможно, что для моделирования некоторых процессов качество случайных чисел, выдаваемых этой функцией, будет недостаточным, но тогда использовать 'самодельные' источники нужно с оcторожностью.
CryptGenRandom имеется в Windows XP?
Re[5]: Проект “Entropy”
От:
Аноним
Дата:
03.05.05 15:58
Оценка:
Здравствуйте, Mishka, Вы писали:
M>CryptGenRandom имеется в Windows XP?
Да.
Requirements
Client: Requires Windows XP, Windows 2000 Professional, Windows NT Workstation 4.0, Windows Me, Windows 98, or Windows 95 OSR2 and later.
Server: Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server 4.0.
Redistributable: Requires Internet Explorer 3.02 or later on Windows 95.
Здравствуйте, Mishka, Вы писали:
M>Так что в теории, это было бы идеально, на практике... фиг его знает. Надо создать софт, в который можно всё это без проблем воткнуть, и тогда кому надо, тот и счётчик купит и шарики.
Кому надо — можно например сюда http://www.ancud.ru/catalog/crypton.htm
в ДСЧ используется тепловой шум в электрической цепи,
который аккуратно усилен, преобразован, протестирован.
...А отсюда наливаем, когда рецепт написан совсем неразборчиво...
MC>Авторы: MC> Mikhail Chashchin
MC>Аннотация: MC>Данный проект имеет своей целью создание генератора истинно-случайных чисел. Большинство языков программирования предоставляют средства для генерации случайных чисел, в основе которых лежат программные алгоритмы. Такие числа называются псевдослучайными, поскольку они полностью зависят от начальных параметров алгоритмов. Зная алгоритм и начальные параметры можно со стопроцентной точностью определить все сгенерированные числа. Иногда подобной случайности недостаточно.
Проблема знатная,интересная и при этом очень сложная. Здаётся мне, что кроме радиоактивного источника ничего не подойдёт, потому что всё остальные процессы не случайные и не равноверояные, то есть мы сможем получитьс них только ПСП, что ,в принципе, довольно хорошо изучено.
+ Навеяно применением случ послед в крипте: надо сделать так, чтобы никто не смог бы незаметно подецствовать на генератор. Ведь злые дядьки из чужих и не чужих разведок могут ЛЕГКО вмешаться в функциклирование наблюдаемых процессов и при наличии у них сведений о тестах сделать так, чтобы они прошли. а последовательность была бы даже и не ПС.
Могу посоветовать почитать что-нить из Шенона и его пследователей.
У меня были какие-то записи по этому поводу — постараюсь найти.
MC>Авторы: MC> Mikhail Chashchin
MC>Аннотация: MC>Данный проект имеет своей целью создание генератора истинно-случайных чисел. Большинство языков программирования предоставляют средства для генерации случайных чисел, в основе которых лежат программные алгоритмы. Такие числа называются псевдослучайными, поскольку они полностью зависят от начальных параметров алгоритмов. Зная алгоритм и начальные параметры можно со стопроцентной точностью определить все сгенерированные числа. Иногда подобной случайности недостаточно.
выскажу чвоё скромное мнение: использовать чтолибо программное — нереально, значит нужно использовать что-то аппаратное. никто не думал насчёт генераторв шума ни интегралках? такие достаточно лего найти, останется лишь протестировать качесво шума которое они предоставляют. вот.
реализация — не обязательно C# можно и на дельфях а кому надо — тот не поленится переведёт. можно и на С/С++.
"Если бы не было колобка, его следовало бы придумать..."
Как проверять качество полученных случайных чисел? Какие имеются алгоритмы?
Имеется два источника энтропии. Как усилить энтропию? Какие для этого есть алгоритмы?
Имеется поток битов. Как сгенерировать из него случайные числа? Какие для этого есть алгоритмы?
Для начала подойдёт Д.Кнут, "Искусство программирования", Том 2 "Получисленные алгоритмы", Глава 3 "Случайные числа".
MC>Авторы: MC> Mikhail Chashchin
MC>Аннотация: MC>Данный проект имеет своей целью создание генератора истинно-случайных чисел. Большинство языков программирования предоставляют средства для генерации случайных чисел, в основе которых лежат программные алгоритмы. Такие числа называются псевдослучайными, поскольку они полностью зависят от начальных параметров алгоритмов. Зная алгоритм и начальные параметры можно со стопроцентной точностью определить все сгенерированные числа. Иногда подобной случайности недостаточно.
А не является ли идеальным решением регистр сдвига, генерирующий ПСП. Не столь важным является начальное его состояние, но длина ПСП и время выборки случайной величины (а это по сути также будет случайная величина, если, скажем возложить эту функцию на пользователя) будет играть решающую роль. Во всяком случая характеристики случайной величины, выдаваемой регистром сдвига, не даст ни один реальный источник (и уж тем более звуковая карта).
Re[11]: Проект “Entropy”
От:
Аноним
Дата:
22.07.05 20:47
Оценка:
Здравствуйте, Mishka, Вы писали:
M>Здравствуйте, valmond, Вы писали:
M>>>Самым лучшим источником является счётчик Гейгера Продаётся тут http://www.blackcatsystems.com/GM/geiger.html. Но дорого и к тому же хорошо работает только при наличии чего-то радиоактивного. Ребята с HotBits его используют.
V>>А радиактивное всегда есть. V>>Космическое излучение. V>>Помню в институте строили нормальное распределение на лабах по показаниям счетчика Гейгера.
M>Скорость будет маленькой на HotBits это очень хорошо расписано.
Ну вовсе необязательно космическое излучение. Используй изотопный источник. Продается в любых хозтоварах.
Re[4]: Физические устройства
От:
Аноним
Дата:
22.07.05 21:02
Оценка:
Здравствуйте, Михаил, Вы писали:
М>Здравствуйте, Mishka, Вы писали:
M>>Так что в теории, это было бы идеально, на практике... фиг его знает. Надо создать софт, в который можно всё это без проблем воткнуть, и тогда кому надо, тот и счётчик купит и шарики.
М>Кому надо — можно например сюда http://www.ancud.ru/catalog/crypton.htm М>в ДСЧ используется тепловой шум в электрической цепи, М>который аккуратно усилен, преобразован, протестирован.
Радиоктивный источник вполне доступен массово. Большинство проблем ТБ уже решена.
Americium-241 в детекторах дыма.
Я где-то слышал, что "самое случайное" явление — это отражение кванта света на полупрозрачном зеркале с коэф. отражения 0.5. Правда ничего не могу сказать о прикладной реализации подобного устройства.
Здравствуйте, MarW, Вы писали:
MW>Из минусов, бросающихся в глаза, стоит отметить ограниченность ввода. Например сервер, на котором работают раз в пол года будет иметь ряд ограниченной длины...
Коль уж это сервер — то слушать порты, или то с чем он работает И на что ТОЧНО влияет пользователь.
silence in quite
Re: Проект “Entropy”
От:
Аноним
Дата:
18.10.07 17:28
Оценка:
Истинно-случайные числа — это хорошо, но в 99% задач требуется случайная величина, распределенная по какому-то конкретному закону (скажем, по нормальному, или по Пуассону). Как вы собираетесь сделать такой генератор из истинно-случайных величин?
А вы не видели таких ресурсов, как http://www.agner.org/random/ ?
Здравствуйте, Mishka, Вы писали:
M>Пока я тут разбираюсь с VCS, вот мой тестовый код: M>http://www.rsdn.ru/File/1951/entropy.zip
M>Несколько вещей: M>1. sln находится в директории Solution M>2. app.config — содержит конфигурацию. secondsToListen установлен в 60 — лучше поставить поменьше 5 будет в самый раз. M>3. lineInNoise.wav — временный файл, в который пишет шум. Откройте "Volume Control" и убедитесь в том, что recording не выключен, установите громкость на максимум. Выберите откуда будете записывать. LineIn — шумит не достаточно хорошо. Я слушаю нечто под названием Wave Out Mix. После работы программы запустите wav-файл и убедитесь, что шум действительно есть. M>4. В test.cs замените 1024*1024 на столько байтов сколько вам нужно. Учтите, что скорость работы программы примерно 12Kб/мин. M>5. Поместите утилиту ent.exe туда же где находится и главный exe (то бишь скорее всего в Solution/bin/DEBUG). M>6. Полученные случайные числа пишутся в entropy.dat M>6. Запускайте программу