Генератор случайных чисел

 
RU я уехал #07.02.2015 18:15
+
-
edit
 

я уехал
TEvg-2

мракобес

Нужен несложный хороший самодельный аппаратный генератор случайных чисел с вводом в комп.
Подскажите как лучше сделать?
 
NL JackSmith #07.02.2015 19:43
+
-
edit
 

JackSmith

втянувшийся

случайных или псевдо-случайных?

cat /dev/urandom|hexdump|head

?
 27.027.0
RU я уехал #07.02.2015 19:47  @JackSmith#07.02.2015 19:43
+
-
edit
 

я уехал
TEvg-2

мракобес

JackSmith> случайных или псевдо-случайных?
JackSmith> ?

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

Anarky

аксакал

я.у.> Абсолютно случайных. Отсюда аппаратное решение и возможность самостоятельного изготовления.
я.у.> Качество чисел должно быть тоже высоким т.е. равномерный абсолютно случайный спектр.
АЦП в системе есть?
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1414
+
-
edit
 

JackSmith

втянувшийся

JackSmith>> случайных или псевдо-случайных?
JackSmith>> ?
я.у.> Абсолютно случайных. Отсюда аппаратное решение и возможность самостоятельного изготовления.
я.у.> Качество чисел должно быть тоже высоким т.е. равномерный абсолютно случайный спектр.
cамое простое что приходит в голову:
аппаратная часть: arduino + терморезистор, считываем показания с порта, отправляем на комп по USB
 27.027.0
RU я уехал #07.02.2015 20:06  @Anarky#07.02.2015 19:51
+
-
edit
 

я уехал
TEvg-2

мракобес

Anarky> АЦП в системе есть?

Ну можно применить микроконтроллер, например Атмел.
Только какой сигнал подать на этот ацп, чтобы получились качественные числа?
И потом не надежнее ли использовать не АЦП, а простой компаратор?
 
+
+4
-
edit
 

GOGI

координатор
★★★★
Блин, женя, умеешь ты вопросы формулировать.
Предлагаю бросать на клавиатуру гантели. Очень аппаратно и очень случайно.
1  35.035.0
RU я уехал #07.02.2015 21:05  @GOGI#07.02.2015 20:47
+
-
edit
 

я уехал
TEvg-2

мракобес

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

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

Просьба критиковать.
Если ли слабые места?
 
RU спокойный тип #07.02.2015 21:07  @GOGI#07.02.2015 20:47
+
+1
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★☆
GOGI> Блин, женя, умеешь ты вопросы формулировать.
GOGI> Предлагаю бросать на клавиатуру гантели. Очень аппаратно и очень случайно.

терморезистор это имеет зависимость от температуры...тут только счетчик гейгера и что-то радиоактивное :-D - только хардкор
 35.035.0
DE JackSmith #07.02.2015 21:19  @спокойный тип#07.02.2015 21:07
+
-
edit
 

JackSmith

втянувшийся

с.т.> терморезистор это имеет зависимость от температуры...
а не надо брать температуру, надо брать шум
 27.027.0
RU спокойный тип #07.02.2015 21:27  @JackSmith#07.02.2015 21:19
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★☆
JackSmith> а не надо брать температуру, надо брать шум

шум на терморезисторе зависит от температуры, линейно
 35.035.0
NL JackSmith #07.02.2015 21:51  @спокойный тип#07.02.2015 21:27
+
-
edit
 

JackSmith

втянувшийся

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

Резистор — Википедия

Рези́стор (англ. resistor, от лат. resisto — сопротивляюсь) — пассивный элемент электрических цепей, обладающий определённым или переменным значением электрического сопротивления, предназначенный для линейного преобразования тока в напряжение и напряжения в ток, ограничения тока, поглощения электрической энергии и др.. Весьма широко используемый компонент практически всех электрических и электронных устройств. Некоторые характеристики существенны при проектировании устройств, работающих на высоких и сверхвысоких частотах, это: По стандартам России условные графические обозначения резисторов на схемах должны соответствовать ГОСТ 2.728-74. // Дальше — ru.wikipedia.org
 
 27.027.0
RU спокойный тип #07.02.2015 22:05  @JackSmith#07.02.2015 21:51
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★☆
JackSmith> и.... эта температура всегда постоянна? или нет?

в том то и дело что непостоянна - на значения выдаваемые генератором можно влиять из-вне (если нет термостабилизации конечно) ...можно конечно подмешивать соль но все равно система как-то будет реагировать
в отличии от радиоактивного распада
 35.035.0
+
-
edit
 

GOGI

координатор
★★★★
JackSmith> аппаратная часть: arduino + терморезистор, считываем показания с порта, отправляем на комп по USB
Для чего именно ТЕРМОрезистор? Ну и вы напряжение тепловых шумов представляете? Оно много ниже способностей АЦП контроллеров.
1  35.035.0
RU Серокой #07.02.2015 22:36  @TEvg-2#07.02.2015 18:15
+
+1
-
edit
 

Серокой

координатор
★★★★
я.у.> Нужен несложный хороший самодельный аппаратный генератор случайных чисел с вводом в комп.

Водить мышкой по экрану.
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  

Anarky

аксакал

я.у.> Я пока склоняюсь использовать в качестве исходного сигнала дробовый шум p-n перехода заведенный на компаратор, плюс опорное напряжение. На выходе единицы и нули. Дальше просто СОМ-порт.

Ох блин, забыл про дробовой шум. Конечно это самый адекватный вариант и собирается на рассыпухе. Хотя конечно счётчик Гейгера и пузырёк с изотопом выглядят внушительнее :)
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1414

Anarky

аксакал

GOGI> Для чего именно ТЕРМОрезистор? Ну и вы напряжение тепловых шумов представляете? Оно много ниже способностей АЦП контроллеров.

