|
|
  |
Случайные числа |
|
|
|
Apr 19 2013, 05:37
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 22-12-08
Пользователь №: 42 664

|
Как реализовать в кейле генератор случайных чисел для 51 контроллера? Заранее спасибо.
|
|
|
|
|
Apr 19 2013, 10:48
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 22-12-08
Пользователь №: 42 664

|
Цитата(kovigor @ Apr 19 2013, 14:27)  Фнкция Rand будет выдавать одно и тоже число, если не использовать srand. А в srand надо записывать разные числа. По приведенной выше ссылке туда записывается time(NULL). Для контроллеров нет такой функции!!!
|
|
|
|
|
Apr 19 2013, 13:04
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(LoLo @ Apr 19 2013, 13:48)  Фнкция Rand будет выдавать одно и тоже число, если не использовать srand Какой именно у вас МК ? Можно же взять, например, шум младшего разряда АЦП. Или время, проходящее от момента запуска любой из PLL до того момента, как она засинхронизируется (именно так я делал на LPC214x, результат очень приличный). Думайте, думайте. Я уже молчу о том, что внешний аналоговый генератор шума можно собрать на каком-нибудь стабилитроне ...
|
|
|
|
|
Apr 22 2013, 10:09
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(редактор @ Apr 22 2013, 11:22)  Чтение таймера в произвольный момент времени. Вот в этом и проблема. Неясно, какой именно момент времени считать произвольным - они все так или иначе детерминированы программой, исполняющейся в МК. Я этого дела наелся по самые уши, понапробовался всяких "моментов" и больше не хочу - качество случайных чисел, генерируемых таким образом, получается очень низким. А вообще, хорошие генераторы используют множество источников энтропии, а не один. Я в своем проекте остановился на генераторе FORTUNA, разработанном Брюсом Шнайером и Нильсом Фергюсоном, который "кормлю" энтропией из пяти или шести источников: http://www.rsdn.ru/res/book/security/practicalcrypto.xml
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|