Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Генерация случайных чисел


Автор: Gold Dragon 16.9.2004, 13:14
Какие существуют алгоритмы для генерации случайных чисел. Я слышал, что самый надёжный и менее ПСЕВДО это разложение случайного фото на последовательность.

Автор: S.A.P. 16.9.2004, 13:50
Недавно тоже интересовался smile.gif :
http://algolist.manual.ru/maths/generator/index.php

Автор: Y-Vladimir 16.9.2004, 13:52
Самое лучшее - это использовать шумы аппартных устройств . Тогда получется истинно случайная последовательность. К примеру можно взять шумовой сигнал со входа звуковой карты, а далее провести несложную обработку по удалению периодического шума (наводки там всякие..) и получим замечательную СЛУЧАЙНУЮ последовательность.
Вот...

Автор: LuckLess 16.9.2004, 14:33
Цитата(Y @ 16.9.2004, 13:52)
огда получется истинно случайная последовательность.

Истинно случайного не бывает!!!(см. курс криптографии)

Автор: Gold Dragon 16.9.2004, 14:38
Y-Vladimir
А диапозон большой у шума получится?

Цитата
Истинно случайного не бывает!!!
Но надо к этому стремиться smile.gif

Автор: S.A.P. 16.9.2004, 14:42
Цитата(Y @ 16.9.2004, 13:52)
Самое лучшее - это использовать шумы аппартных устройств

идея неплохая, не за что бы не догадался smile.gif .
Цитата(Red @ 16.9.2004, 14:38)
А диапозон большой у шума получится?

Диапазон можно масштабировать. А можно и в качестве задающего зерна в чистых генераторах использовать, правда от таймера это мало чем отличаться будет. hmmm.gif

Автор: LuckLess 16.9.2004, 14:47
Аппаратные шумы лучше не использовать , т.к. звуковухи укогнибудь например может не быть , тогда на этом компе генератор не сработает , или можно на выход приборчика поставить генератор шума , который будет выдавать тебе псевдослучайную последовательность , которую ты от случайной отличишь за N лет , и будешь щитать что твой генератор выдает случайную последовательность , хотя для когото она будет совсем не случайной..

Автор: Y-Vladimir 16.9.2004, 14:47
Цитата(LuckLess @ 16.9.2004, 14:33)
Истинно случайного не бывает!!!(см. курс криптографии)

Естественные природные шумы (атмосферные, молекулярные) можно с чистой совестью отнести к истинно случайным. А вообще, если говорить серьезно, то случайных процессов в природе нет, другое дело, что мы не можем смоделировать, скажем, движение и столкновение молекул, потому пока считаем их непредсказуемыми.
А что там в курсе криптографии про это говорится, обрисуй кратко?

Автор: LuckLess 16.9.2004, 14:51
Y-Vladimir
Кратко уже обрисовал. Никто недоказал что хоть чтото случайно , просто есть вещи где еще не нашли закономерность. А чистого доказательства нет. Поэтому лучше не использовать слово "истинно".
Это я так просто... к словам придираюсь... tounge.gif

Не надо использовать никакие шумы , есть уйма замечательных алгоритмов псевдослучайной генерации..

Автор: Y-Vladimir 16.9.2004, 14:55
Цитата(LuckLess @ 16.9.2004, 14:47)
Аппаратные шумы лучше не использовать ...

В практической криптографии аппаратные шумы широко используются. VIA даже выпустила процессор с аппартной генерацией случайных чисел.

Цитата(LuckLess @ 16.9.2004, 14:47)
т.к. звуковухи укогнибудь например может не быть , тогда на этом компе генератор не сработает , или можно на выход приборчика поставить генератор шума , который будет выдавать тебе псевдослучайную последовательность , которую ты от систематической отличишь за N лет , и будешь щитать что твой генератор выдает случайную последовательность , хотя для когото она будет совсем не случайной..

Если ситуация очень ответственна, то можешь применить стабилитрон - он дает замечательный шум. Еще можешь этот шум анализировать, и если замечаешь признаки человеческой деятельности, то обламываешь енту попытку.

Автор: Gold Dragon 16.9.2004, 15:01
Народ, что-то вы расшумелись smile.gif

Цитата(LuckLess @ 16.9.2004, 15:51)
Не надо использовать никакие шумы , есть уйма замечательных алгоритмов псевдослучайной генерации..

Конечно можно, но хотелось бы знать, что ещё бывает. Вот например про аппаратные шумы я никогда не слышал, а идея и правда отличная, и похоже это ближе всего к истенно случайным числам

Автор: Y-Vladimir 16.9.2004, 15:04
Цитата(LuckLess @ 16.9.2004, 14:51)
Не надо использовать никакие шумы , есть уйма замечательных алгоритмов псевдослучайной генерации..

Это смотря что делаешь, если игру какую, то конечно лучше алгоритмом. Но иногда такой подход неприменим.

Автор: Y-Vladimir 16.9.2004, 15:16
Вот статья про случайные числа и описание способов проверки "чистоты" генератора.
http://www.infobez.ru/article.asp?ob_no=1387

