Нужен источник "настоящих" случайных чисел. Знаю, что на чипсете i810 был встроен девайс "RNG". Нашел на сайте Intel документ "Intel 82802 Firmware Hub: Random Number Generator" и в нем прототип проги, которая обращается к девайсу через "регистры". Как ни странно, больше никакой полезной инфы, только на гугле тысячи жалобных воплей о проблемах с установкой линуха из за этого RNG. На WASMе тоже пусто. Отсюда вопросы: - есть ли RNG на более поздних чипсетах, типа i845, i865, etc.? - "регистры" типа 0xFFBC0000, указанные в мануале, - это физические адреса памяти или, например, какие-нибудь экзотические порты в/в? - есть ли вендозные дрова для поддержки RNG или придется писать самому?
drmad Intel 82802 совместим с чипсетом серии 800. Но вот про его присутствие в чипсете я так и не понял. Толи есть толи не обязателен. Упаминанается во всех чипсетах 800 серии. Не знаю от куда ты брал мануэл, но у интел черно побелому написанно, что это физический адресс. В современном железе это обыденно. И еще Intel 82802 это не только генератор, но также видео биус и еще что-то там.
Вроде сабж есть на всех чипсетах с FWH. Драйвер для RNG еще интел обещали в даташите (с поддержкой в DDK). Скорее всего есть, но даже если и нет, можно свой написать, интерфейс c RNG примитивный.
Pavia это физический адресс. Хорошо. Вот я поставлю 4Гб оперативки. В современных условиях это вполне реально. BIOS должен давать возможность как-то резервировать эти адреса? _BC_ Драйвер не проблема. Проблема найти мамку с этим самым fwh.
drmad Про чипсеты 800 серии там поддерживается 2Гб физической памяти. Затем идет зарезервированное место 2Гб. Фактически задействован только адреса C0000000-FFFFFFFFFF которые отводятся под PCI устройства и другие системные устройства. Про 4Гб сам в недоумение. Но насколько я понимаю, там идет контролер памяти. Который позволяет отображать в соответствующие адреса. Нужно читать более свежии мануэлы. И еще вроде как FWH - это просто Flash BIOS.
Ruptor небезосновательно критиковал RNG в чипсетах (в силу закрытости алгоритмов, нельзя быть уверенным в их криптостойкости и отсутствии закладок). Лучше взять какое-нибудь опенсоурсное решение типа Шнайеровского Yarrow, а еще лучше скомбинировать его с чипсетным RNG (использовав его в качестве еще одного источника энтропии). См. в википедии обзор по RNG и источникам энтропии.
Liubomu RNG chtobi bit cryptostoikim nado kak liubomu potochnomu shifru bolshoye vnutrenneye sostoyaniye (kak minimum v 2, a to i v 4 raza bolshe chem security level), kotoroye bi obnovlialos nelineinim obrazom ispolzuya entropy kak potok vhodnih dannih. V Intel vriadli otveli 512, a tem boleye 1024 registrov tolko na 256-bit cryptostoikiy RNG, eto 100%. Poetomu vsio ravno nado v software pisat svoi PRNG i kormit yemu entropy. Vibirayem liuboi bistriy stream cipher s bolshim internal state i vmesto klucha yemu kormim na kazhdom shagu RDTSC, a yesli uzh hotite, to yeschio i vihod etogo samogo hardware RNG. V otdelnom threade ili kak-to yeschio nado periodicheski polnostyu obnovliat vsio internal state generatora. Vozmite naprimer SEAL ili Rabbit. Vot vam i ochen bistriy cryptostoikiy true RNG. A chisto hardware RNG - eto tolko intros pisat chtobi v asm izvraschatsa mozhno bilo s ochen korotkim kodom. No cryptostoikosti ot nego ne zhdite nikakoi voobsche. Menia kogda-to poprosili bistriy true RNG dlia opredelionnoi zadachi, ya im slepil. Yego mozhno znachitelno uskorit konechno, nad etim ya rabotayu seichas. Obichno rekomenduyetsa mezhdu vsemi threads delit odin i tot zhe internal state generatora, a tak zhe v otdelnom thread yego medlenno no verno podkarmlivat, no dlia ih application eto pochemu-to ne podhodilo, vot i poluchilsa takoi generator, kotoromu nado state kak parameter podavat. Yesli bi on ne obnovlialsa celikom kazhduyu polovinu internal state, to on bi lomalsa cherez guess-and-determine, a tak kak yest - vsio ok. Ruptor
+1, хардварные реализации любых криптоалгоритмов никогда не внушают доверия... Хотя в качестве дополнительного источника энтропии чипсетный RNG вполне сойдет.
Поддержка FWH есть-то и на новейших, другой вопрос что RNG на них нет. Этот RNG предоставлялся не средствами FWH-интерфейса самого чипсета, а отдельным девайсом с FWH-интерфейсом, а именно интеловскими 82802AB/AC, которые представляют собой Flash-чипы с доп.наворотами типа этого самого RNG. Они, как и соотв. чипсетный интерфейс, называются FWH, что и создало путаницу. На самом деле между ними ничего общего, кроме одинакового названия и собственно интерфейса. Т.е. тот FWH/RNG, о котором идет речь в этой теме, не имеет отношения к чипсетному FWH-интерфейсу. И сам он похоже весьма редкий. Т.о., фраза "есть ли FWH'шный RNG на таком-то чипсете" некорректна -- на чипсете как такового его вообще нет.