Пропустить через фильтр высокой частоты и на усилитель, а дальше на АЦП :D
Тяжкое горе ожидает ту страну, которая окажется неспособной отразить удар с воздуха © Г. К. Жуков  1414
EE Татарин #08.02.2015 00:10  @TEvg-2#07.02.2015 18:15
+
-
edit
 

Татарин

координатор
★★★★☆
я.у.> Нужен несложный хороший самодельный аппаратный генератор случайных чисел с вводом в комп.
я.у.> Подскажите как лучше сделать?
Генератор белого шума на микрофонный вход.
Схемы - см. в интернете. Я советую усиленные шумы на эмиттерном переходе (базу закорачиваешь на эмиттер, на коллектор через ограничивающий резистор подаёшь питание, с коллектора же и снимаешь шум). Это достаточно хороший, чистый шум. Дальше - усилитель на любом ОУ и на вход звуковухе.

Стандартная звуковуха удобна наличием стандартного разъёма для внешнего генератора, драйверов и документации, то есть, ты можешь под виндой или линуксом брать её сигнал простым вызовом стандартной функции.
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  40.0.2214.9340.0.2214.93
EE Татарин #08.02.2015 00:20  @TEvg-2#07.02.2015 21:05
+
-
edit
 

Татарин

координатор
★★★★☆
я.у.> Я пока склоняюсь использовать в качестве исходного сигнала дробовый шум p-n перехода заведенный на компаратор, плюс опорное напряжение. На выходе единицы и нули. Дальше просто СОМ-порт.
я.у.> Просьба критиковать.
я.у.> Если ли слабые места?
Есть. Потребуется отлаживать: уровень компаратора задаёт соотношение нулей и единиц.
Случайность будет изначально косая в какую-то сторону (больше нулей или единиц).
И не просто косая, а её перекос будет ещё и промодулирован помехами - той же сетевой частотой. На достаточно высокочастотные можно было б и забить, а вот на более плавные колебания - фиг забьёшь, даже на 9600бод будут у тебя переть подряд нули или единицы сотнями подряд (повышение помехоустойчивости лишь ослабит корреляцию, а не избавит от неё).
А ещё хуже - совсем низкочастотные помехи, то, что характеристики схемы или питающее напряжение может плыть со временем.

В принципе, от этого можно избавиться любым энтропизатором. Хошь алгоритм zip используй, хошь - БПФ, хошь просто двоичный полином считай. Но сразу предупреждаю - хорошо случайного в математическом смысле шума ты непосредственно с низкочастотного компаратора не получишь.
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  40.0.2214.9340.0.2214.93
Это сообщение редактировалось 08.02.2015 в 00:29
RU Balancer #08.02.2015 20:10  @спокойный тип#07.02.2015 21:27
+
+1
-
edit
 

Balancer

администратор
★★★★★
JackSmith>> а не надо брать температуру, надо брать шум
с.т.> шум на терморезисторе зависит от температуры, линейно

Пусть берут md5 от шума :)
 3939
RU я уехал #08.02.2015 20:15  @Balancer#08.02.2015 20:10
+
-
edit
 

я уехал
TEvg-2

мракобес

А может в мд5 есть слабые места? И даже надежный хешированный шум станет ненадежным ключом?
 
+
-
edit
 

Balancer

администратор
★★★★★
я.у.> А может в мд5 есть слабые места?

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

Вот, кстати, близко к твоей задаче:

Генераторы реальных случайных последовательностей

Size: 108.06 Kb.; Последовательность, выдаваемую генератором случайных последовательностей, воспроизвести невозможно. Никто, даже вы сами, не сможет воспроизвести последовательность битов, выдаваемую этими генераторами // ru.convdocs.org
 
 3939
?? Татарин #08.02.2015 20:28  @Balancer#08.02.2015 20:10
+
-
edit
 

Татарин

координатор
★★★★☆
JackSmith>>> а не надо брать температуру, надо брать шум
с.т.>> шум на терморезисторе зависит от температуры, линейно
Balancer> Пусть берут md5 от шума :)
Сканает любой энтропизатор.
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  40.0.2214.9440.0.2214.94

GOGI

координатор
★★★★
Вообще, мне кажется настолько очевидным, что я даже не могу сформулировать конкретную причину, что на входе в компьютер уже должна быть случайная последовательность, а не заготовка для неё, иначе вся затея теряет смысл. Повторюсь, "почему" я объяснить не могу.
1  35.035.0
?? Татарин #08.02.2015 21:53  @GOGI#08.02.2015 21:27
+
-
edit
 

Татарин

координатор
★★★★☆
GOGI> Вообще, мне кажется настолько очевидным, что я даже не могу сформулировать конкретную причину, что на входе в компьютер уже должна быть случайная последовательность, а не заготовка для неё, иначе вся затея теряет смысл. Повторюсь, "почему" я объяснить не могу.
Это вовсе не очевидно.
Точнее - это даже совсем не так. :) Потому что сигнал может не быть истинно случайным (истинную случайность на коленках сложно сделать), но тем не менее содержать значительную случайную компоненту. Классический пример, используемый для генерации случайных чисел в куче шифровальных программ - случайное движение мышкой. Оно НЕ случайно (координаты на небольшом участке меняются вообще почти линейно), тем не менее, если чуть побольше поелозить на 256-1024 бита ключ наелозить можно.
Всё, что нужно - вытащить истинную случайность и выкинуть (хэш) или рассеять (энтропизатор) коррелирующие биты.

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

Потому что брутфорс с целью выявления коррелиций невозможен: нужна последовательность ключей сравнимая с 2^длина_ключа.
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  40.0.2214.9440.0.2214.94

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru