ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
17 июля
579885 Топик полностью
fk0, легенда (15.02.2015 10:23, просмотров: 35) ответил lexxx-lexxx на на чем сейчас модно ГСЧ делать? бюджет 5-10 тыс руб. желательно законченное решение в виде модулечка
Не совсем понятен вопрос. Речь о готовом оборудовании или о том как сделать, и самое главное, какими характеристиками оно должно обладать? И потом нужен ли вообще именно генератор и именно случайных чисел? Во-первых случайные числа можно получить где-то на стороне (см. random.org -- их продают), сохранить, например в микросхеме ПЗУ, и впоследствии использовать. Во-вторых может прекрасно подойти и псевдослучайная последовательность. Если последовательность достаточно длинная, если она каждый раз начинается с разного (seed) места и обладает нужными характеристиками -- почему бы и нет? Генераторов ГПСЧ известно много, программных в смысле. И достаточно лишь сохранять seed при отключении питания, например, чтоб не начинать каждый раз с одного места. Но такие генераторы могут не подходить для криптографии и, возможно, некоторых других процессов: для генератора ГПСЧ можно получить несколько последовательных значений и на их основе, например, вычислить состояние генератора и сгенерировать всю последующую последовательность самостоятельно. В частности, это применимо для генераторов на основе LFSR дающих, в отличии от "линейного конгруэнтного" хорошие статистические характеристики (впрочем и последний для криптографии тем более не годится). Пример ГПСЧ на LFSR -- http://www.maximin …otes/index.mvp/id/4400 -- обращаю внимание, что смешиваются два LFSR, одиночный даст картинку типа такой: http://s18.postimg …org/f2tjydodl/lfsr.gif (а rand() из C-библиотеки -- может быть ещё хуже, как и линейный конгруэнтный типа Xi+1=(Xi*A+B) MOD M и т.п.) Этот генератор (по аппноте максима) проходит частично тесты diehard (простейшие генераторы не проходят ничего). Но, повторюсь, он не применим в криптографии (т.к. его состояние может быть вычислено получив участок последовательности, для криптографии есть спец. методы: http://en.wikipedi …r#Uses_in_cryptography) Если речь о готовом оборудовании -- не знаю. Можно взять обычный компьютер. Например, в линуксе, есть устройство /dev/random (и если подключить к компу микрофон и сделать cat /dev/audio > /dev/random, то будет генерировать несколько быстрее, наверное). Потенциально можно использовать и встроенные в процессор ГСЧ... Как сделать. Есть готовые микросхемы... Я думаю, в чистом виде они не применимы, потому, что методы получения случайных чисел внутри достаточно мутные и сведений о статистических характеристиках полученной последовательности, применении в криптографии, результатов тестов, заявлений о соответствии стандартам -- это есть не всегда. Да и, наверное, не нужно, т.к. такой генератор может быть лишь "источником энтропии" для Г(П)СЧ реализованного на микроконтроллере, например (достаточно быстром -- готовые микросхемы обычно характеризуются высокой производительностью, в бит/сек). Впрочем в качестве такового источника энтропии может запросто послужить и какой-либо генератор шума (генерирующий помимо шума огромное количество не случайных данных, но это не слишком принципиально). Например, я тут давал ссылку: http://holdenc.altervista.org/chua/ -- но я бы боялся такой генератор применять в чистом виде (не как источник энтропии, а именно как генератор). Рекомендую поинтересоваться устройством Г(П)СЧ в linux... В качестве самодельного можно использовать несколько похожий, но во многом упрощённый способ. Нужен какой-то источник случайных данных, аппаратный генератор шума, вплоть до шума АЦП. Его выход должен попадать на вход описанного выше ГПСЧ по аппноте фирмы Maxim (пример кода: http://caxapa.ru/350689.html). На выходе мы получим уже не совсем псевдо поток случайных чисел, достаточно быстрый, обладающий хорошими статистическими свойствами, не повторяющийся, но тем не менее ещё не подходящий для применения в криптографии. Для последнего можно использовать метод описанный в книже Б. Шнайера "Прикладная криптография": выход LFSR может поступать на вход хэш-функции, например MD5, так же на вход хэш-функции поступает значение счётчика (увеличивающегося при каждой генерации блока данных, и сохраняющееся при отключении питания). Выход хэш-функции (16 байт для MD5) используется как случайные данные. Недостаток в том, что вычисление хэш-функции занимает значительное время на медленных МК. Но свойство необратимость хэш-функции даёт возможность использовать такой Г(П)СЧ в криптографии. А как модно делать это известно. Берём PIC-контроллер и когда нужно случайное число -- ксорим регистр TMR0 и с регистрами PCL или WREG...
[ZX]