Персональный проект Александра Чижова, Иркутск 1998-2006Компьютерный журнал Cooler | скачать новые компьютерные игры | гаджеты | астрономия | обзоры программиста System's temperature
recent issueaboutarchiveLive TAMrubricatorlinksBooks digestComments
Компьютерный журнал "Cooler" Александра Чижова (Иркутск)

Выпуск от 01.08.2007в начало коммент   в конец коммент



QRBGS (Quantum Random Bit Generstor Service) - очень полезный сервис (даже не просто полезный, а в некоторых случаях - незаменимый): это правильный генератор случайных чисел. На основе детектирования эмиссии фотонов в полупроводнике. Просто отдельная железка стоит, которая выдает случайные числа, которые уже компом приводятся к нужному виду. Как точно там все сделано - я не в курсе, может в комментах просветят. Детально про прибор можно почитать здесь. Для генерации случайного числа (последовательности бит (нулей и единичек)) используется временной интервал детектирования фотонов.
В общем, на сайте утверждается, что этот генератор отличается полной недетерминированностью от псевдослучаных генераторов (например в компьютерах), которые ограничены конечностью автомата (компьютера). Т.е. сама природа эмиссии неопределенна.

Самый простой и детский способ проверить генератор (не его true random, а хотя бы плавность генерации): заказать 256 байт (8-ми разрядных). Что мной и было сделано:

Как результат: практически идеальная заполненность всего ряда от 0 до 256. Это хорошо. Полностью идеальная заполненность - это было бы не очень хорошо, ибо (как мне кажется) ведет к детерминированности.
Что предлагает сервис для пользователя: именно web-based я не нашел (кроме Java), зато есть исходники (+ bin) для unix (elf) и Windows (command-line exe) небольшая утилитка 80кб, которой я и пользовался. В принципе, работает и ELF (unix) - я его проверил - все отлично, можно вполне привинтить в PHP, Perl.
Это кроме всех прочих C++ библиотек и т.п.
Сама программа (command line) работает с портом 1227 (так что если есть firewall - надо разрешить этот порт). Выдает результат в зависимости от настроек ini-файла или командной строки - stdout или outfile. Для работы необходима регистрация на сайте и подстановка login-pass в ini-файл для коннекта. Там же можно настроить разрядность выдаваемых чисел - от байтов до float64. Есть бинарный и тектовый формат представления данных.
Так что теперь в онлайне для всех есть недетерминированный реальный генератор случайных чисел. Весьма быстрый и, как обещают разработчики, скоро будет SSL и прочие навороты для секурности. Примерение разнообразно: криптография, различные научные симуляторы, статистические исследования и т.п.

 
23  OnlySlon :
Во многих x86 чипсетах имеются хардварные генераторы случайных чисел.
Если мне не изменяет памяь то эта фича появилась в интеловских чипсетах начиная с i810. Источником случайного процесса (теплового шума) является резистор.

в исходниках ядра Linux есть драйврера ГСЧ(hw_random) под чипсеты intel via geode amd и платформу omap
    -    ICQ:32470821  | rank:1 | post-id:9636|10.08.2007/14:47
 
22  kilblinton :
кстати раньше билайновские карты экспрес оплаты генерились с помощью библиотечного генератора и легко подделывались........
    -    ICQ:460727  | rank:130 | post-id:9448|06.08.2007/10:52
 
21  kilblinton :
есть более наглядные иллюстрации качества случайных потоков например если рисовть точки xyxyxy.....(плоскость размерность 2) xyzxyzxyz........ (размерность 3) ...(размерность n) .Так вот встроенный в паскаль генератор проявляет заметную регулярность уже при n=3
    -    ICQ:460727  | rank:130 | post-id:9447|06.08.2007/10:50
 
20  bdfy :
>еще хорошим случаем случайных задержек считается измерение интервалов нажатий на клавиши при наборе.

А я то думал зачем при генерации пароля к кошельку вебмани просят клацать по клавишами и двигать мышой. :)
    -   | rank:73 | post-id:9429|05.08.2007/22:29
 
19  Jodo :
зав. кафедры в молодости заработал несколько лишних рублей на коллегах, обнаружив что комбинации в "покере" на ЕС вполне себе повторяются :)
    -   | rank:263 | post-id:9422|05.08.2007/09:20
 
18  MaS :
> Masi: Чем плохи псевдослучайные генераторы?

От задачи зависит. Где-то и простейшего достаточно, а где-то приходится и вообще от "псевдо-" отказаться. Про критерии оценки случайности генератора ПСЧ - У Кнута.
    -   | rank:45 | post-id:9421|05.08.2007/02:59
 
17  MaS :
http://fourmilab.ch/hotbits/ - более десяти лет поставляют случайные биты всем желающим.
    -   | rank:45 | post-id:9420|05.08.2007/02:55
 
