Bitcoin Forum

Local => Майнеры => Topic started by: needbmw on January 20, 2015, 09:00:34 AM



Title: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on January 20, 2015, 09:00:34 AM
недавно в недрах тренда о нове (https://bitcointalk.org/index.php?topic=704756.msg10179663#msg10179663) зародилась мысль об истинном ГСЧ (TRNG).
я откровенно говоря давно подумывал о необходимости такой приблуды для каждого уважающего себя криптомана, но мысль дальше чем "пошуметь стабилитроном" не распространялась.

мне очень понравилась идея квантового ГСЧ на основе счетчика Гейгера-Мюллера.
в результате после небольшого обсуждения был собран подопытный девайс из Raspberry PI и советского дозиметра "Север" на трубке самой распространенной марки СБМ-20. быдлокод (https://github.com/needbmw/rng) пока только в зародыше, буду выкладывать обновления и результаты тестов по факту их появления.

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

https://i.imgur.com/c4CRbFt.jpg?1

работая на фоновых значениях гамма-излучения, глупо ожидать высокой скорости от TRNG, в среднем сейчас генератор выдает 1 случайный бит в 8-12 секунд (возбуждать счетчик от источника гамма-ИИ просьба не предлагать, чтобы не иметь проблем со здоровьем и законом).

Code:
root@raspberrypi:~/rng# ./rng 
01010000 0x50 0.086 bps 0.12 uSv/h
11100110 0xE6 0.066 bps 0.09 uSv/h
10101000 0xA8 0.080 bps 0.11 uSv/h
10011111 0x9F 0.089 bps 0.12 uSv/h
00110101 0x35 0.096 bps 0.13 uSv/h
00111101 0x3D 0.080 bps 0.11 uSv/h
00011100 0x1C 0.092 bps 0.13 uSv/h
10101101 0xAD 0.096 bps 0.13 uSv/h

возможные варианты ускорения процесса - внедрение хорошего ГПСП, сидируемого от TRNG, или переход на трубку со слюдяным окном, чувствительную к альфа-излучению от какого-нибудь легального источника. думаю, рано или поздно попробуем оба варианта. а пока нужно набраться терпения и собрать побольше бит, чтобы было что анализировать на предмет энтропии.

для ответа на закономерный вопрос "накой это вообще нужно" приведу две картинки с этого сайта (http://boallen.com/random-numbers.html):

True random bitmap
http://boallen.com/assets/images/randbitmap_true.png

PHP rand() on Windows bitmap
http://boallen.com/assets/images/randbitmap_computer.png

а теперь представьте, что частные ключи к вашим монетам были сгенерированы вторым генератором  ::)



ввиду отсутствия модератора на форуме топик само-модерируемый, трёп не по теме буду выпиливать без всякого сожаления  :)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on January 20, 2015, 09:00:52 AM
резерв


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 20, 2015, 09:14:32 AM
Значительная часть постов из данной темы может быть найдена тут ещё:

https://bitcointalk.org/index.php?topic=704756.msg10205657#msg10205657

P.S. На посты becool внимание можно не обращать.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: fruit on January 20, 2015, 11:05:47 AM
А не проще ли, для домашнего использования, ГСЧ на основе рисунка (пузырьки) среза буханки чёрного хлеба?
Надо ещё сгенерить - срезал ещё ломоть.

Прошу, громко не смеяться - я не специалист по криптографии.

http://www.tvcook.ru/uploads/images/00/00/07/2012/06/27/df4eb9.jpg

Картинки со срезами хлеба (https://www.google.ru/search?q=%D1%81%D1%80%D0%B5%D0%B7+%D1%85%D0%BB%D0%B5%D0%B1%D0%B0&newwindow=1&client=ubuntu&hs=5eY&sa=X&channel=fs&biw=1920&bih=891&tbm=isch&tbo=u&source=univ&ei=Wzi-VJymIOfiywPQjIHgCQ&ved=0CCoQsAQ)



Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on January 20, 2015, 11:12:14 AM
А не проще ли, для домашнего использования, ГСЧ на основе рисунка (пузырьки) среза буханки чёрного хлеба?
Надо ещё сгенерить - срезал ещё ломоть.
Прошу, громко не смеяться - я не специалист по криптографии.

точно так же можно реализовать близкий к ИГСЧ генератор на основе движений мышки пользователя, как это сделано например в TrueCrypt.  нужно ключ сгенерить - подрыгал мышкой и оно сгенерилось. но к сожалению это не вариант для круглосуточно доступного решения...


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: OZR on January 20, 2015, 11:41:39 AM
Задумался. Privkey сгенерированный мне в VanityGen по логике явно должен быть псевдо-рандомным и потенциально уязвим...

*Впрочем, велика вероятность, что сгенерированные адреса Bitcoin Core, такие же псевдо-рандомные, а это уже чрезвычайно серьёзная проблема... Очередной и очень важный повод добить программирование и увидеть картинку своими глазами... Грусть.*


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on January 20, 2015, 12:03:49 PM
такие же псевдо-рандомные, а это уже чрезвычайно серьёзная проблема...

продам свежие квантовые случайные числа, недорого  ;D


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 20, 2015, 12:17:40 PM
<кэп>Ну продавать их смысла уже нет, потому что ты их видел.</кэп>  :)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on January 20, 2015, 01:55:12 PM
пока копятся данные, я решил исследовать RNG чипа BCM2708, на котором собственно сделана сама распи.
как выяснилось, помимо обычного /dev/urandom существует еще драйвер bcm2708-rng, открывающий доступ к аппаратному ГСЧ чипа через устройство /dev/hwrng

Quote
root@raspberrypi:~/rng# dd if=/dev/urandom bs=1M count=1 | ent
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 1.36604 s, 768 kB/s
Entropy = 7.999849 bits per byte.

Optimum compression would reduce the size
of this 1048576 byte file by 0 percent.

Chi square distribution for 1048576 samples is 219.28, and randomly
would exceed this value 90.00 percent of the times.

Arithmetic mean value of data bytes is 127.4724 (127.5 = random).
Monte Carlo value for Pi is 3.150364496 (error 0.28 percent).
Serial correlation coefficient is 0.001382 (totally uncorrelated = 0.0).
root@raspberrypi:~/rng#

красным выделены результаты Chi2-теста, на котором как раз и сыпятся ГПСЧ

Quote
root@raspberrypi:~/rng# modprobe bcm2708-rng
root@raspberrypi:~/rng# dd if=/dev/hwrng bs=1M count=1 | ent
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 10.8145 s, 97.0 kB/s
Entropy = 7.999822 bits per byte.

Optimum compression would reduce the size
of this 1048576 byte file by 0 percent.

Chi square distribution for 1048576 samples is 259.20, and randomly
would exceed this value 50.00 percent of the times.

Arithmetic mean value of data bytes is 127.4226 (127.5 = random).
Monte Carlo value for Pi is 3.140568316 (error 0.03 percent).
Serial correlation coefficient is 0.001274 (totally uncorrelated = 0.0).

у аппаратного генератора все в порядке, Chi2 девиация 50%

UPD: при множественных запусках тоже бывают забросы до 90%, надо разбираться с ним плотнее


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: tvskit on January 20, 2015, 10:47:33 PM
Может за основу гнч взять и изучить помехи при помощи обычной антенны вч или нч сигнала, который валит из космоса не прирывно и мощно, при этом используюя лубой доступный приемник, булавку?


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: A-Bolt on January 20, 2015, 11:00:31 PM
Может за основу гнч взять и изучить помехи при помощи обычной антенны вч или нч сигнала, который валит из космоса не прирывно и мощно, при этом используюя лубой доступный приемник, булавку?
А как отделить космический шум от сигналов радиостанций и помех от зарядки мобильника, воткнутой в розетку рядом с приёмником?


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: tvskit on January 20, 2015, 11:19:07 PM
Может за основу гнч взять и изучить помехи при помощи обычной антенны вч или нч сигнала, который валит из космоса не прирывно и мощно, при этом используюя лубой доступный приемник, булавку?
А как отделить космический шум от сигналов радиостанций и помех от зарядки мобильника, воткнутой в розетку рядом с приёмником?

Иногда это сигнал/шум, а иногда, каждую секунду/1000000000, мошность излучения гамма - солнце, мангитары, пульсары и т.д.  и это четко отделяется.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on January 21, 2015, 08:11:09 AM
Иногда это сигнал/шум, а иногда, каждую секунду/1000000000, мошность излучения гамма - солнце, мангитары, пульсары и т.д.  и это четко отделяется.

а конкретизировать алгоритм "четкого" отделения можно?
ведь он напрямую будет влиять на результат.

детектор ИИ в данном случае как раз и является предпочтительней прослушивания радиоэфира и шумов pn-переходов именно тем, что регистрирует отдельные кванты, а промодулировать их поток невозможно в принципе. можно только менять интенсивность, что не влияет на качество "продукции" генератора, а только на его производительность.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 21, 2015, 03:15:23 PM
Неоспоримым плюсом использования ионизирующих частиц в качестве источника энтропии является то, что при хорошем алгоритме счета такой источник очень трудно испортить халтурной реализацией. По сути, здесь вообще значения не имеет даже такой обычный предмет головной боли, как плавающие от температуры характеристики элементной базы.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Subw on January 21, 2015, 06:19:34 PM
велосипедисты, про  /dev/random не слышали?


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: fsb4000 on January 21, 2015, 06:29:30 PM
велосипедисты, про  /dev/random не слышали?
смешно, шутку оценил  :)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on January 21, 2015, 07:25:08 PM
велосипедисты, про  /dev/random не слышали?

нет, а что это?  ???


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 21, 2015, 08:05:12 PM
велосипедисты, про  /dev/random не слышали?

нет, а что это?  ???
Системное устройство для поиска жопы.

https://twitter.com/brainslug/status/11814377181

Code:
$ time grep -i жопа /dev/urandom
Binary file /dev/urandom matches

real 0m13.895s
user 0m0.615s
sys 0m13.165s


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Subw on January 21, 2015, 08:33:23 PM
велосипедисты, про  /dev/random не слышали?

нет, а что это?  ???
то же что ты сделал только бесплатно


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on January 23, 2015, 06:02:21 AM
эх, жаль пропала увлекательная дискуссия  :)

итак, промежуточные результаты

режим TRUE_RNG ("швейцарский" алгоритм "4 кванта на бит"):

Code:
root@raspberrypi:~/rng# ent out1.bin
Entropy = 7.829581 bits per byte.

Optimum compression would reduce the size
of this 1199 byte file by 2 percent.

Chi square distribution for 1199 samples is 265.05, and randomly
would exceed this value 50.00 percent of the times.

Arithmetic mean value of data bytes is 125.2644 (127.5 = random).
Monte Carlo value for Pi is 3.256281407 (error 3.65 percent).
Serial correlation coefficient is 0.033513 (totally uncorrelated = 0.0).

все очень неплохо даже при такой небольшой выборке в 1199 байт

далее самый быстрый конвеерный алгоритм "1 квант на бит":

Code:
root@raspberrypi:~/rng# ent out2.bin
Entropy = 7.253107 bits per byte.

Optimum compression would reduce the size
of this 2094 byte file by 9 percent.

Chi square distribution for 2094 samples is 2354.83, and randomly
would exceed this value 0.01 percent of the times.

Arithmetic mean value of data bytes is 126.8706 (127.5 = random).
Monte Carlo value for Pi is 3.426934097 (error 9.08 percent).
Serial correlation coefficient is 0.010534 (totally uncorrelated = 0.0).