Еще одна статья:
http://criptograf.narod.ru/kr4.html#6

Автор: maxim1000 16.9.2004, 15:19
http://forum.vingrad.ru/index.php?showtopic=7465
http://forum.vingrad.ru/index.php?showtopic=13401

Автор: Girder 16.9.2004, 15:32
Сегодня читал: http://news.izvestia.ru/tech/news88602

Автор: LuckLess 16.9.2004, 15:35
Цитата(Y @ 16.9.2004, 14:55)
В практической криптографии аппаратные шумы широко используются. VIA даже выпустила процессор с аппартной генерацией случайных чисел.


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

Цитата(Y @ 16.9.2004, 14:55)
Если ситуация очень ответственна, то можешь применить стабилитрон - он дает замечательный шум. Еще можешь этот шум анализировать, и если замечаешь признаки человеческой деятельности, то обламываешь енту попытку.

Ты заметишь признаки человеческой деятельности дет через 10-20(можно и больше), если псевдослучайный генератор хорош(который генерирует шум). А хороших сейчаз много.

Если ты на построишь завод , на котором сделаешь себе компьютер, не даш никаму до него дотронуться, и на основе его шумов построиш гетератор ПСЕВДОслучайных чисел , то он будет супер хороший(до тех пор пока ты уверен ,что компьютер не трогал никто) , как это и делает VIA. Делает свой процессор , и в него встраивает генератор , но использовать такой генератор можно тоже с опаской , так как целиком вес компьютер VIA не делает. Псевдослучайные алгоритмы основанный на математических алгоритмых обмануть гораздо сложнее , чем генераторы построенные на шумах.

Автор: podval 16.9.2004, 15:40
Здесь есть примеры генераторов шума:
http://forum.vingrad.ru/index.php?showtopic=14201

Автор: Y-Vladimir 16.9.2004, 15:45
Цитата(LuckLess @ 16.9.2004, 15:35)
Они используются когда ты знаешь за какой машиной ты сидишь , и не предполагается использование этого генератора на других.

Используются они в ответственных случаях - к примеру, все PIN-коды телефонных карт генерируются только аппаратным генератором случаных чисел, а не программным, иначе бы его давно уже сломали и сами бы продавали эти PIN-коды. Еще все электронные казино и многие игровые автоматы используют тот же аппаратный генератор. Это необходимо для надежности

А на обычной персональной PC ты не получишь никакой надежности. Всегда можно взломать и аппаратный генератор и программу и все, что угодно (при желании).

Автор: LuckLess 16.9.2004, 15:55
Цитата(Y @ 16.9.2004, 15:45)
Используются они в ответственных случаях

Они используються на СвОЕМ железе. Они не покупают персоналку , которую сделал хз кто , и на основе ее шумов делают генератор.
Цитата(Y @ 16.9.2004, 15:45)
а не программным, иначе бы его давно уже сломали

Есть довольно несложно реализуемые генераторы , которые ты и за 100 лет не сломаешь.
Просто основанные на аппаратных шумах генераторы надежнее , но ТОЛЬКО если железо свое!

Автор: Y-Vladimir 16.9.2004, 16:04
Цитата(LuckLess @ 16.9.2004, 15:55)
Они используються на СвОЕМ железе.

Вообще-то в большинстве случаев используют готовый сертифицрованный генератор, а не изобретают велосипед.
http://www.russiancasino.ru/guarantee/rus/

Автор: LuckLess 16.9.2004, 16:55
Я не дописал немного. Все зависит от требуемой степени надежности. Для целей казино и пр. подойдет и доверенное/сертифицированное оборудование.

Но писать ГСЧ основанный на шумах для персоналки нецелесообразно.

Автор: Y-Vladimir 17.9.2004, 12:39
Цитата(LuckLess @ 16.9.2004, 16:55)
Но писать ГСЧ основанный на шумах для персоналки нецелесообразно.

Зато можно использовать как хороший рандомизатор ГСЧ на персоналке.

Автор: kr3v3tkus 26.3.2009, 01:34
Народ а подскажите вообще где ещё используют гпсч, кроме шифрования пин кодов и тд :DDD и вообще, кроме шифрования же гдето они используются?

Автор: nworm 26.3.2009, 03:33
да

http://ru.wikipedia.org/wiki/%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D1%81%D0%B5%D0%B2%D0%B4%D0%BE%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D1%85_%D1%87%D0%B8%D1%81%D0%B5%D0%BB

Автор: kr3v3tkus 26.3.2009, 11:55
смотрел =\ там примеров очень мало и опять же все с криптографией

Автор: nworm 26.3.2009, 17:47
А как же метод Монте-Карло и имитационное моделирование прямо в начале страницы?

Автор: kr3v3tkus 27.3.2009, 08:03
пардон :[ просто не шибко секу в тервере и моделировании smile а можно какие-нибудь "бытовые" так сказать примеры? smile типа тех же пинов и казино smile

Автор: nworm 27.3.2009, 11:33
Ну, в играх используется, даже на моём домашнем сайте есть какой-то random.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)