16  zyxman :
[to Kalvado] интел и в pentium-3 грозился добавить ГСЧ, но что-то помешало, наверное "домохозяйкам" оно не надо.
А вообще достаточно загнать обычный диод в режим и он будет отлично генерить случайные последовательности.
правда с диодом прийдется програмно либо аппаратно подгонять распределение, потому что точка зависит от температуры.
    -   | rank:327 | post-id:9412|04.08.2007/20:07
 
15  BioByte :
Если бы там был провал, это нечто не имело бы права называться ГСЧ, даже псевдо ;) Кроме того по выборке "256 байт (8-ми разрядных)" судить о качестве ГСЧ это всё равно, что гадать по звёздам ;)
    -   | rank:13 | post-id:9411|04.08.2007/19:55
 
14  Cooler :
[to vovets] график показывает. Если бы где-то был провал - было бы плохо.
   chizh@irk.ru  | rank:1277 | post-id:9409|04.08.2007/16:40
 
13  Jodo :
http://ru.wikipedia.org/wiki/Генератор_псевдослучайных_чисел
так что random грешно и ущербно :)
    -   | rank:263 | post-id:9356|02.08.2007/18:15
 
12  Kalvado :
Вроде бы Intel в 800-х чипсетах пытался добавить hardware random number generator. Никто не знает что сейчас с этим творится?
    -   | rank:468 | post-id:9341|02.08.2007/01:55
 
11  vovets :
а график ничего не показывает - Александр - сними ;)
    -   | rank:256 | post-id:9336|02.08.2007/00:39
 
10  vovets :
вообще-то, есть применения
а улучшатели - да, но они не гарантируют наличия слабой и не всегда появляющейся (возможно) детерминированности - как почерк человека...
    -   | rank:256 | post-id:9335|02.08.2007/00:38
 
9  zyxman :
это типа первоапрельская шутка - на серьезных серваках уже давно случайность генератора RND улучшают скармливая ему такие случайные штуки как прерывания от сетевой карточки.
еще хорошим случаем случайных задержек считается измерение интервалов нажатий на клавиши при наборе.
    -   | rank:327 | post-id:9328|01.08.2007/20:26
 
8  Jodo :
[to kirpich]
дело ведь не в заполняемости, а в предсказуемости результата. что если "выплюнув" некую последовательность "случайных" чисел система через некоторое время начнет выплевывать ее снова? Помню "рандом" на БК-0010-01 оччень наглядно это демонстрировал.
    -   | rank:263 | post-id:9327|01.08.2007/18:56
 
7  kirpich :
Masi:
Если использовать обычный random, то график получается точно такой же;
Вот, я сохранил график по этой ссылке:
http://www.smartprojectstudios.ru/temp/random.gif

Числа на графике получаются самым обычным рэндомом:
randomize;
for i:=0 to 255 do
arr := random(256);

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

Думаю, что разговоры о "псевдослучайности" - из той же серии, что и дорогие позолоченные провода для меломанов, которые на слух при "слепом" тесте никто отличить от обычных не может.
    -   | rank:17 | post-id:9320|01.08.2007/14:48
 
6  Masi :
Неужели, если аналогичный график на компе вывести при помощи какого-нибудь банального rand(), он будет сильно другим?
   maus-san@yandex.ru   ICQ:771594  | rank:121 | post-id:9301|01.08.2007/11:05
 
5  Masi :
Чем плохи псевдослучайные генераторы?
   maus-san@yandex.ru   ICQ:771594  | rank:121 | post-id:9295|01.08.2007/10:40
 
4  robel :
есть еще http://random.org/ со своим API
    -   | rank:2 | post-id:9282|01.08.2007/00:49
 
3  Dibutil :
Syntax:
Да, тепловой шум - это правильно. Я еше в школе сварганил такой генератор на доиде Шоттки. Работал превосходно, мы его потом по-всякому пытались анализировать, очень качественный поток выходил. Единственная проблема в том, что сам диод надо содержать при определенной температуре. Если температура ползет, результат может оказаться предсказуемым.

Desmond: кстати, построение узнаваемых текстур - один из хороших способов оценки качества генераторов, мы им тоже успешно пользовались :)
    -   | rank:59 | post-id:9257|31.07.2007/19:48
 
2  Syntax :
Сейчас все уважающие себя онлайн казино вешают уведомление на странице About, которое говорит, что они имеют сертифицированный железный рендом генератор. Я видел в одном казино упоминание, что у них рендом железка (или чип, не помню) которая дает числа из теплового шума.
    -   | rank:2 | post-id:9256|31.07.2007/19:37
 
1  desmond :
Одно из самых нужных применений реального генератора - это полиграфия и стохастический растр. На действительно дорогих и серьезных rip-ах для этого существуют программно-аппаратные решения. В случае растрирования обычным способом, растр получается с узнаваемым паттерном - это особо касается равномерных заполнений.
   phanex@gmail.com  | rank:88 | post-id:9252|31.07.2007/18:40

это мой е-майл Боря делал дизайн