следует обратить внимание что при выборке почти в 2 раза больше чем предыдущая, средняя энтропия стала гораздо хуже, а параметр разброса Chi2 вообще 0.01%, что говорит о том, что эти данные не являются случайными!
почему это произошло я пока не понимаю, реализацию алгоритма я проверил, он довольно примитивный.
возможно дело в том, что присутствует связь между событиями, т.к. каждый следующий интервал является предыдущим для следующей пары.

сейчас дополнительно реализован алгоритм "3 кванта на бит", результат ниже:

Code:
root@raspberrypi:~/rng# ent out3.bin
Entropy = 7.874998 bits per byte.

Optimum compression would reduce the size
of this 1420 byte file by 1 percent.

Chi square distribution for 1420 samples is 244.36, and randomly
would exceed this value 50.00 percent of the times.

Arithmetic mean value of data bytes is 124.7901 (127.5 = random).
Monte Carlo value for Pi is 3.169491525 (error 0.89 percent).
Serial correlation coefficient is 0.019137 (totally uncorrelated = 0.0).

видим, что с энтропией и Chi2 все нормально.

также реализован алгоритм "2 кванта на бит", но данные пока только набираются.

UPD:

Code:
root@raspberrypi:~/rng# ent out.bin
Entropy = 7.841278 bits per byte.

Optimum compression would reduce the size
of this 1173 byte file by 1 percent.

Chi square distribution for 1173 samples is 248.86, and randomly
would exceed this value 50.00 percent of the times.

Arithmetic mean value of data bytes is 130.0068 (127.5 = random).
Monte Carlo value for Pi is 3.117948718 (error 0.75 percent).
Serial correlation coefficient is -0.003621 (totally uncorrelated = 0.0).

что же, все три варианта кроме "1 квант - 1 бит" демонстрируют отличные и очень схожие результаты.
буду искать альфа-счетчик  :)



Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 23, 2015, 06:55:08 AM
Форум откатили из старого бэкапа? о_О

Блин, придется тесты делать заново, т.к. не сохранил ничего. Ладно, потом.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: becool on January 26, 2015, 10:19:41 AM
Не знаю с какого раза доходит до людей.
Еще и поползли обвинения что мои посты не читать, хотя ведь никто и не опроверг.

В доказательство что другие варианты кроме ловли излучения не могут быть вы что берете? Совершенно явно зависимые вещи, что рыбки могут скапливаться в углу и т.д.
Ясен х**, и птица летит вперед, а не назад, и т.д.

Надо убирать зависимые постоянные не случайные составляющие, как и везде.
Но и везде есть случайные наравне с зависимыми, вы умеете ходить шагами у которых точные милиметры? Я нет.

Вы умеете рулетку крутить так чтобы выпадало точное число? Я нет.

Или начинаются заумничивания в сторону названий формул терминов и т.д.

Естественно никто не говорит о подобного рода зависимых экспериментах.

Если ты мог бы измерить свои шаги с точностью до мелиметра и его долей достаточно точно ( не внося погрешность свою снимая показания) разве мы эти миллиметры не были случайными?

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

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

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

Да, математически вариант отброса неслучайного с этим прибором выглядит проще.
Зато технически это усложнение.

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

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


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on January 26, 2015, 11:15:34 AM
На этой основе можно сделать генератор не менее случайных чисел на любом приборе,

ну так сделай
извини, но заебал уже своими простынями, велком ту игнор


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 26, 2015, 11:25:54 AM
Приехали комплекты с СБМ-20, распаял, заработали с первого раза... Аж прям душа радуется :)

http://www.youtube.com/watch?v=-fDfJhvhM1c

Схемка:

http://s50.radikal.ru/i127/1501/b2/2827fda39a0f.jpg

Буду думать, как бы их наименнее "насопливо" подключить теперь, по идее надо на 6-й пин контроллера через делитель. ::)

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

P.S. Говорят, что Почта России слоупоки, но USPS по результатам в этом плане круче... Уже 6 дней один из пакетов пакет валяется на их "Facility", на Ямайке... Из Японии за это время пакеты целиком весь путь прошли, включая растаможку и пресловутую Почту России.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: becool on January 26, 2015, 01:40:31 PM
На этой основе можно сделать генератор не менее случайных чисел на любом приборе,

ну так сделай
извини, но заебал уже своими простынями, велком ту игнор


Люди тоже самое писали кратко, ты молчал.
А бальтазар сотоварищи начали тролить на этот счет всех с иным мнением, не только меня.
А сейчас еще и пишут уже тут, что мои посты мол читать не надо, а ты продолжаешь тему что словно это я с другими людьми начал невозможность нормального диалога закидыванием дерьмом продолжать.
Это сделали вы с бальтазаром и его корешом, вторым химозным.
Тут дело не в простынях.
А в самом подходе.
Мы делаем истинный ГСЧ, а все ваши не истинные.
У вас как вера, а иноверцев надо затроллить дружно, используя тролльские методы разные.
Дружно обсмеяв, указать на якобы некомпетентность и т.д.
Если оно действительно так, то надо было признать это сразу.
А не разводить травлю людей в дураков превращать троллинг, вместе попотешаться дружно.
И потом писать вот он дурак, его не читайте.
Вообще-то вам не только я написал об этом, а несколько человек.
Ну тут стандартное бальтазарово поведение, любое свое мнение проталкивать через троллинг опонента и любые подобные методы.
Нужно уметь признавать критику, а не собирать толпу забросать помидорами.
Если ты лично осознаешь что возможен и иной инструмент, то почему способствовал как минимум молчанием в этом троллинге? (ведь обсуждался твой инструмент)
Да, твой инструмент создания рандомных чисел хороший, к нему притензий нет.
И мне он понравился, тоже хочу что-то делать с малинкой.
А вот очередное забрасывание неверных опонентов помидорами будучи не правыми это очень плохо.
Это как бальтазар точно так же в чате бтце мало того что направил на меня весь чат затролить говоря что я дурак насчет асиков (говорил что будет то что есть сейчас), и так далее, сам настраивая людей на оскорбления, так еще потом сам же мне и бан выписал, а себе самому за оскорбления и другим за оскорбления и мат он не выписал.
Это когда он еще вместе со своими майнерами пропогандировал асики.
Почему я должен делать именно прибор? Такие системы уже есть, как писали Truecrypt например.
Система такая же, просто вместо мышки тоже какой-то прибор.
Если вы не можете признавать очевидное, и переводите на оскорбление опонентов и переходы на личности, то не надо еще и обвинять в этом тех кого вы так троллите.

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

Хороши ты меня мол заигнорил, но тебе и другие писали уже про это изначально, это потом уже я написал.
Про аквариум с рыбками вовсе не я предлагал.

ввиду отсутствия модератора на форуме топик само-модерируемый, трёп не по теме буду выпиливать без всякого сожаления  :)

Я как раз по теме и писал когда бальтазар сотоварищи химозы начали тролинг.

У тебя написано в названии истинный ГСЧ, видимо более истинный потому что хардварный.
Но кроме слова истинный в названии темы не описано нигде почему он истинный, в сравнении с другими не истинными.
А ведь это важно, ГСЧ то много разных, основной момент и не описан и не уточнен, и как рза это то и предмет темы был вроде как.
Или эта тема просто из разряда что еще можно сделать из малинки?
Ты игнорируешь именно по теме разговор.

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

Точно так же как не могут не соответствия номиналов резисторов влиять на относительность передачи оттенков одной точки относительно другой в вэбкамере так чтобы это нельзя было вынести как не случайную величину.
Точно так же как не могут влиять на измерения скоростей и количества пикселей растояний движения мышки.
И т.д. т.д. т.д.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: FAN on January 26, 2015, 09:08:45 PM
true=false


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 27, 2015, 07:52:14 PM
needbmw

Собственно, результат:

http://www.youtube.com/watch?v=00h0_Tq8ThA&feature=youtu.be

Странный фон программка показывает, счетчики же у нас вроде одинаковые...


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: becool on January 27, 2015, 08:39:52 PM
А я вчера к малинки подключил цифровой термометр.
Могу тоже собирать данные.
Младшие разряды температуры цифрового термометра.
Сколько нужно байт насобирать?
Какими командами протестировать случайность?


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on January 28, 2015, 03:44:42 AM
needbmw

Собственно, результат:

http://www.youtube.com/watch?v=00h0_Tq8ThA&feature=youtu.be

Странный фон программка показывает, счетчики же у нас вроде одинаковые...

даже не в фоне дело, что-то быстро генерирует, 10bps - не может быть такого. у меня выдает менее 1 бита в секунду (!) и я вижу осциллографом импульсы от трубки, все соответствует.
ты поставил мощный транзистор зачем-то, возможно просто плата не в состоянии раскачать его. надо смотреть осциллографом что на входе распи, либо выкинуть транзистор и поставить делитель.

кстати оцени энтропию получившегося потока
ent out.bin
может она и неплоха, и надо подробно изучать феномен  ;)

Сколько нужно байт насобирать?
Какими командами протестировать случайность?

ставишь ent для начала:
Code:
sudo apt-get install ent

потом ent <filename>

Code:
root@raspberrypi:~/rng# ent out.bin
Entropy = 7.900783 bits per byte.

Optimum compression would reduce the size
of this 2005 byte file by 1 percent.

Chi square distribution for 2005 samples is 264.27, and randomly
would exceed this value 50.00 percent of the times.

Arithmetic mean value of data bytes is 127.5781 (127.5 = random).
Monte Carlo value for Pi is 3.185628743 (error 1.40 percent).
Serial correlation coefficient is 0.021662 (totally uncorrelated = 0.0).

по поводу "сколько надо насобирать" ясное дело чем больше тем лучше.
я, учитывая низкую скорость генерации, начинаю анализировать от 2к байт.
обрати внимание на девиацию Chi2, параметр должен лежать в диапазоне 10-90%.
слишком низкие и слишком высокие значения говорят о неидеальности ГСЧ:

Quote
Chi-square Test
The chi-square test is the most commonly used test for the randomness of data, and is extremely sensitive to errors in pseudorandom sequence generators. The chi-square distribution is calculated for the stream of bytes in the file and expressed as an absolute number and a percentage which indicates how frequently a truly random sequence would exceed the value calculated. We interpret the percentage as the degree to which the sequence tested is suspected of being non-random. If the percentage is greater than 99% or less than 1%, the sequence is almost certainly not random. If the percentage is between 99% and 95% or between 1% and 5%, the sequence is suspect. Percentages between 90% and 95% and 5% and 10% indicate the sequence is “almost suspect”. Note that our JPEG file, while very dense in information, is far from random as revealed by the chi-square test.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 28, 2015, 06:54:47 AM
ты поставил мощный транзистор зачем-то, возможно просто плата не в состоянии раскачать его.
Плата раскачать его в состоянии более чем, даже несмотря на 100 кОм резистор в цепи базы...

Энтропия вот пока:

Quote
Entropy = 7.874969 bits per byte.

Optimum compression would reduce the size
of this 5041 byte file by 1 percent.

Chi square distribution for 5041 samples is 944.10, and randomly
would exceed this value less than 0.01 percent of the times.

Arithmetic mean value of data bytes is 126.5168 (127.5 = random).
Monte Carlo value for Pi is 3.047619048 (error 2.99 percent).
Serial correlation coefficient is 0.005513 (totally uncorrelated = 0.0).

Не слишком выдающийся результат но уже выяснил, в чем дело... Оно в целом подхватывает от наводок, создаваемых генератором высокого напряжения, в результате реальное количество событий умножается на спотолочное число. :D Этакий квантовый ГПСЧ получился.

Вечером попробую поставить керамику на входе, должно заглушить данное явление.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 28, 2015, 03:43:55 PM
Фиксед. :) Подключился к выводам R8 (http://s50.radikal.ru/i127/1501/b2/2827fda39a0f.jpg) и темп генерации пришел в норму, помех более не обнаруживается.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: becool on January 28, 2015, 04:32:36 PM
needbmw
Сорри
DS18B20 дает явно не случайные доли температуры с разрядностью ниже десятых долей градуса.
Оно невооруженным взглядом видно и так что 3/4 результатов округлены до 00-25-50-75 в последних числах.
(хотя иногда то проскакивают иные числа, но при таком подходе их случайность крайне под сомнением, хотя х.з.)
Проверка другими способами не нужна.
Можно конечно попытаться собирать случайных десятых долей градуса, но это слишком мало будет цифр.

Встроеный термометр в малинку и то вроде побольше случайных разрядов выдавал.

Может оно считать не успевает часть разрядов, я х.з. почему так оно работает.

Нужны иные приборы.

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



Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 28, 2015, 05:07:27 PM
А теперь вдвое больше :D

http://www.youtube.com/watch?v=vtk1o2Qc0u4

Собственно, ничего нового - просто два счетчика, работающие параллельно. Поскольку софтину пока не пилил, пришлось запускать две копии для демонстрации. Будем обучать её снимать показания с двух независимых счетчиков.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on January 28, 2015, 07:30:06 PM
Quote
Chi square distribution for 5041 samples is 944.10, and randomly
would exceed this value less than 0.01 percent of the times.

Не слишком выдающийся результат

очень выдающийся!
наглядно демонстрирует что параметр девиации Chi2 очень чуток к малейшей фальши генератора.
вроде и энтропия неплохая, и остальное в норме, ан нет, это не TRNG

по схеме могу сказать что ты совершенно напрасно туда поставил этот транзистор с дыркой. он мощный, ватт на 5, с низким h21э и требует хорошей раскачки по базе, а ты его кормишь десятками микроампер. если очень хочется поставить транзистор (повторюсь, здесь он нафиг не нужен) то в такую схему надо ставить n-канальный МОП.

ну а мои альфа-бета счетчики вроде скоро должны приехать, вот тогда повеселимся как следует

needbmw
Сорри
DS18B20 дает явно не случайные доли температуры с разрядностью ниже десятых долей градуса.
Оно невооруженным взглядом видно и так что 3/4 результатов округлены до 00-25-50-75 в последних числах.
(хотя иногда то проскакивают иные числа, но при таком подходе их случайность крайне под сомнением, хотя х.з.)

это немудрено, т.к. DS18B20 это цифровой датчик, который выдает по 1-wire шине кодовое слово с разрядностью ровно 0.250С/бит

если хочешь сделать  более-менее стабильный генератор рекомендую посмотреть вот эту схему (http://web.jfet.org/hw-rng.html) для начала.
её вариаций существует огромное множество (в т.ч. на стабилитроне), и она тоже в некотором смысле квантовый RNG.

PS ты попытался и признал свою ошибку - поступок достойный уважения  :)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 28, 2015, 08:13:46 PM
по схеме могу сказать что ты совершенно напрасно туда поставил этот транзистор с дыркой. он мощный, ватт на 5, с низким h21э и требует хорошей раскачки по базе, а ты его кормишь десятками микроампер.
Практика показывает, что чувствительности и коэффициента усиления КТ815 для таких случаев более чем хватает... Но оно понятно, что ничего крупнее КТ3102 в такую схему ставить нет смысла хотя бы по соображениям компактности.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 29, 2015, 01:51:17 AM
ну а мои альфа-бета счетчики вроде скоро должны приехать, вот тогда повеселимся как следует
Уже запасся калийными удобрениями, или будешь HIS-7 курочить? :)

Кстати, насчет СБМ-20... В дозиметрах счетчики обычно закрывают экраном из свинцовой фольги, который нужен для отсекания вторичного ренгеновского излучения. Если снять с трубки экран, то чувствительность должна заметно вырасти. Снизится точность измерения, но она в данном случае нам не так важна.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 29, 2015, 02:56:37 AM
В общем, пока просто повесил обработчики на оба пина, больше ничего не меняя:

Code:
pi@raspberrypi ~/rng3 $ sudo ./rng
01010001 0x51 0.384 bps 0.263 uSv/h
10000101 0x85 0.306 bps 0.210 uSv/h
00001000 0x08 0.608 bps 0.417 uSv/h
00001010 0x0A 0.370 bps 0.254 uSv/h
11001010 0xCA 0.401 bps 0.275 uSv/h
00111011 0x3B 0.494 bps 0.339 uSv/h
00110101 0x35 0.487 bps 0.334 uSv/h
01000011 0x43 0.545 bps 0.373 uSv/h
10101110 0xAE 0.424 bps 0.291 uSv/h
01110111 0x77 0.565 bps 0.387 uSv/h
00101010 0x2A 0.326 bps 0.224 uSv/h
11001011 0xCB 0.352 bps 0.242 uSv/h
00111111 0x3F 0.636 bps 0.436 uSv/h
01001010 0x4A 0.500 bps 0.343 uSv/h
10111100 0xBC 0.298 bps 0.205 uSv/h
10010010 0x92 0.373 bps 0.256 uSv/h
10000010 0x82 0.397 bps 0.272 uSv/h
1110

Как результат, скорость счета удвоилась. Имеется мысль о том, что это алгоритмически не совсем правильно, т.к. есть вероятность что одна частица может пробить оба счетчика одновременно. В принципе, такую ситуацию должно быть легко отсечь программно чуть позже, а пока подождем результатов...  ::)

Донейчу первые байты в общий пул энтропии форума:

Code:
pi@raspberrypi ~/rng3 $ hexdump out.bin
0000000 8551 0a08 3bca 4335 77ae cb2a 4a3f 92bc
0000010 e682 ac9f 82af 3031 f1ff e570 a1e6 938f
0000020 10d0 95ca dd6f 25d4 123b e960 6707 ebd8
0000030 0696
0000032
pi@raspberrypi ~/rng3 $
:D


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on January 29, 2015, 06:18:05 AM
Balthazar,
какой режим используешь? я набрал порядка 16К мусора на FAST (2 бит/квант) и параметр Chi2 упал до 2.5%  :(
сейчас на FASTER (3 бит/квант) набираю, пока 5К данных и ровно 50%  ::)

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


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 29, 2015, 06:40:27 AM
Тот, который FAST, уже вижу что шлак в общем-то:

Code:
pi@raspberrypi ~/random $ ./ent out.bin
Entropy = 7.682888 bits per byte.

Optimum compression would reduce the size
of this 601 byte file by 3 percent.

Chi square distribution for 601 samples is 226.63, and randomly
would exceed this value 89.90 percent of the times.

Arithmetic mean value of data bytes is 126.3594 (127.5 = random).
Monte Carlo value for Pi is 3.440000000 (error 9.50 percent).
Serial correlation coefficient is -0.072294 (totally uncorrelated = 0.0).
pi@raspberrypi ~/random $

Переключился на FASTER.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on January 29, 2015, 07:07:22 AM
ну по шести сотням байт трудно сказать шлак или нет
кстати на хардверном генераторе процессора распи тоже бывает 90% показывает даже на мегабайтных выборках
судя по всему ровно 50% там и не должно быть, у самих швейцарцев 40% на 10Мб выборке
 
кстати быдлокод в процедуре обработки прерываний тоже неплохо бы проверить и подчистить, т.к. писался он на скорую руку в фоновом режиме.
может у быстрых методов просто реализация кривовата вышла  ::)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 29, 2015, 07:36:50 AM
Я смотрел, в принципе более-менее... То есть, поводов заменять твой быдлокод своим пока не нашел. :D

Во всяком случае, беглый взгляд говорит о том, что с одним детектором он странностей демонстрировать не должен...

Что же до выборки, мне просто поведение этой конфигурации само по себе не понравилось. Потому как один из счетчиков имеет среднюю скорость хода примерно на 3-5% выше, по результатам больших выборок, что может быть существенной разницей для режима "2 кванта на бит" при наличии каких-либо сопутствующих дефектов реализации. Для некратного же количества квантов какое-либо влияние данной разницы будет исключено, поэтому оно пока предпочтительнее. С более быстрыми всегда можно разобраться позднее... 8)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 29, 2015, 03:54:54 PM
По итогам ~24000 тиков на счетчиках:

Code:
pi@raspberrypi ~/random $ ./ent out.bin
Entropy = 7.810806 bits per byte.

Optimum compression would reduce the size
of this 1050 byte file by 2 percent.

Chi square distribution for 1050 samples is 253.41, and randomly
would exceed this value 51.64 percent of the times.

Arithmetic mean value of data bytes is 127.9886 (127.5 = random).
Monte Carlo value for Pi is 3.154285714 (error 0.40 percent).
Serial correlation coefficient is -0.027979 (totally uncorrelated = 0.0).
pi@raspberrypi ~/random $

Продолжаем набирать данные.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 29, 2015, 06:17:13 PM
~30000 тиков:

Code:
Entropy = 7.841481 bits per byte.

Optimum compression would reduce the size
of this 1233 byte file by 1 percent.

Chi square distribution for 1233 samples is 254.21, and randomly
would exceed this value 50.22 percent of the times.

Arithmetic mean value of data bytes is 127.8045 (127.5 = random).
Monte Carlo value for Pi is 3.063414634 (error 2.49 percent).
Serial correlation coefficient is -0.016041 (totally uncorrelated = 0.0).

Чтд, с ростом длины последовательности отклонение Chi2 приближается к 50%, а энтропия растет...


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: t309 on January 29, 2015, 11:56:10 PM
ви ето бету у капсул с тритием измерять не думали? тоже законно и поток посерезней фонового


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 30, 2015, 12:31:47 AM
Да, активность у трития в трубках очень высока, потому как порой закачивают туда этак 60 гигабеккерелей (http://upload.wikimedia.org/wikipedia/en/5/51/Gaseous_tritium_light_source.jpg). Но толку от этих 60 миллиардов распадов в секунду никакого нет, потому что бета с энергией 18 кэВ полностью поглощается стеклом. Всё, что остается - это 8-15 мкР/ч тормозного ренгеновского излучения с низкой энергией, которое обнаружить можно только сняв со счетчика экран. ::) Даже если разбить содержащую тритий трубку, что было бы не очень умно, далеко не всякий счетчик её поймает т.к. 18 кэВ бета поглощается даже бумагой, а не то что стенками счетчика.

P.S. Вернее, толк есть - из таких трубок получаются отличные светящиеся брелки. :)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: t309 on January 30, 2015, 01:09:26 PM
а если снять с щетчика екран поместить все ето в герметичную емкость и уже внутри емкости разбить трубку с тритием, хотя проблемма больше в датчике, он под екраном стекляний (((
а бета от трития сможет непосредственно влиять на фото матрицу от какого нить фотика? ну или использовать чтото такое http://detector.org.ua/pinphotodiodes.html


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 30, 2015, 01:38:00 PM
Зачем, если это будет заведомо хуже и многократно дороже, чем гамма/бета/альфа счетчик за 300-2000 рублей + HIS-7 или калильная сетка? Не говоря уж о том, что это откровенно небезопасно.

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



Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 30, 2015, 02:46:14 PM
Из-за кота вчера произошло КЗ :D, выбившее цепь питания одного из счетчиков, завтра привезут нужные для починки комплектующие. Заодно пересоберу все это дело по схеме с гальванической развязкой.

P.S. Получил калильные сетки только что, чуть позже бегло потестирую и завтра уже буду пробовать в деле.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 30, 2015, 03:42:45 PM
Получил калильные сетки только что, чуть позже бегло потестирую
Собственно, вот:

http://www.youtube.com/watch?v=pnmDMhGWK8Y

Четыре сетки:

http://www.youtube.com/watch?v=bV6cImGrzoQ

Как видим, на расстоянии 10-20 см счетчику уже практически безразлично их присутствие.

Ну и бонус, проверка эффективности HTC One, клавиатуры, кардридера и хрустальной посуды в качестве экрана:

http://www.youtube.com/watch?v=B5etgmkPCDw
http://www.youtube.com/watch?v=MLgsUloSWAU

 ::)

И никакого трития в битых колбах, отравляющего воздух в комнате, вовсе не нужно. :)

Завтра будут интересные результаты, сдается мне, когда оба счетчика смогу нормально запустить. Примерно 40-60 бит/с, что уже похоже на более-менее оперативную генерацию.

P.S. Стоит это счастье на ибее по 4 доллара за штучку, думаю у китайцев можно и дешевле найти.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Webcelerator on January 31, 2015, 02:56:40 PM
Из-за кота вчера произошло КЗ :D, выбившее цепь питания одного из счетчиков, завтра привезут нужные для починки комплектующие. Заодно пересоберу все это дело по схеме с гальванической развязкой.

P.S. Получил калильные сетки только что, чуть позже бегло потестирую и завтра уже буду пробовать в деле.
Казалось бы - при чем тут наркотики и Чуйская Долина....


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 31, 2015, 09:27:09 PM
Стартанул. :)

http://s015.radikal.ru/i330/1501/cb/eaff6de20cb1.jpg

Полный размер: http://s017.radikal.ru/i418/1501/c9/f4b22dda1297.jpg

http://youtu.be/6lN1rKzJg9o

Пара конвертеров DC-DC (http://www.chipdip.ru/product/am1s-0505sz/) для раздельного питания и пара КТ3102ЕМ (http://www.chipdip.ru/product/kt3102em/), запитывающих двухканальный оптрон АОТ101АС (http://www.chipdip.ru/product/aot101as-2001-08/). Вот как-то так. :)

Пока отдает 20-40 бит в секунду, позже будем подкручивать.

Казалось бы - при чем тут наркотики и Чуйская Долина....
Ну, вам виднее. :)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: becool on January 31, 2015, 09:44:44 PM
Из-за кота вчера произошло КЗ :D, выбившее цепь питания одного из счетчиков, завтра привезут нужные для починки комплектующие. Заодно пересоберу все это дело по схеме с гальванической развязкой.

P.S. Получил калильные сетки только что, чуть позже бегло потестирую и завтра уже буду пробовать в деле.
Казалось бы - при чем тут наркотики и Чуйская Долина....

Торчин продукт, следущая остановка "Ботанический сад".
Где-то между двумя этими остановками и обсуждаются такие вопросы. Между общагой и лекцией.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on January 31, 2015, 10:26:48 PM
Первые результаты:

Code:
pi@raspberrypi ~/random $ ./ent out.bin
Entropy = 7.988813 bits per byte.

Optimum compression would reduce the size
of this 16272 byte file by 0 percent.

Chi square distribution for 16272 samples is 252.08, and randomly
would exceed this value 53.99 percent of the times.

Arithmetic mean value of data bytes is 127.1610 (127.5 = random).
Monte Carlo value for Pi is 3.176991150 (error 1.13 percent).
Serial correlation coefficient is 0.001272 (totally uncorrelated = 0.0).
pi@raspberrypi ~/random $



Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 02, 2015, 04:33:26 AM
Code:
pi@raspberrypi ~/random $ ent out.bin
Entropy = 7.999409 bits per byte.

Optimum compression would reduce the size
of this 305755 byte file by 0 percent.

Chi square distribution for 305755 samples is 251.43, and randomly
would exceed this value 50.00 percent of the times.

Arithmetic mean value of data bytes is 127.6658 (127.5 = random).
Monte Carlo value for Pi is 3.137659687 (error 0.13 percent).
Serial correlation coefficient is -0.001450 (totally uncorrelated = 0.0).
pi@raspberrypi ~/random $


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 03, 2015, 11:27:44 PM
Сгенерировал небольшую выборку в 65536 байт:

Code:
Entropy = 7.996925 bits per byte.

Optimum compression would reduce the size
of this 65536 byte file by 0 percent.

Chi square distribution for 65536 samples is 279.30, and randomly
would exceed this value 25.00 percent of the times.

Arithmetic mean value of data bytes is 127.5949 (127.5 = random).
Monte Carlo value for Pi is 3.117377770 (error 0.77 percent).
Serial correlation coefficient is 0.002464 (totally uncorrelated = 0.0).

И сконвертировал её в картинку:

