roboforum.ru

Технический форум по робототехнике.

AVR - Генерация случайного числа

Re: AVR - Генерация случайного числа

contr » 22 окт 2009, 12:43

к чему такие сложности? Диод уже источник шумов. Его на вход АЦП и вешаем. А генераторы нужны когда МК АЦП не имеет.

Re: AVR - Генерация случайного числа

Master » 22 окт 2009, 12:49

:ROFL: ну епта пособие как бороться с шумами. Типа если знаешь как сделать шум, то и будешь знать как с ним бороться.

Re: AVR - Генерация случайного числа

avr123.nm.ru » 22 окт 2009, 12:52

contr писал(а):к чему такие сложности? Диод уже источник шумов. Его на вход АЦП и вешаем. А генераторы нужны когда МК АЦП не имеет.


Я ж предложил вообще ничего не подключать ко входу АЦП - к нему ведь и так 2 диода внутри подключены и еще куча полупроводников.

Re: AVR - Генерация случайного числа

boez » 22 окт 2009, 13:42

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

Re: AVR - Генерация случайного числа

contr » 22 окт 2009, 13:46

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

Re: AVR - Генерация случайного числа

avr123.nm.ru » 22 окт 2009, 13:56

Бредятина.

Re: AVR - Генерация случайного числа

Ku6opr » 23 окт 2009, 02:17

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

Например, в этой статье рассказано об атаках через электропитание
http://dxdt.ru/2009/09/19/2635/

Re: AVR - Генерация случайного числа

-= Александр =- » 23 окт 2009, 03:45

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

А единственная возможная атака по электросети - это 380 Вольт в розетку... :wink:

Re: AVR - Генерация случайного числа

boez » 23 окт 2009, 10:39

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

Re: AVR - Генерация случайного числа

SSG » 23 окт 2009, 12:18

Ну так чем программная реализация не устраивает?
http://www.racal.ru/rsp/lfsr.htm

Re: AVR - Генерация случайного числа

blindman » 23 окт 2009, 12:24

Тем, что при каждом запуске одну и ту же последовательность выдаёт. Вопрос-то не в том, ка сделать генератор, а как его инициализировать.

Re: AVR - Генерация случайного числа

contr » 23 окт 2009, 13:03

единственное преимущество WDT - вывод МК не занимаем, но за это в программе расплачиваться придется. Частоту считать, WDT сбрасывать ...

Re: AVR - Генерация случайного числа

Michael_K » 23 окт 2009, 15:38

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


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

Делал очень просто:
Запускал вотчдог, и крутился в коротком цикле инкрементируя какую-то ячейку памяти.
Когда происходил ресет, смотрел от чего он произошел, если от вотчдога, то считывал байтик
(случайный) из этой ячейки и шел дальше.

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

Это было нужно для случайного номера сетевого пакета - иначе сетки некоторые плохо работают.
Последний раз редактировалось Michael_K 23 окт 2009, 15:46, всего редактировалось 1 раз.

Re: AVR - Генерация случайного числа

SSG » 23 окт 2009, 15:40

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

Re: AVR - Генерация случайного числа

Michael_K » 23 окт 2009, 15:42

инициализировать программный генератор рандомом

Вопрос в том, где его взять... этот рандом :)


Rambler\'s Top100 Mail.ru counter