Code:
pi@raspberrypi ~/bmp $ dd if=out.bin bs=1024 count=64 of=random.bin
64+0 records in
64+0 records out
65536 bytes (66 kB) copied, 0.0039159 s, 16.7 MB/s
pi@raspberrypi ~/bmp $ cat random.bin | convert -depth 8 -size 320x200+0 gray:- out.png
convert.im6: unexpected end-of-file `-': No such file or directory @ error/gray.c/ReadGRAYImage/207.
pi@raspberrypi ~/bmp $

Ругается, но результат выплевывает:

http://s50.radikal.ru/i130/1502/9c/388a9dfa1aa7.png


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 04, 2015, 09:22:58 PM
В виду того, что дефолтное ядро не позволяет мерить время с достаточной точностью, подправил чуть-чуть под себя:

https://github.com/CryptoManiac/rng/blob/master/rng.c

Оно понятно, что броадкомовскому таймеру в общем случае доверять мы не можем, но для тестов без пересборки ядра вполне пригодно.

P.S. Хотя, провести аудит таймера намного проще, чем ГСЧ... В случае таймера достаточно сравнения результатов для двух разных железок, с ГСЧ такой прием невозможен.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 05, 2015, 08:21:35 PM
велосипедисты, про  /dev/random не слышали?
смешно, шутку оценил  :)
Шутка была бы смешной, если бы не была грустной:

Quote
$ dd if=/dev/urandom bs=1 count=100000 | ent
Entropy = 7.998566 bits per byte.

Optimum compression would reduce the size
of this 100000 byte file by 0 percent.

Chi square distribution for 100000 samples is 198.79, and randomly
would exceed this value 99.50 percent of the times.

Arithmetic mean value of data bytes is 127.5079 (127.5 = random).
Monte Carlo value for Pi is 3.134045362 (error 0.24 percent).
Serial correlation coefficient is 0.005217 (totally uncorrelated = 0.0).
100000+0 records in
100000+0 records out
100000 bytes (100 kB) copied, 7.71541 s, 13.0 kB/s
$
$ dd if=/dev/urandom bs=1 count=100000 | ent
Entropy = 7.998009 bits per byte.

Optimum compression would reduce the size
of this 100000 byte file by 0 percent.

Chi square distribution for 100000 samples is 275.81, and randomly
would exceed this value 25.00 percent of the times.

Arithmetic mean value of data bytes is 127.2780 (127.5 = random).
Monte Carlo value for Pi is 3.146525861 (error 0.16 percent).
Serial correlation coefficient is 0.001174 (totally uncorrelated = 0.0).
100000+0 records in
100000+0 records out
100000 bytes (100 kB) copied, 7.73171 s, 12.9 kB/s
$
$ dd if=/dev/urandom bs=1 count=100000 | ent
Entropy = 7.998428 bits per byte.

Optimum compression would reduce the size
of this 100000 byte file by 0 percent.

Chi square distribution for 100000 samples is 216.93, and randomly
would exceed this value 95.00 percent of the times.

Arithmetic mean value of data bytes is 127.2716 (127.5 = random).
Monte Carlo value for Pi is 3.133085323 (error 0.27 percent).
Serial correlation coefficient is -0.000920 (totally uncorrelated = 0.0).
100000+0 records in
100000+0 records out
100000 bytes (100 kB) copied, 7.81786 s, 12.8 kB/s

Просто 4 запуска подряд, и лишь в один из них получился приличный результат по Chi2:

Quote
Entropy = 7.998072 bits per byte.

Optimum compression would reduce the size
of this 100000 byte file by 0 percent.

Chi square distribution for 100000 samples is 268.13, and randomly
would exceed this value 50.00 percent of the times.

Arithmetic mean value of data bytes is 127.2684 (127.5 = random).
Monte Carlo value for Pi is 3.134525381 (error 0.22 percent).
Serial correlation coefficient is 0.000859 (totally uncorrelated = 0.0).
100000+0 records in
100000+0 records out
100000 bytes (100 kB) copied, 7.86818 s, 12.7 kB/s

 ::)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Pivo on February 05, 2015, 09:14:58 PM

ГСЧ с помощью зомбоящика без антенны.

http://radikall.com/images/2015/02/06/GmXf.jpg


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on February 05, 2015, 09:36:11 PM

ГСЧ с помощью зомбоящика без антенны.


...будет похож на ГСЧ пока сосед сверлить рядом не начнет  ;)

http://www.televinder.ru/images/stories/staty/pomehi-vne.jpg


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 08, 2015, 03:32:35 PM
Небольшой апдейт:

http://i60.tinypic.com/2ly4hhk.jpg

Все-таки, крокодилы и разъемы смотрятся эргономичнее. :D Ну а КП501А, благодаря охрененному входному сопротивлению, позволил выкинуть входные резисторы.

Проверка после апдейта:

http://s009.radikal.ru/i310/1502/50/df4b55395089.png

Вроде все более чем прилично, однако тест проваливаем:

Code:
Entropy = 7.999279 bits per byte.

Optimum compression would reduce the size
of this 410000 byte file by 0 percent.

Chi square distribution for 410000 samples is 410.47, and randomly
would exceed this value 0.01 percent of the times.

Arithmetic mean value of data bytes is 128.4058 (127.5 = random).
Monte Carlo value for Pi is 3.121829863 (error 0.63 percent).
Serial correlation coefficient is 0.000703 (totally uncorrelated = 0.0).

Исходный набор байтов: https://docs.google.com/file/d/0B4cZ4tPn0KAtNmxzd2VuNkVOeUU/edit

На осциллографе всё в порядке, никаких неожиданностей:

http://i62.tinypic.com/30ma6v8.jpg

Будем разбираться, ну и в процессе делаю демон для сброса генерируемой энтропии в общесистемный пул. :)

Между тем, следующий этап - сгенерировать картинку с разрешением 1280х1280.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Heymdale on February 08, 2015, 04:05:46 PM

http://s009.radikal.ru/i310/1502/50/df4b55395089.png

Вроде все более чем прилично, однако тест проваливаем:

По-моему выделяются диагонали, одна тёмная, другая светлая.
https://i.imgur.com/9j0Cqvx.png


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 08, 2015, 04:25:09 PM
Возможно случайность,  посмотрим как будет на 1280х1280.


Что же о причинах... Возможно, надо отрицательную обратную связь добавить и поставить токоограничивающие резисторы номиналом побольше.  ::)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on February 08, 2015, 06:06:29 PM
девиация 0.01% это точно никакие не диагонали, это мощный косяк где-то в коде или в железе, взаимные помехи каналов и т.д.
посмотри что реально выдают таймеры (выводи на печать значение таймеров и их дельту), может там переполняется что-то иногда, или race condition какой-нибудь возникает при считывании значения таймера например.

у меня медленно но верно данные накапливаются в режиме "3 кванта на бит" и пока все в порядке:

Code:
root@raspberrypi:~/rng# ent out.bin 
Entropy = 7.994150 bits per byte.

Optimum compression would reduce the size
of this 31713 byte file by 0 percent.

Chi square distribution for 31713 samples is 256.95, and randomly
would exceed this value 50.00 percent of the times.

Arithmetic mean value of data bytes is 126.5888 (127.5 = random).
Monte Carlo value for Pi is 3.129612110 (error 0.38 percent).
Serial correlation coefficient is -0.007094 (totally uncorrelated = 0.0).


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 08, 2015, 06:56:41 PM
Проблема в железе и фейл исключительно мой, так что посыпаю голову пеплом. Каждый тик почему-то дает от нуля до двух "теней" самого себя микросекунды через полторы, которые полностью повторяют его форму на графике, но имеют чуть меньшую мощность.

В итоге, имеем такое поведение:

Code:
t1=67502547473

t2=67502547702
t3=675042600731

t1=67505631841

t2=67509135653
t3=675189342871

t1=67518934506

t2=67523399999
t3=675269536220

t1=67526953844
t2=67532289019
t3=675322892140

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


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on February 08, 2015, 07:02:29 PM
Проблема в железе и фейл исключительно мой. Каждый тик почему-то дает от нуля до двух "теней" самого себя микросекунды через полторы, которые полностью повторяют его форму на графике, но имеют чуть меньшую мощность.

понятно, "звенит" каскад, выложи текущую схему с номиналами деталей, посмотрим куда можно кондёрчик вкрячить и какой  8)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 08, 2015, 07:26:51 PM
Проблема в железе и фейл исключительно мой. Каждый тик почему-то дает от нуля до двух "теней" самого себя микросекунды через полторы, которые полностью повторяют его форму на графике, но имеют чуть меньшую мощность.

понятно, "звенит" каскад, выложи текущую схему с номиналами деталей, посмотрим куда можно кондёрчик вкрячить и какой  8)
Схема примитив, в общем-то... Что и сыграло злую шутку из-за огромной чувствительности каскада, судя по тому что с вариантом "КТ3102ЕМ + резистор в цепи базы" такой проблемы не наблюдалось.

http://i62.tinypic.com/2ns6kno.jpg

Рассматривать нужно, как продолжение двух экземпляров этой:

http://s50.radikal.ru/i127/1501/b2/2827fda39a0f.jpg

Земля у пар каскад - счетчик раздельная, взаимное влияние между ними также отсутствует.

Как вариант фикса без изменения структуры каскада - попробовать подключаться к + счетчиков через резистор достаточно большого сопротивления, чтобы не мешать его зарядке. Но 5.6 МОм для этого мало, а с большим номиналом сейчас под рукой резисторов нет..  ::)



Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 08, 2015, 07:43:32 PM
Хотя... Чего я туплю, можно же через керамику туда подключиться, и оно мешать зарядке не будет. Сейчас попробуем через пару нанофарад законнектиться...  ::)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on February 08, 2015, 07:52:47 PM
еще мне не нравится как у тебя включены транзисторы оптрона
попробуй включить классически с ОЭ, эмиттеры на землю, каждый коллектор подтяни к +3.3В через 10К
появится инверсия, но ее можно будет скомпенсировать программно, или взять сигнал на затвор не с трубки, а с коллектора биполярного транзистора


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 08, 2015, 07:57:10 PM
Проверил сейчас, как работает с подключением на анод счетчиков через керамику... Добавил инкремент переменной при регистрации события и вижу, что количество событий на экране счетчика почти совпадает с количеством итераций в программе, 1094 итерации при 1100 каунтах на экране. То есть, подключение на анод через емкость дает объективно более точные сведения. ::)

Вот только непонятно, куда оно оставшиеся 6 каунтов потеряло. Перепроверил ещё раз - разница стала меньше, 1995 в программе и 2008 на экране.

еще мне не нравится как у тебя включены транзисторы оптрона
попробуй включить классически с ОЭ, эмиттеры на землю, каждый коллектор подтяни к +3.3В через 10К
появится инверсия, но ее можно будет скомпенсировать программно, или взять сигнал на затвор не с трубки, а с коллектора биполярного транзистора
Попробую, как закончу эксперименты с керамикой :)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 08, 2015, 08:56:08 PM
1 пФ оказалось маловато, а вот 2 пФ практически как раз, вроде бы:

Quote
Entropy = 7.961406 bits per byte.

Optimum compression would reduce the size
of this 5036 byte file by 0 percent.

Chi square distribution for 5036 samples is 262.12, and randomly
would exceed this value 50.00 percent of the times.

Arithmetic mean value of data bytes is 126.6511 (127.5 = random).
Monte Carlo value for Pi is 3.189511323 (error 1.53 percent).
Serial correlation coefficient is 0.008616 (totally uncorrelated = 0.0).

Кстати, на конденсаторах напряжение набирается веселое, если оставить в воздухе висеть второй вывод... Тряхнуло разрядом хорошо, когда пальцами полез, аж в голове прояснилось. :D

Апдейт - первому каскаду переключение на анод через керамику помогло, второму нет... И, судя по результатам измерения, коэффициент усиления у стоящего в нем транзистора намного выше, реагирует чуть ли не на чихание рядом. Такой уж интересный попался экземпляр КП501А.

Апдейт 2 - второму каскаду и счетчику помогло подключение через конденсаторы на катод трубки. Считает идеально, показания в программе и на дисплее совпадают в точности. Но первый в таком режиме заводиться не хочет ни при каких условиях. Мда, дилемма. :D

Апдейт 3 - первый каскад завелся после того, как емкость конденсатора была увеличена до 100 пФ.

В общем, данная схема подключения мне кажется малость нестабильной... Попробую малость оптимизировать.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 08, 2015, 10:42:08 PM
еще мне не нравится как у тебя включены транзисторы оптрона
попробуй включить классически с ОЭ, эмиттеры на землю, каждый коллектор подтяни к +3.3В через 10К
Done. Подвесил так, и подключил затвор на анод счетчика через 100pF конденсатор... Форма сигнала получилась интересной:

http://i59.tinypic.com/2vbki8w.jpg

Далеко от прежних почти идеальных прямоугольников, но распик более-менее успешно кушает и такое.

Буду тестить...


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 09, 2015, 07:31:21 AM
В общем, КП501А пока на полку, они слишком разные от экземпляра к экземпляру все-таки... Запустить можно и работает, но схема получается сильно разношерстная, так что лучше на биполярниках соберу сегодня.  ::)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on February 12, 2015, 02:57:14 PM
подключил СБТ-11, чувствительность по гамме у него выше раз в 5 по сравнению с СБМ-20


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 12, 2015, 03:33:06 PM
подключил СБТ-11, чувствительность по гамме у него выше раз в 5 по сравнению с СБМ-20

Попробуй калийные удобрения, он на них должен очень живо реагировать.

http://www.youtube.com/watch?v=CU9n5PuzR9Q


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: SynDigHie on February 16, 2015, 12:17:57 PM
подключил СБТ-11, чувствительность по гамме у него выше раз в 5 по сравнению с СБМ-20


Сцинтилляционный детектор даёт около 120 CPS на фоне, от кафеля можно "разогнать" вдвое, от гранитной столешницы - втрое-четверо.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 16, 2015, 12:23:58 PM
Сцинтилляторы это круто, но увы по цене вне конкуренции с газоразрядными счетчиками типа СИ-8Б, СБТ-11 или даже СБТ-9. ::)

Комбинируем с вот такой штукой:

http://i60.tinypic.com/314cglz.jpg

И получаем более чем нормальный темп счета задешево. Хотя, со сцинтиллятором можно разгуляться совсем весело, да и долговечностью они могут похвастаться намного большей.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: SynDigHie on February 16, 2015, 12:29:18 PM
Да почему, на ebay брал за $100, на него нужно 900 В, в остальном схема не сильно отличается от традиционной на счётчике ГМ. Ещё дешевле - можно самому собрать - ФЭУ+кристалл, навалом в профильных форумах.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 16, 2015, 12:35:51 PM
Да почему, на ebay брал за $100, на него нужно 900 В, в остальном схема не сильно отличается от традиционной на счётчике ГМ. Ещё дешевле - можно самому собрать - ФЭУ+кристалл, навалом в профильных форумах.
Если смотреть на глаз, то СБТ-9 можно найти рублей за 900, преобразователь на транзисторе и дросселе для него по себестоимости обойдется рублей в 300. Что уже дает повод задаться вопросом, а надо ли оно?

Но спору нет, Сцинтиллятор+ФЭУ на голову лучше хотя бы по в плане инерционности, что дает возможность разогнать его до фантастических скоростей счета.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: SynDigHie on February 16, 2015, 12:38:54 PM
Насчёт "разгона" слюдяных счётчиком ГМ с помощью источников ИИ типа датчиков дыма и пр, может получится следующее. У любых газовых счётчиков довольно долгое время занимает восстановление после разряда, вызванного квантом ИИ. В результате с ростом частоты разрядов падает скважность и, могу предположить, энтропия.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: SynDigHie on February 16, 2015, 12:41:17 PM
Но в целом согласен, газовые счётчики ГМ на поэкспериментировать сойдут. Сцинт уже для коммерческой энтропии :)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 16, 2015, 12:50:54 PM
После какого-то предела это несомненно будет наблюдаться, ибо на гашение разряда и зарядку обкладок нужно конечное время. Вопрос только в том, каков должен быть для этого уровень фона... В принципе, не должно представлять большой проблемы это посчитать. :)

Попытки же проверки "в лоб" на прочность с помощью торированных сеток, урановой посуды и америциевых источников показали, что пара достаточно тормозных СБМ-20 дает вполне качественую энтропию на скоростях вплоть до 10 тысяч имп./мин каждый. То есть, при фоне около 70 uSv/h. ::)

Но в целом согласен, газовые счётчики ГМ на поэкспериментировать сойдут. Сцинт уже для коммерческой энтропии :)
Ну, при 60 uSv/h пара СБМ-20 легко дает поток со скоростью 80-100 бит/с...

https://www.youtube.com/watch?v=bmK_MVnli7c

Что вполне достаточно несильно шустрому юзеру для создания ключей, подписей или же просто фонового пополнения пула энтропии системного ГПСЧ.

Позже попробую подраконить их более мощным источником, и посмотрим экспериментально, на каком фоне импульсы начнут сливаться. :D

P.S. В оригинальном посте-предложении (https://bitcointalk.org/index.php?topic=704756.msg10175789#msg10175789) как раз о сцинтилляторе речь и шла, так что рано или поздно возьму поэкспериментировать.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 20, 2015, 09:11:10 AM
Затарился про запас :D

Фотопортрет:

http://i62.tinypic.com/spf34n.jpg

Экспресс-тест гамма-фона после надругательства:

http://i59.tinypic.com/1z5kzo2.jpg

Гамма слабенькая, но по альфе там будет далеко за пределами счетных возможностей регистрирующего контура и распика. Ведь при подключении через аудиотракт будет ограничение сверху 48кГц, через GPIO и того меньше. Так что, наверняка, все пять источников параллельно мерить одним детектором не будем.

На следующей неделе буду экспериментировать, а пока времени маловато. ::)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 20, 2015, 08:04:06 PM
Насчет подключения через микрофонный вход... Преимуществ такой подход имеет кучу, всё же.

  • Не нужно согласовывать уровни;
  • Быстрее GPIO;
  • Не нужны какие-либо дополнительные привилегии, достаточно доступа к звуковой карте;
  • Универсально, т.к. можно завести хоть на смартфоне.

Набросал простенький пример, срабатывания счетчика обнаруживаем как нулевое значение амплитуды.

https://github.com/CryptoManiac/rng/blob/master/rng_pcm.c

Туповато, но работает.

http://www.youtube.com/watch?v=pBdqaxtJFHQ

Code:
root@Cubian:~# ent out.bin
Entropy = 7.974489 bits per byte.

Optimum compression would reduce the size
of this 7426 byte file by 0 percent.

Chi square distribution for 7426 samples is 261.65, and randomly
would exceed this value 50.00 percent of the times.

Arithmetic mean value of data bytes is 126.3569 (127.5 = random).
Monte Carlo value for Pi is 3.133387227 (error 0.26 percent).
Serial correlation coefficient is 0.017859 (totally uncorrelated = 0.0).
root@Cubian:~#


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 21, 2015, 06:05:26 PM
Ах да, забыл выложить пример получающегося WAV потока:

https://drive.google.com/file/d/0B4cZ4tPn0KAtVVhoTldlQkg4bFk/view?usp=sharing

Собственно, его можно cat'ом скормить программке из моего репозитория и посмотреть, как она его обработает.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: icreator on February 21, 2015, 06:21:39 PM
да нет - просто сфотал на сотик что аод ногами и картингу в SHA256 кидай


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 21, 2015, 08:22:13 PM
да нет - просто сфотал на сотик что аод ногами и картингу в SHA256 кидай
Не пройдет ни одного статистического теста.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 23, 2015, 02:13:56 PM
https://github.com/CryptoManiac/rng

  • Реализовал более-менее нормальную обработку сэмплов, поддерживается только одноканальный и 16-битный PCM с частотой дискретизации 48кГц;
  • Добавил тестовые данные и лог их обработки.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Alex AXe on February 25, 2015, 10:52:56 AM
Честно говоря, всю тему не читал, но идея замечательна!
(возбуждать счетчик от источника гамма-ИИ просьба не предлагать, чтобы не иметь проблем со здоровьем и законом).
Quote
или переход на трубку со слюдяным окном, чувствительную к альфа-излучению от какого-нибудь легального источника.
Ну, в любом случае, все то, что излучает альфу, будет излучать (пусть немного) и гамму: ведь ядро всегда после вылета альфа-частицы будет в возбужденном состоянии, а сбрасывается это возбуждение почти всегда испусканием гамма-квантов. Так что если есть возможность найти легальный источник альфы -лепим его прямо к трубке и вуаля!!!

Еще как вариант (даже более простой) -найти легальный источник гаммы. Естественно, он будет слабым, но его можно взять много. Например, хорошо подойдет природный калий-40. Засовываем трубку в банку со, скажем, хлоридом калия (конечно, подойдут и другие его соединения) -и опять таки профит. Килограмм хлорида калия даст около 17000 беккерелей. Т.е. 17000 распадов в секунду. Часть испущенных частиц обязательно пролетит через трубку.

UPD ага, прочитал, источниками ты уже запасся. Но просто ради любопытства попробуй очень дешевый и не вызывающий подозрений калий. Думаю, проще всего его купить как удобрение в каких-нибудь магазинах для садоводов и любителей цветов.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 25, 2015, 11:51:40 AM
Не загрязненный другими нуклидами полоний-210 гамма-счетчиками не обнаруживается. Плутоний-239 из РИД-6М тоже не обнаруживается гамма-счетчиками, судя по недавно проведенному эксперименту. Гамма там несомненно есть в каком-то проценте распадов, но она низкоэнергетическая и квантов очень мало, а посему газоразрядные счетчики её не видят. Уж если тонких стенок счетчика хватает для поглощения, то в поглощении квантов мебелью/стенами/одеждой можно и вовсе не сомневаться. :)

Но естественно, отсутствие гамма-излучения от самих ядер не исключает вероятности возникновения тормозного излучения.

Ну, в любом случае, все то, что излучает альфу, будет излучать (пусть немного) и гамму
А это зависит от конкретного ядра уже.

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

Если же и эти процессы подавлены конфигурацией ядра, то распад возбужденного состояния может растянуться на неопределенно долгое время. В таких случаях возбужденное состояние ядра может быть даже более стабильным, чем основное, каким бы несуразным это ни казалось с первого взгляда. :D Такое явление не является редкостью и в природе наблюдается, см. 180mTa vs. 180Ta. :)



Килограмм хлорида калия даст около 17000 беккерелей. Т.е. 17000 распадов в секунду. Часть испущенных частиц обязательно пролетит через трубку.
Вот как раз в этом и проблема с калием... Бета низкоэнергетическая и тот же СБМ-20 её просто не видит, нужны счетчики типа СИ-8Б или что-то другое на слюде. А это уже более хрупко и менее компактно. Это даже если забыть о том, что килограмм хлорида калия менее компактен сам по себе.

Куда как проще купить на ибее детектор дыма, контрольный источник с разрешенной активностью либо просто у геологов/минералогов-любителей взять кусочек отенита... Будет компактно, дешево и достаточно производительно. Можно будет даже засунуть в маленький корпус и подключать к мобильному устройству, не таская с собой мешок удобрений.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on February 25, 2015, 11:58:51 AM
Гамма там несомненно есть в каком-то проценте распадов, но она низкоэнергетическая и квантов очень мало, а посему газоразрядные счетчики её не видят. Уж если тонких стенок счетчика хватает для поглощения, то в поглощении квантов мебелью/стенами/одеждой можно и вовсе не сомневаться. :)

тонкие стенки + свинцовая фольга если речь о СБМ-20
но учитывая что даже СБТ-11 (со слюдяным окном) с бумажкой между окном и ИИ тоже показывает фоновые значения - гаммы там нет


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Alex AXe on February 25, 2015, 07:09:13 PM
Как мне сказал по итогам давнего спора один физик: если есть альфа, то гамма есть всегда! Я как раз утверждал что случаи ожога кожи при работе с альфа-источниками без перчаток были вызваны альфой, он же резонно замечал, что альфа-частицы просто не смогут добраться до делящегося эпителия и это делает пусть и весьма низкоэнергетичная (ЕМНИП у полония-210 она порядка всего лишь 6 КэВ - даже не гамма, а довольно мягкий рентген, и очень немного более энергичной - но тут я могу ошибиться, цифр не помню), но гамма.
То, что большинство счетчиков ее не видят, еще не говорит о том, что ее нет.

Впрочем, нас интересует как раз то, что счетчики фиксируют. И тут с калием меня действительно сегодня ожидал облом. Я предполагал, что превращаясь в аргон (превращение в кальций мне не интересно -и так ясно, что там только бета) он испускает позитроны, а стало быть можно будет наблюдать аннигиляционные гамма-кванты. А он, зараза практически всегда при этом испытывает к-захват. И стало быть, никаких позитронов не испускает. Вообще нихрена не испускает, кроме нейтрино. Ну а их детекторы точно не заметят.
Испускает позитроны только в одном случае из сотен тысяч. Значит, килограммом не отделаешься. Нужна тонна, что превращает всю затею в бред.
Разве что брать бета-чувствительный детектор. Там калий будет рулить. И я бы не сказал, что его бета такая уж мягкая. Вполне приличная энергия у нее, в отличие от того же трития.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 25, 2015, 08:21:00 PM
Как мне сказал по итогам давнего спора один физик: если есть альфа, то гамма есть всегда!
Спорное утверждение, Бор был бы очень недоволен. :)

Ладно, закончу сей спор с ним заочно за тебя :)

Полоний-210 в ничтожном проценте случаев распада действительно излучает гамма-кванты с энергией 803 КэВ. Однако, их настолько мало, что обнаружить можно лишь в случае большой активности, либо с использованием сцинтилляционного детектора. Наблюдаемые же в конкретном случае ~6 КэВ кванты вовсе не обязаны быть гаммой, скорее всего это обычное тормозное излучение без всякой мистики. Понятно, что для получившего лучевые ожоги нет разницы, но она есть и она принципиальна. Например, в том плане, что интенсивность тормозного излучения будет зависеть от материала, из которого сделана матрица источника. И можно подобрать такой материал, который вообще не будет давать тормозного излучения.

и это делает пусть и весьма низкоэнергетичная (ЕМНИП у полония-210 она порядка всего лишь 6 КэВ - даже не гамма, а довольно мягкий рентген, и очень немного более энергичной - но тут я могу ошибиться, цифр не помню), но гамма.
Есть несколько проблем:

1. Практика показывает, что перчаток достаточно для защиты.
2. Перчатки для ренгеновского излучения прозрачны или полупрозрачны, насколько бы низкой энергией оно ни обладало. Следовательно, от ожогов ренгеновским излучением они не спасут. Не рассматриваем перчатки из толстой ткани со свинцом, конечно, они вне конкурса.
3. Счетчики со слюдяным окном видят даже ультрафиолет, что является легко проверяемым фактом. Так что трудно поверить в их неспособность увидеть гамму/ренген 6 КэВ.

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

Косвенно это подтверждается тем, как выглядят настоящие ожоги ренгеновским излучением с энергией 6 КэВ. Практика знает гениев, которые собирали генераторы низкоэнергетического ренгеновского излучения и совали под него пальцы... Был даже онлайн-отчет от сделавшего это гражданина на форуме радиолюбителей, помню как смеялся над его "гениальностью". Смешного мало, конечно, но все равно смешно. :D

что альфа-частицы просто не смогут добраться до делящегося эпителия
Толщина слоя ороговевших клеток составляет от 10 до 40 μm. В то же время, длина пробега альфа-частицы с энергией 4-6 МэВ для биологической ткани составляет 30-60 μm. Так что могут, и добираются вполне успешно.

Вполне приличная энергия у нее, в отличие от того же трития.
Ну тут я действительно "слегка" приуменьшил... В 5-6 раз меньше, чем у продуктов распада тория, но если не сравнивать с ними то конечно не мягкая. :)

Разве что брать бета-чувствительный детектор. Там калий будет рулить.
Килограмм хлорида калия дает примерно 16-20 импульсов в секунду на СИ8Б. Если взять более дорогой счетчик вроде Бета-2-1, то может получиться веселее, но встает вопрос финансовый... ::)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Alex AXe on February 25, 2015, 09:21:50 PM
Да, возможно, в том споре был прав как раз я... Ну да ладно.

А что так слабо с СИ8Б выходит?  ??? Хотя... Там, похоже, много беты просто не может выбраться из толщи самого хлорида калия.  ::)

PS Что лучше взять CИ8Б или СБТ10? У нас одинаково стоят оба.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 26, 2015, 01:38:56 AM
Если цена одинаковая, то я бы взял СИ8Б.  ::)

А что так слабо с СИ8Б выходит?  ??? Хотя... Там, похоже, много беты просто не может выбраться из толщи самого хлорида калия.  ::)
То что задерживается это несомненно, однако же я протупил. 16-17 импульсов в секунду, а не 20 в минуту, то есть намного веселее. 20 в минуту это результат на счетчике с металлическими стенками, который ничего не увидел.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Alex AXe on February 26, 2015, 11:05:21 AM
Если цена одинаковая, то я бы взял СИ8Б.  ::)
А почему? Посмотрел - СБТ10 тоже вроде как неплох. Тем более, он не использованный, а СИ8Б - б/у.
Quote
То что задерживается это несомненно, однако же я протупил. 16-17 импульсов в секунду, а не 20 в минуту, то есть намного веселее.
А, ну вот это уже нормально.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on February 26, 2015, 11:25:33 AM
У СИ8Б чувствительность немного больше, если ничего не путаю.

Б/У или новый тут мало что определяет, среди новых тоже без проблем может попасться дохлый, ведь девайсы же не вчерашнего выпуска... ::)




Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Grumlin on February 28, 2015, 08:37:00 PM
кто подскажет мне, как мне проверить ГСЧ на своем i5? как мне сделать файл и проверить его таким же способом как и вы?


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: fruit on March 01, 2015, 02:13:54 AM
кто подскажет мне, как мне проверить ГСЧ на своем i5? как мне сделать файл и проверить его таким же способом как и вы?
dd if=/dev/urandom bs=1 count=64000 of=out.bin
конвертируем в картинку:
cat out.bin | convert -depth 8 -size 320x200+0 gray:- out.png

P.S.:
https://ru.wikipedia.org/?title=/dev/random_и_/dev/urandom
Quote
/dev/random и /dev/urandom — специальные символьные псевдоустройства в некоторых UNIX-подобных системах, впервые появившиеся в ядре Linux версии 1.3.30. Они предоставляют интерфейс к системному генератору случайных чисел, который выводит шумы из драйверов устройств и других источников в «хаотичный» пул (англ. entropy pool). Генератор также сохраняет необходимое количество битов шума в этом пуле и формирует из него случайные числа.

При чтении данных в устройстве /dev/random создаются только случайные байты, состоящие из битов шума «хаотичного» пула. Устройство /dev/random может быть необходимо пользователям, которые требуют очень высокого коэффициента случайности, например, при создании ключа доступа и т. п. Если «хаотичный» пул опустел, чтение /dev/random блокируется, пока необходимое количество битов в пуле не будет создано.

Чтение данных устройства /dev/urandom возвратит столько байтов, сколько было запрошено. В результате, если в пуле было недостаточно битов, теоретически возможно будет найти уязвимость алгоритма, использующего это устройство. Если это важно, следует использовать /dev/random.


Ноутбук RC530 на i7 (4 ядра/8 потоков ) выдаёт в "хаотичный пул" всего 270 байт (т.е. всего 2160 бит) для /dev/random :'(

Если я всё правильно понимаю...


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on March 01, 2015, 08:07:23 AM
помимо рисования картинок, для анализа энтропии можно воспользоваться утилитой ent (http://www.fourmilab.ch/random/), а для более серьезных исследований - и тестами die hard (https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%81%D1%82%D1%8B_diehard)

кмк для быстрой оценки качества ГСЧ утилиты ent вполне достаточно.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: fruit on March 01, 2015, 11:33:41 AM
помимо рисования картинок, для анализа энтропии можно воспользоваться утилитой ent (http://www.fourmilab.ch/random/), а для более серьезных исследований - и тестами die hard (https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%81%D1%82%D1%8B_diehard)

кмк для быстрой оценки качества ГСЧ утилиты ent вполне достаточно.

Спасиб, в убунту оказывается есть фронт-енд dieharder.

dieharder -a запустить все тесты.
dieharder -l выводит список тестов из текущего снапшота DieHarder.
dieharder -d 0 выбрать тест из команды выше (Diehard Birthdays Test).

stargate@warp:~$ dieharder -l
#=============================================================================#
#            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
#=============================================================================#
Installed dieharder tests:
 Test Number                         Test Name                Test Reliability
===============================================================================
  -d 0                            Diehard Birthdays Test              Good
  -d 1                               Diehard OPERM5 Test              Good
  -d 2                    Diehard 32x32 Binary Rank Test              Good
  -d 3                      Diehard 6x8 Binary Rank Test              Good
  -d 4                            Diehard Bitstream Test              Good
  -d 5                                      Diehard OPSO           Suspect
  -d 6                                 Diehard OQSO Test           Suspect
  -d 7                                  Diehard DNA Test           Suspect
  -d 8                Diehard Count the 1s (stream) Test              Good
  -d 9                  Diehard Count the 1s Test (byte)              Good
  -d 10                         Diehard Parking Lot Test              Good
  -d 11         Diehard Minimum Distance (2d Circle) Test             Good
  -d 12         Diehard 3d Sphere (Minimum Distance) Test             Good
  -d 13                             Diehard Squeeze Test              Good
  -d 14                                Diehard Sums Test        Do Not Use
  -d 15                                Diehard Runs Test              Good
  -d 16                               Diehard Craps Test              Good
  -d 17                     Marsaglia and Tsang GCD Test              Good
  -d 100                                STS Monobit Test              Good
  -d 101                                   STS Runs Test              Good
  -d 102                   STS Serial Test (Generalized)              Good
  -d 200                       RGB Bit Distribution Test              Good
  -d 201           RGB Generalized Minimum Distance Test              Good
  -d 202                           RGB Permutations Test              Good
  -d 203                             RGB Lagged Sum Test              Good
  -d 204                RGB Kolmogorov-Smirnov Test Test              Good
  -d 205                               Byte Distribution              Good
  -d 206                                         DAB DCT              Good
  -d 207                              DAB Fill Tree Test              Good
  -d 208                            DAB Fill Tree 2 Test              Good
  -d 209                              DAB Monobit 2 Test              Good
stargate@warp:~$

Только, что со значениями тестов делать?
Можно поподробней, практический пример и выводы из него?
В предыдущем посте картинку вывел и визуально понятно, а тут что?


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: needbmw on March 01, 2015, 03:12:40 PM

Только, что со значениями тестов делать?
Можно поподробней, практический пример и выводы из него?
В предыдущем посте картинку вывел и визуально понятно, а тут что?


я до die hard пока не добрался, но результаты 'suspect' и особенно 'do not use' должны типа насторожить  8)
прогони через ent тот же файл, давай посмотрим в цифирьки для начала

нормальные должны выглядеть примерно так:

Code:
root@raspberrypi:~/rng# ent out.bin
Entropy = 7.990851 bits per byte.

Optimum compression would reduce the size
of this 18342 byte file by 0 percent.

Chi square distribution for 18342 samples is 230.46, and randomly
would exceed this value 75.00 percent of the times.

Arithmetic mean value of data bytes is 126.7460 (127.5 = random).
Monte Carlo value for Pi is 3.161269218 (error 0.63 percent).
Serial correlation coefficient is -0.017850 (totally uncorrelated = 0.0).

особенно нужно следить за Chi square distribution, там где would exceed this value X percent
вот этот X должен лежать в диапазоне 10-90%, отклонение в края диапазона нежелательно, а значение 0.01% это сразу фейл для ГСЧ

ну и чем больше данных в файле, тем меньше должны быть отклонения, а показатель энтропии должен стремиться к 8 битам на байт. в принципе от нескольких килобайт оно уже нормально показывает, а при мегабайте и больше в энтропии уже должно быть 4-5 девяток после запятой


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on March 01, 2015, 03:58:14 PM
Присмотрел несколько кристаллов CsI(Tl) и фотоумножителей, на неделе попробую с продавцом побеседовать... Если всё будет нормально, то результаты обещают быть любопытными. :)

Хотя, это скорее just for fun, потому как с практической точки зрения счетчики Гейгера вне конкуренции по цена/результат.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: fruit on March 01, 2015, 04:28:59 PM
У меня вот так:

stargate@warp:~$ dd if=/dev/urandom bs=1 count=64000 of=out.bin
64000+0 записей получено
64000+0 записей отправлено
скопировано 64000 байт (64 kB), 0,239096 c, 268 kB/c
stargate@warp:~$ ent ./out.bin
Entropy = 7.997053 bits per byte.

Optimum compression would reduce the size
of this 64000 byte file by 0 percent.

Chi square distribution for 64000 samples is 261.74, and randomly
would exceed this value 50.00 percent of the times.

Arithmetic mean value of data bytes is 127.1880 (127.5 = random).
Monte Carlo value for Pi is 3.141946372 (error 0.01 percent).
Serial correlation coefficient is -0.000761 (totally uncorrelated = 0.0).
stargate@warp:~$


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Alex AXe on March 02, 2015, 09:41:53 PM
Присмотрел несколько кристаллов CsI(Tl) и фотоумножителей, на неделе попробую с продавцом побеседовать...
Это мания.  ;)
Кстати, после всех раздумий я купил СБТ-11а.  ;D Дешевле чем СИ-8б и СБТ-10. На днях буду тестить. На калий уж 100% будет реагировать.

И вполне возможно, скоро почти бесплатно прибудут еще СБТ-10 и СТС-5 (до кучи)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on March 02, 2015, 09:47:50 PM
На ибее полно древней посуды, покрытой урановой глазурью... Огненно-оранжевая такая.

От неё светит бетой этак 5-6к частиц с см^2 в минуту, что более чем пригодно для сабжевого проекта. К тому же, стоит недорого и выглядит красиво, а потому пригодно к применению в том числе и по прямому назначению. :)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Alex AXe on March 02, 2015, 10:06:59 PM
У меня мелькали мысли вообще купить дозиметр ДП-5В вместе с контрольным стронциевым источником... Причем за копейки можно (примерно 8 долларов). Но потом подумал -та ну его нафиг.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on March 02, 2015, 10:12:01 PM
Ну, разве что как музейный экспонат, потому как с практической точки зрения оно бесполезно чуть менее, чем полностью.  ::)

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

Ферритовый трансформатор в автогенерирующей цепи на транзисторе + трубка и не нужно будет никаких артефактов, весящих как утюг. :)

Кстати, если устраивает зависимость от розетки, то и генератор высокого напряжения не нужен. Можно собрать на диодах удвоитель 220V => 440V и заряжать трубку ими через 5-мегаомный резистор, работает замечательно. Резистор обязателен, если не хочется пронаблюдать аннигиляцию трубки.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Alex AXe on March 02, 2015, 10:36:18 PM
Можно собрать на диодах удвоитель 220V => 440V и заряжать трубку ими через 5-мегаомный резистор, работает замечательно. Резистор обязателен, если не хочется пронаблюдать аннигиляцию трубки.
Я так и собираюсь сделать. Дешево и сердито.
Только этот удвоитель дает не 440, а 600  - конденсаторы заряжаются амплитудой напряжения а не средним значением (что было проверено на практике еще в мои юные годы). Так что к нему еще элементарный делитель напряжения нужен.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on March 02, 2015, 10:40:36 PM
Можно собрать на диодах удвоитель 220V => 440V и заряжать трубку ими через 5-мегаомный резистор, работает замечательно. Резистор обязателен, если не хочется пронаблюдать аннигиляцию трубки.
Я так и собираюсь сделать. Дешево и сердито.
Только этот удвоитель дает не 440, а 600  - конденсаторы заряжаются амплитудой напряжения а не средним значением (что было проверено на практике еще в мои юные годы). Так что к нему еще элементарный делитель напряжения нужен.
Вообще да, тем более что напряжение в сети может ходить в диапазоне 220-240V само по себе.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on March 03, 2015, 09:27:38 AM
Присмотрел несколько кристаллов CsI(Tl) и фотоумножителей, на неделе попробую с продавцом побеседовать...
Это мания.  ;)
Кстати, после всех раздумий я купил СБТ-11а.  ;D Дешевле чем СИ-8б и СБТ-10. На днях буду тестить. На калий уж 100% будет реагировать.

И вполне возможно, скоро почти бесплатно прибудут еще СБТ-10 и СТС-5 (до кучи)

Если попадется СБТ-9, то интересовала бы пара штук. :)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on March 03, 2015, 04:42:45 PM
По поводу SBT-11A, потестировал сегодня (спасибо needbmw) альфа чувствительность:

http://www.youtube.com/watch?v=Rsl2ZgM8fGM

Честно говоря, в голове как-то слабо укладывается, чем можно напрямую посчитать такую плотность потока без применения буржуйской элементной базы. Мне всё же кажется, что проще всего преобразовывать в PCM поток и разбирать его программно. ::)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Grumlin on March 03, 2015, 06:13:42 PM
помимо рисования картинок, для анализа энтропии можно воспользоваться утилитой ent (http://www.fourmilab.ch/random/), а для более серьезных исследований - и тестами die hard (https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%81%D1%82%D1%8B_diehard)

кмк для быстрой оценки качества ГСЧ утилиты ent вполне достаточно.
А как например проверить это в windows?


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on March 03, 2015, 06:23:36 PM
А как например проверить это в windows?
http://www.fourmilab.ch/random/random.zip


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Grumlin on March 03, 2015, 06:37:58 PM
А как например проверить это в windows?
http://www.fourmilab.ch/random/random.zip
бла, как так может быть, в винде все тесты 0.01 процента, в линухе норма,от 5 до 90 процентов

апдейт. лол, он тестит картинку, как вместо неё подсунуть сгенериную последовательность?


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on March 03, 2015, 07:35:17 PM
А как например проверить это в windows?
http://www.fourmilab.ch/random/random.zip
бла, как так может быть, в винде все тесты 0.01 процента, в линухе норма,от 5 до 90 процентов

апдейт. лол, он тестит картинку, как вместо неё подсунуть сгенериную последовательность?
Не понял. Что ему укажешь то и проверит, путь к файлу же указывать нужно.

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


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Grumlin on March 03, 2015, 07:37:38 PM
А как например проверить это в windows?
http://www.fourmilab.ch/random/random.zip
бла, как так может быть, в винде все тесты 0.01 процента, в линухе норма,от 5 до 90 процентов

апдейт. лол, он тестит картинку, как вместо неё подсунуть сгенериную последовательность?
Не понял. Что ему укажешь то и проверит, путь к файлу же указывать нужно.

Однако, я заметил что результаты этой и дистрибутивной дебиановской версий несколько отличаются. Видимо, алгоритм поправили.
да я понял, я имею ввиду как в винде заменить команду дд и /dev/urandom


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on March 03, 2015, 07:52:17 PM
Если установлена Interix, то заменять не нужно ничем и эти команды будут работать в Windows. Если же нет, то нужны сторонние утилиты, использующие CryptoAPI.

Например, эта:

http://www.bertel.de/software/rdfc/

Файлы создаются так:

rdfc.exe <имя> <размер> <единица измерения - GB, MB, kB или B> <флаг перезаписи>

Единица измерения - GB, MB, kB или B;
Флаг перезаписи - если файл уже существует и передано owerwrite, то перед генерацией содержимое существующего файла будет стерто.

P.S. У меня нет уверенности в том, что данная софтина не использует свой велосипедный алгоритм вместо системных библиотек.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Grumlin on March 03, 2015, 08:07:26 PM
Если установлена Interix, то заменять не нужно ничем и эти команды будут работать в Windows. Если же нет, то нужны сторонние утилиты, использующие CryptoAPI.

Например, эта:

http://www.bertel.de/software/rdfc/

Файлы создаются так:

rdfc.exe <имя> <размер> <единица измерения - GB, MB, kB или B> <флаг перезаписи>

Единица измерения - GB, MB, kB или B;
Флаг перезаписи - если файл уже существует и передано owerwrite, то перед генерацией содержимое существующего файла будет стерто.

P.S. У меня нет уверенности в том, что данная софтина не использует свой велосипедный алгоритм вместо системных библиотек.
мне уже страшно.... скажите пожалуйста, какой алгоритм использует bitcoin-qt при генерации ключей? надеюсь он использует свой, а не виндовый, иначе жопа

меня смущает вот это во всех тестах...
Value Char Occurrences Fraction
  0            51505   0.502979

linux показывает нормальные результаты...


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: fsb4000 on March 03, 2015, 08:20:44 PM
мне уже страшно.... скажите пожалуйста, какой алгоритм использует bitcoin-qt при генерации ключей? надеюсь он использует свой, а не виндовый, иначе жопа

меня смущает вот это во всех тестах...
Value Char Occurrences Fraction
  0            51505   0.502979

linux показывает нормальные результаты...
И в Windows, и в Linux и в Mac, bitcoin-qt использует  рандом из Openssl.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Grumlin on March 03, 2015, 08:36:34 PM
Бла, как проверить системные библиотеки, т.е. знать, что винда не портачит? хотя помойму с виндой это нереально видимо))))


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: dzyk on March 04, 2015, 12:09:54 AM
добавил тему в избранное :)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: fruit on March 04, 2015, 01:01:38 AM
Бла, как проверить системные библиотеки, т.е. знать, что винда не портачит? хотя помойму с виндой это нереально видимо))))
Что касается "винды":
https://ru.wikipedia.org/wiki/CryptGenRandom

Quote
Использование RtlGenRandom

«Исторически, мы всегда говорили разработчикам не использовать такие функции как rand() для генерации ключей и паролей. Гораздо лучше использовать функции вроде CryptGenRandom, которые являют криптографически устойчивыми генераторами случайных чисел. Проблема с использованием именно CryptGenRandom связана с подключением CryptoAPI (CryptAcquireContext и подобные), хотя остальные функции работают с CryptoAPI нормально. По умолчанию в Windows XP CryptGenRandom вызывает функцию ADVAPI32!RtlGenRandom, которая не требует подключения все набора CryptAPI. На самом деле, новая функция Whidbey CRT rand_s() вызывает RtlGenRandom»[5]
Использование RNGCryptoServiceProvider

Программисты, пользующиеся .Net, должны использовать класс RNGCryptoServiceProvider.[6]
Языки программирования

    рекомендуется использовать функцию rand_s из библиотеки Microsoft С++ (основана на RtlGenRandom).[7]
    функция os.urandom() языка Python в операционных системах Windows вызывает CryptGenRandom.[8]

https://docs.python.org/2/library/os.html#os.urandom

Quote
os.urandom(n)

    Return a string of n random bytes suitable for cryptographic use.

    This function returns random bytes from an OS-specific randomness source. The returned data should be unpredictable enough for cryptographic applications, though its exact quality depends on the OS implementation. On a UNIX-like system this will query /dev/urandom, and on Windows it will use CryptGenRandom().

Далее, логичным будет поставить питон или визуал студио под "винду", погуглить примеры rand_s или os.urandom() (чтобы самому не писать) и запустить...


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on March 05, 2015, 06:14:29 PM
Можно собрать на диодах удвоитель 220V => 440V и заряжать трубку ими через 5-мегаомный резистор, работает замечательно. Резистор обязателен, если не хочется пронаблюдать аннигиляцию трубки.
Я так и собираюсь сделать. Дешево и сердито.
Только этот удвоитель дает не 440, а 600  - конденсаторы заряжаются амплитудой напряжения а не средним значением (что было проверено на практике еще в мои юные годы). Так что к нему еще элементарный делитель напряжения нужен.
В продолжение темы питания.

Кому хочется автономности, и в то же время лень мотать трансформатор самому, можно купить готовый. Лично мне понравилась вот эта (http://www.farnell.com/datasheets/1749330.pdf) серия.

http://i59.tinypic.com/15yy8mx.jpg

Достаточно компактны и обладают подходящим коэффициентом трансформации. Продаются в лентах, если брать много то поставщики неплохо скидывают цену.

Пока в реальной работе не проверял, только погонял в тестовой цепи... Есть увеличение напряжения в 100 раз на частоте 60 кГц. Думаю, на выходных соберу на нем полноценный девайс.  ::)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on March 08, 2015, 07:08:06 PM
http://www.youtube.com/watch?v=7oQ2nyNBrMg

Мдя, я слегка недооценил коэффициент трансформации. %)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: fruit on March 08, 2015, 07:58:49 PM
Может не очень в тему:
Уязвимость «большого пальца»: я твой палец по фотографии взломаю
http://habrahabr.ru/post/252095/


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: FAN on March 09, 2015, 12:17:18 PM
тема переходит в гадания по пальцу?  ;D


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Alex AXe on March 09, 2015, 05:59:54 PM
Мдя, я слегка недооценил коэффициент трансформации. %)
Ну, теперь найди кенотрон и можешь сделать источник рентгеновского излучения  ;D


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: FAN on March 09, 2015, 07:40:01 PM
зачем так зло и лазера достаточно :)


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on March 14, 2015, 10:58:29 PM
Но в целом согласен, газовые счётчики ГМ на поэкспериментировать сойдут. Сцинт уже для коммерческой энтропии :)
Ну что же, погонял спектрометр... Откалибровать нормально сейчас возможности нет, поэтому откалибровал "на глаз":

http://i57.tinypic.com/2u7q7ue.png

Это сеточка от керосинной лампы, после непродолжительного набора видно ренгеновский пик и пик от свинца-212, для остального надо дольше набирать.

Что же по скорости набора энтропии, то в режиме 4 кванта на бит от сеточки получается ~60-65 бит/с, от Am241 источника ~450 бит/с.



Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: t309 on March 15, 2015, 06:15:06 PM
что за сеточка? как ти получил данний график?


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on March 15, 2015, 06:31:37 PM
что за сеточка?
Сетка для керосиновых и газовых ламп, очень ярко светится при нагреве и потому используется как излучающий элемент.

http://youtube.com/watch?v=v_yMV9RS4yo

На ибее стоит порядка 2-4 долларов.

Постил тут уже несколько тестов:

http://youtube.com/watch?v=pnmDMhGWK8Y


как ти получил данний график?
Сцинтилляционным спектрометром. К сабжу это слабо относится, просто его тоже можно использовать как источник случайных данных.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: t309 on March 16, 2015, 08:24:21 PM
я из чего ета сетка почему она фонит?
я думал там чтото типа катализатора, паладий платина


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on March 16, 2015, 08:29:00 PM
я из чего ета сетка почему она фонит?
Огнеупорная ткань, пропитанная солями тория (https://ru.wikipedia.org/wiki/%D0%A2%D0%BE%D1%80%D0%B8%D0%B9) и подвергнутая температурной обработке.

я думал там чтото типа катализатора, паладий платина
Нет, она ничего не катализирует, её задача - просто светиться от нагрева (https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BD%D0%B4%D0%BE%D0%BB%D1%8E%D0%BC%D0%B8%D0%BD%D0%B5%D1%81%D1%86%D0%B5%D0%BD%D1%86%D0%B8%D1%8F). Преобразует инфракрасное излучение от пламени в видимый свет.


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: Balthazar on November 27, 2015, 02:59:10 PM
Крайне полезная статейка:

https://medium.com/@betable/tifu-by-using-math-random-f1c308c4fd9d


Title: Re: Истинный ГСЧ (True RNG, TRNG)
Post by: FAN on November 28, 2015, 12:25:15 AM
мурашки прикольно бегают по первой картинке... прямо как толпы по куеву... :)