Аппараттық кездейсоқ сандар генераторы - Hardware random number generator
![]() | Бұл мақала үшін қосымша дәйексөздер қажет тексеру.Маусым 2014) (Бұл шаблон хабарламасын қалай және қашан жою керектігін біліп алыңыз) ( |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Sun-crypto-accelerator-1000.jpg/220px-Sun-crypto-accelerator-1000.jpg)
Жылы есептеу, а аппараттық кездейсоқ сандар генераторы (HRNG) немесе нақты кездейсоқ сандар генераторы (TRNG) бұл құрылғы кездейсоқ сандарды тудырады а физикалық процесс арқылы емес, алгоритм. Мұндай құрылғылар көбінесе төмен деңгей тудыратын микроскопиялық құбылыстарға негізделген, статистикалық кездейсоқ "шу «сияқты сигналдар жылу шу, фотоэффект, қатысатын а сәулені бөлгіш, және басқа да кванттық құбылыстар. Мыналар стохастикалық процестер, теория жүзінде, толығымен болжанбайды, және болжау мүмкін емес теорияның тұжырымдары бағынады эксперименттік тест. Бұл жалған кездейсоқ сандарды генерациялау парадигмасынан айырмашылығы компьютерлік бағдарламалар.
Аппараттық кездейсоқ сандар генераторы әдетте a тұрады түрлендіргіш физикалық құбылыстардың кейбір аспектілерін электрлік сигналға айналдыру, ан күшейткіш кездейсоқ ауытқулардың амплитудасын өлшенетін деңгейге дейін көтеруге арналған басқа электронды схемалар және кейбір түрлері аналогты-сандық түрлендіргіш шығуды сандық санға, көбіне қарапайым екілік цифрға айналдыру үшін 0 немесе 1. Кездейсоқ өзгеретін сигналды бірнеше рет іріктеу арқылы кездейсоқ сандар қатары алынады.
Электронды аппаратураның кездейсоқ сандар генераторларының негізгі қосымшасы криптография, онда олар кездейсоқ генерациялау үшін қолданылады криптографиялық кілттер деректерді қауіпсіз беру үшін. Олар Интернетті шифрлау хаттамаларында кеңінен қолданылады Көлік қабаттарының қауіпсіздігі (TLS).
Сияқты құрылғылардың көмегімен кездейсоқ сандардың генераторларын «кездейсоқ» макроскопиялық процестерден құруға болады монета аудару, сүйек, рулетка дөңгелектер және лотерея машиналары. Болжамсыздықтың осы құбылыстарда болуын теориямен ақтауға болады тұрақсыз динамикалық жүйелер және хаос теориясы. Макроскопиялық процестер детерминирленген болса да Ньютон механикасы, рулетка тәрізді жақсы жасалған құрылғының шығуын іс жүзінде болжау мүмкін емес, өйткені бұл сезімтал, микро бөлшектерге байланысты бастапқы шарттар әр пайдалану.
Сүйектер көбіне-көп қолданылғанымен құмар ойындар және ойындардағы «рандомизирующие» элементтер ретінде (мысалы. рөлдік ойындар ), Виктория ғалым Фрэнсис Галтон 1890 ж. ғылыми мақсаттар үшін кездейсоқ сандарды анық құру үшін сүйектерді пайдалану әдісін сипаттады.[1]
Аппараттық кездейсоқ сандардың генераторлары секундына кездейсоқ биттердің шектеулі санын ғана шығарады. Деректердің қол жетімді жылдамдығын арттыру үшін олар көбінесе «тұқым «жылдамырақ криптографиялық қауіпсіз псевдодан кездейсоқ генератор, содан кейін а түзеді жалған кездейсоқ деректердің анағұрлым жоғары жылдамдығымен шығу реттілігі.
Қолданады
Болжамсыз кездейсоқ сандар алдымен контекстінде зерттелді құмар ойындар сияқты көптеген кездейсоқ құрылғылар сүйек, ойын карталарын араластыру, және рулетка дөңгелектер, бірінші рет осындай пайдалану үшін жасалған. Жақсы шығарылған кездейсоқ сандар электронды құмар ойындар үшін өте маңызды және оларды жасау тәсілдері кейде үкіметтік ойын комиссияларымен реттеледі.
Кездейсоқ сандар сонымен қатар құмар ойындары үшін пайдаланылады, мысалы, оларды қолдану математикалық маңызды болған жағдайда да, мысалы үшін сауалнамалар және әділеттілік шамамен алынған жағдайларда рандомизация, сияқты әскери лотореялар және таңдау алқабилер.
Криптография
Аппараттық кездейсоқ сандар генераторларының негізгі қолданылуы өрісінде деректерді шифрлау, мысалы, кездейсоқ құру криптографиялық кілттер және nonces деректерді шифрлау және қол қою үшін қажет. Олар сенімді балама болып табылады жалған кездейсоқ генераторлар (PRNGs), компьютерлерде әдетте «кездейсоқ» сандарды құру үшін қолданылатын бағдарламалық жасақтама. PRNGs а детерминирленген алгоритм сандық тізбектер шығару. Бұл жалған кездейсоқ тізбектер өткенімен кездейсоқтыққа арналған статистикалық үлгі тестілері, «тұқым» деп аталатын алгоритмді және оны инициализациялау үшін қолданылатын шарттарды білу арқылы шығуды болжауға болады. PRNG шығаратын сандар тізбегі негізінен болжанатын болғандықтан, жалған кездейсоқ сандармен шифрланған деректер осал болуы мүмкін криптоанализ. Аппараттық кездейсоқ сандар генераторлары болжамды емес деп есептелетін сандар тізбегін шығарады, сондықтан деректерді шифрлау үшін ең үлкен қауіпсіздікті қамтамасыз етеді.
Ерте жұмыс
Кездейсоқ сандарды шығарудың алғашқы әдісі - ойнауға арналған бірдей машиналардың өзгеруі болды кено немесе таңдаңыз лотерея сандар. Оларға ауа үрленген аралас, нөмірленген пинг-понг шарлары қатысты, мүмкін механикалық үгітпен біріктірілген және шарларды араластырғыш камерадан шығарудың кейбір әдісін қолданған (АҚШ патенті 4 786 056 ). Бұл әдіс кейбір мағыналарда ақылға қонымды нәтиже береді, бірақ кездейсоқ сандар қымбат. Әдіс табиғатынан баяу және көптеген компьютерлік қолданбалар үшін жарамсыз.
1947 жылы 29 сәуірде, RAND корпорациясы «электронды рулетка» көмегімен кездейсоқ цифрлар жасай бастады, бұл секундына бір рет тұрақты жиілік импульсімен секіріп, бес биттік екілік санауышқа жіберілген секундына 100000 импульстің кездейсоқ жиілік импульс көзінен тұрады. Дуглас авиакомпаниясы Сесил Хастингтің ұсынысын орындай отырып, жабдықты құрастырды (RAND P-113)[2] шу көзі үшін (ықтимал, 6D4 миниатюралық газдың белгілі әрекеті) тиратрон магнит өрісіне орналастырылған кезде[3]). Есептегіштің ықтимал 32 мәнінің жиырмасы 10 ондық цифрмен салыстырылып, қалған 12 есептегіш мәні алынып тасталды.[4]
Сүзілген және тексерілген RAND машинасынан ұзақ жұмыс нәтижелері кестеге айналдырылды, ол 1955 жылы кітапта жарияланған 100000 қалыпты ауытқуы бар миллион кездейсоқ цифрлар. RAND кестесі кездейсоқ сандарды беруде маңызды жетістік болды, өйткені мұндай үлкен және мұқият дайындалған кесте бұрын-соңды болмаған еді. Бұл модельдеу, модельдеу және криптографиялық алгоритмдердегі тұрақты тұрақтыларды шығару үшін тұрақтылардың зиянды түрде таңдалмағандығын көрсету үшін пайдалы дерек көзі болды. Блоктық шифрлар Хуфу және Хафре RAND кестесін қолданатын қосымшалардың қатарына жатады.[5] Қараңыз: Менің жеңдерімнің нөмірлері жоқ.
Кездейсоқ қасиеттері бар физикалық құбылыстар
Кванттық кездейсоқ қасиеттер
Практикалық екі негізгі көздер бар кванттық механикалық физикалық кездейсоқтық: атомдық немесе атомдық деңгейдегі кванттық механика және жылу шу (олардың кейбіреулері шығу тегі бойынша кванттық механикалық). Кванттық механика белгілі бір физикалық құбылыстар, мысалы ядролық ыдырау атомдардан,[6] болып табылады түбегейлі кездейсоқ[7] және, негізінен, болжауға болмайды (кванттық болжамсыздықты эмпирикалық тексеруді талқылау үшін қараңыз) Қоңырау сынағының эксперименттері ). Сонымен, әлем жоғары температурада болғандықтан абсолютті нөл, әр жүйенің күйінде кездейсоқ ауытқулар болады; мысалы, ауаны құрайтын газдардың молекулалары бір-бірінен үнемі кездейсоқ серпіліп шығады (қараңыз статистикалық механика.) Бұл кездейсоқтық кванттық құбылыс болып табылады (қараңыз фонон ).
Кванттық-механикалық оқиғалардың нәтижесін тіпті принципті түрде болжауға болмайтындықтан, олар ‘алтын стандарт ’Кездейсоқ сандарды құру үшін. Кездейсоқ сандарды құру үшін қолданылатын кейбір кванттық құбылыстарға мыналар жатады:
- Атыс шу, электронды тізбектердегі кванттық механикалық шу көзі. Қарапайым мысал - фотодиодта жарқыраған шам. Байланысты белгісіздік принципі, келген фотондар тізбекте шу тудырады. Шуды пайдалану үшін жинау біраз қиындықтар тудырады, бірақ бұл кездейсоқ қарапайым шу көзі. Алайда, шуылдың энергиясы әрдайым қызығушылықтың өткізу қабілеттілігінде жақсы таратыла бермейді. Көлденең магнит өрісіндегі газ диоды мен тиратронды электрон түтіктері шудың едәуір энергиясын тудыруы мүмкін (10 вольт немесе одан да көп импеданс жүктемелерінде), бірақ энергияның таралуы өте жоғары және кең спектрде тегістікке жету үшін мұқият сүзуді қажет етеді.[8]
- A ядролық ыдырау а анықтаған сәулелену көзі Гейгер есептегіші компьютерге бекітілген.
- Фотондар арқылы жүру жартылай мөлдір айна. The өзара эксклюзивті іс-шаралар (шағылыстыру / жіберу) анықталды және сәйкесінше ‘0’ немесе ‘1’ биттік мәндермен байланысты.
- Күшейту а негізінде жасалған сигналдың керісінше транзистор. Эмитент электрондармен қаныққан, кейде олар солай болады туннель арқылы жолақ аралығы және база арқылы шығу. Бұл сигнал сол кезде күшейтілген тағы бірнеше арқылы транзисторлар және нәтиже а Шмитт триггері.
- Өздігінен параметрлік төмен түрлендіру дегенеративті жағдайда екілік фаза күйін таңдауға алып келеді оптикалық параметрлік осциллятор.[9]
- Тербелістер вакуумдық энергия арқылы өлшенеді гомодинді анықтау.[10][11][үшінші тарап көзі қажет ]
Классикалық кездейсоқ қасиеттер
Жылулық құбылыстарды анықтау оңайырақ. Олар жүйенің температурасын төмендету арқылы шабуылға әлсіз,[12] дегенмен, көптеген жүйелер шуды екі есе азайту үшін жеткілікті төмен температурада жұмысын тоқтатады (мысалы, ~ 150 К). Қолданылатын кейбір жылу құбылыстары:
- Жылулық шу а резистор, кездейсоқ кернеу көзін қамтамасыз ету үшін күшейтілген.[12]
- Қар көшкінінің шуылы жасалған қар көшкіні диоды, немесе Зенердің бұзылуы керісінше шуыл Зенер диод.
- Атмосфералық шу, компьютерге жалғанған радио қабылдағыш анықтаған (оның көп бөлігі, мысалы, найзағай шуы, дұрыс жылу шу емес, бірақ ретсіз құбылыс).
Кванттық эффекттер болмаса немесе жылу шуы болмаса, кездейсоқтыққа бейім басқа құбылыстар, физика заңдарымен оңай сипатталмаса да қолданыла алады. Осындай бірнеше көзді мұқият біріктіргенде (мысалы, Yarrow алгоритмі немесе Фортуна CSPRNG ), криптографиялық кілттерді құру үшін жеткілікті энтропияны жинауға болады nonces, әдетте, шектеулі мөлшерлемелер бойынша. Артықшылығы - бұл тәсіл, негізінен, арнайы жабдықты қажет етпейді. Кемшілігі - жеткілікті білімді шабуылдаушы бағдарламалық жасақтаманы немесе оның кірістерін жасырын түрде өзгерте алады, осылайша шығарылымның кездейсоқтығын айтарлықтай төмендетеді. Мұндай кездесулерде қолданылатын кездейсоқтықтың негізгі көзі - нақты уақыт үзілістер механикалық енгізу / шығару құрылғыларынан туындаған, мысалы, пернетақта және диск жетектері, әр түрлі жүйелік ақпарат есептегіштері және т.б.
Бұл соңғы тәсіл мұқият орындалуы керек, егер ол болмаса шабуылға ұшырауы мүмкін. Мысалы, Linux 2.6.10 ядросындағы генератордың алға қауіпсіздігі 2 арқылы бұзылуы мүмкін64 немесе 296 уақыттың күрделілігі.[13]
Сағат дрейфі
Өлшеу оңай болатын тағы бір айнымалы физикалық құбылыс - бұл сағаттық дрейф.Сағат дрейфін кездейсоқтықтың көзі ретінде өлшеудің және пайдаланудың бірнеше әдісі бар.
The Intel 82802 Firmware Hub (FWH) микросхемасында RNG аппараттық құралы бар[14] біреуі жылдам, екіншісі баяу жүретін екі еркін осцилляторды пайдалану. Баяу осциллятордың жиілігін модуляциялау үшін жылу шуының көзі (екі диодтың әдеттегі емес шуы) қолданылады, содан кейін жылдам осциллятордың өлшенуіне әкеледі. Осыдан кейін а фон Нейман декоративті қадамның түрі (төменде қараңыз). Бұл құрылғының шығу жылдамдығы 100000 бит / с-тан аз. Бұл чип 840 чипсет отбасының қосымша компоненті болып табылады, ол бұрынғы Intel шинасын қолдайды. Ол қазіргі заманғы компьютерлерге кірмейді.
Барлық V3 CIA 2003 жылдан бастап микропроцессорлар RNG аппараттық құрамын процессор чипіне енгізді. Термиялық шуды пайдаланудың орнына шикі биттер әр түрлі жылдамдықта жұмыс істеуге арналған төрт фреранерлі осциллятор көмегімен жасалады. Екеуінің шығысы үшінші осциллятордағы ығысуды басқару үшін XORed болып табылады, оның шығуы шикі разрядты шығару үшін төртінші осциллятордың шығуын сағаттарға қояды. Температураның, кремний сипаттамаларының және жергілікті электрлік жағдайлардың шамалы ауытқулары осциллятордың үздіксіз өзгеруін тудырады және осылайша шикі биттердің энтропиясын тудырады. Кездейсоқтықты одан әрі қамтамасыз ету үшін әр чипте әрқайсысы әртүрлі ортада орналасқан және кремнийде айналған екі осындай RNG бар. Соңғы шығу - бұл екі генератордың қоспасы. Шикі шығу жылдамдығы секундына ондаған-жүздеген мегабит, ал ақталған жылдамдық - секундына бірнеше мегабит. Пайдаланушы бағдарламалық жасақтамасы кездейсоқ биттік ағынға жаңа артықшылықсыз машиналық тіл нұсқауларының көмегімен қол жеткізе алады.
Қарапайым жабдықта байланысты идеяны бағдарламалық қамтамасыз ету CryptoLib-ке енгізілген,[15] криптографиялық күнделікті кітапхана. Алгоритм деп аталады шынайы. Қазіргі заманғы компьютерлердің көпшілігінде екі кристалды осциллятор бар, олардың бірі нақты уақыт үшін, екіншісі негізгі CPU үшін; truerand бұл фактіні пайдаланады. Мұнда нақты уақыт режимінде жұмыс істейтін дабылды орнататын операциялық жүйе қызметі қолданылады. Бір подпрограмма дабылды бір сағат белгісімен іске қосады (әдетте секундтың 1/60 бөлігі). Содан кейін екіншісі дабылдың іске қосылуын күткен уақыт циклына енеді. Дабыл әрдайым дәл бір белгіде бола бермейтіндіктен, циклды қайталау санының ең аз биттері, дабылды орнату мен оның триггері арасындағы кездейсоқтық өзгеріп отырады, мүмкін кейбір қолдану үшін жеткілікті. Truerand қосымша жабдықты қажет етпейді, бірақ көп мақсатты жүйеде басқа процестердің кездейсоқ емес кедергілерін болдырмау үшін өте мұқият болу керек (мысалы, санақ циклі процедурасын тоқтата тұру кезінде, операциялық жүйені жоспарлаушы әртүрлі процестерді бастайды және тоқтатады) ).
The RDRAND
opcode борттағы кездейсоқ сандар генераторының мәндерін қайтарады. Ол Intel-де бар Айви көпір 2015 жылдан бастап процессорлар және AMD64 процессорлары.[16]
Біржақтылықпен күресу
Мұндай жүйелерден шығатын ағын бейтараптылыққа бейім, 1 немесе 0 сандары басым болады.[дәйексөз қажет ] Біржақты және басқа артефактілермен жұмыс істеудің екі тәсілі бар. Біріншісі - генератордың жұмысына тән ауытқушылықты азайту үшін RNG жобалау. Мұны түзетудің бір әдісі генератордың ауытқуын реттеу үшін төменгі өткізгіштігі бар сүзгіден жасалған биттік ағынды қайтарады. Бойынша орталық шек теоремасы, кері байланыс циклы жақсы реттелетін болады 'барлық уақытта дерлік '. Ультра жоғары жылдамдықты кездейсоқ сандар генераторлары бұл әдісті жиі қолданады. Содан кейін де, қалыптасқан сандар әдетте біржақты болады.
Бағдарламалық жасақтаманы ағарту
Қате көзқараспен күресудің екінші тәсілі - оны генерациядан кейін азайту (бағдарламалық жасақтамада немесе жабдықта). Біртектілік пен корреляцияны төмендетудің бірнеше әдістері бар, оларды көбінесе «ағарту «корреляцияланған сигналдан ақ шу шығару проблемасына ұқсас алгоритмдер.
Джон фон Нейман қарапайым бейімділікті түзету және корреляцияны азайту үшін қарапайым алгоритм ойлап тапты. Ол үш әрекеттің бірін орындай отырып, бір уақытта екі битті қарастырады (қабаттаспайды): екі дәйекті бит тең болған кезде олар алынып тасталады; 1,0 тізбегі 1-ге айналады; және 0,1 тізбегі нөлге айналады. Бұл а құлау жиегі 1-мен, а-мен биіктік 0. Бұл қарапайым бейімділікті жояды және оны компьютерлік бағдарлама ретінде де, сандық логикада да оңай жүзеге асырады. Бұл әдіс биттер қалай пайда болғанына қарамастан жұмыс істейді. Алайда, бұл кездейсоқтыққа кепілдік бере алмайды. Ол не істей алады (жойылған биттердің көп мөлшерімен) - бұл бейтарап биттік ағынды бейтарапқа айналдыру.
Жақын кездейсоқ бит ағындарын жақсартудың тағы бір әдісі - эксклюзивті немесе биттің ағыны жоғары сапалы криптографиялық қауіпсіз псевдодан кездейсоқ генератор сияқты Blum Blum Shub немесе күшті ағын шифры. Бұл арзан бағамен декреляцияны және сандық бейімділікті жақсарта алады; оны FPGA сияқты аппараттық құралдар арқылы жасауға болады, бұл оны бағдарламалық жасақтамаға қарағанда жылдамырақ.
Жақын кездейсоқ бит ағынындағы бейімділікті төмендететін байланысты әдіс кездейсоқ бит ағындарының жанында екі немесе одан да көп байланыссыз алу болып табылады және эксклюзивті немесе оларды бірге. Бит ағынының 0 шығару ықтималдығы 1/2 + болсынe, мұндағы −1/2 ≤e ≤ 1/2. Содан кейін e бұл ағындық ағым. Егер екі байланыссыз бит ағындары болса e бірге эксклюзивті немесе өңделген, сонда нәтиженің бұрмалануы 2 боладыe2. Бұл көбірек бит ағындарымен қайталануы мүмкін ( Үйінді лемма ).
Кейбір құрылымдарда криптографиялық қолданылады хэш функциялары сияқты MD5, SHA-1, немесе RIPEMD-160 немесе тіпті а CRC биттік ағынның барлығына немесе бір бөлігіне жұмыс жасаңыз, содан кейін нәтижені кездейсоқ бит ағыны ретінде қолданыңыз. Бұл тартымды, ішінара салыстырмалы түрде жылдам болғандықтан.
Көптеген физикалық құбылыстарды биттерді құру үшін қолдануға болады, бірақ олардың әрқайсысы басқаларға тәуелді емес. Гейгер есептегіші (үлгінің уақыты түтікті қалпына келтіру уақытынан көп) немесе жартылай мөлдір айна фотон детекторы екеуі де бит ағындарын тудырады. көбінесе «0» (үнсіз немесе беріліс), кейде «1» -мен (шертіңіз немесе шағылыстырыңыз). Егер әр бит басқаларынан тәуелсіз болса, Фон Нейман стратегиясы сирек кездесетіндердің әрқайсысы үшін бір кездейсоқ, бейтарап бит шығарады. «биттер өте жоғары деңгейлі бит ағынында. Ақтау әдістері, мысалы, Advanced Multi-Level Strategy (AMLS)[17] осындай биттік ағыннан көбірек шығыс биттерін - дәл сондай кездейсоқ және объективті емес шығыс биттерін бөліп алуға болады.[18]
PRNG мезгіл-мезгіл жаңартылатын кездейсоқ кілтпен
Басқа дизайндарда шынайы кездейсоқ биттер деп саналатындар қолданылады кілт жоғары сапа үшін блоктық шифр алгоритм, кездейсоқ бит ағыны ретінде шифрланған шығынды қабылдайды. Сәйкесін таңдау үшін бұл жағдайларда мұқият болу керек блок режимі дегенмен. Кейбір іске асыруларда PRNG цифрлардың шектеулі саны үшін іске қосылады, ал жабдық шығаратын құрылғы жаңа тұқым шығарады.
Бақыланған оқиғаларды қолдану
Нақты кездейсоқ сандар генераторлары жоқ бағдарламалық жасақтама инженерлері көбінесе оларды бағдарламалық жасақтаманың қол жетімді физикалық оқиғаларын өлшеу арқылы дамытуға тырысады. Мысал ретінде пайдаланушының пернелерін басу арасындағы уақытты өлшеуге болады, содан кейін кездейсоқ цифр ретінде санаудың ең аз битін (немесе екі немесе үшеуін) аламыз. Ұқсас тәсіл тапсырмаларды жоспарлауды, желіге түсуді, дискіні іздеу уақыттарын және басқа ішкі оқиғаларды өлшейді. Бір Microsoft дизайны осындай ішкі мәндердің өте ұзақ тізімін, формасын қамтиды криптографиялық қауіпсіз псевдодан кездейсоқ генератор. Лава шамдары сияқты бақылауға алынатын физикалық құрылғылар ретінде қолданылған Лаваранд жүйе.
Бұл әдіс компьютермен басқарылатын оқиғаларды қолданған кезде қауіпті, өйткені ақылды, қаскүнем шабуылшы сыртқы оқиғаларды басқару арқылы криптографиялық кілтті болжай алады. Бұл сондай-ақ қауіпті, себебі болжанатын пайдаланушы жасаған оқиға (мысалы, пернелерді басу) болуы мүмкін жалған криптографияда қолданылатын «кездейсоқ шамаларды» басқаруға мүмкіндік беретін жеткілікті тапқыр шабуылдаушы.
Алайда, жеткілікті сақтықпен, қазіргі компьютерде қол жетімді кездейсоқтық көздерінен криптографиялық қауіпсіз кездейсоқ сандарды шығаратын жүйе жасалуы мүмкін. Негізгі дизайн - шабуылдаушыға белгісіз деп қабылданған кездейсоқ биттердің «энтропия пулын» сақтау. Қол жетімді болған кезде жаңа кездейсоқтық қосылады (мысалы, пайдаланушы кілт соққанда) және бассейндегі шабуылдаушыға белгісіз болатын биттер саны сақталады. Қолданылып отырған кейбір стратегияларға мыналар жатады:
- Кездейсоқ биттер сұралған кезде, энтропия пулынан алынған көптеген биттерді қайтарыңыз (криптографиялық хэш функциясы бойынша, айталық) және пулда қалған кездейсоқ биттердің санын азайтыңыз. Егер белгісіз биттер жеткіліксіз болса, жеткілікті болғанша күтіңіз. Бұл «» дизайнының жоғарғы деңгейі/ dev / random «құрылғысы Linux-та, жазылған Теодор Ц'о және көптеген басқа Unix тәрізді операциялық жүйелерде қолданылады. Бұл кездейсоқтықты енгізу жеткілікті мұқият болған кезде жоғары сапалы кездейсоқ сандарды ұсынады. Linux «/ dev / urandom» құрылғысы қарапайым модификация болып табылады, ол кездейсоқтықтың бағасын ескермейді, сондықтан жоғары энтропияға әкелуі мүмкін емес.
- А ағын шифры кілтпен және инициализация векторы (IV) энтропия пулынан алынған. Жеткілікті энтропия биттері жиналған кезде, кілт пен IV-ті жаңа кездейсоқ мәндерге ауыстырыңыз және бассейнде қалған болжалды энтропияны азайтыңыз. Бұл қолданылған тәсіл мыңжапырақ кітапхана. Ол кейбір шабуылдарға қарсы тұруды қамтамасыз етеді және қиын болатын энтропияны сақтайды.
(De) орталықтандырылған жүйелер
Кездейсоқ сандардың шынайы генераторы (де) орталық қызмет бола алады. Кездейсоқ санды алуға болатын орталықтандырылған жүйенің бір мысалы болып табылады кездейсоқ маяк қызметі бастап Ұлттық стандарттар және технологиялар институты. Cardano платформасы орталықтандырылмаған қатысушыларды қолданады ставка кездейсоқ сандарды құруға арналған хаттама.[19]
Мәселелер
Кездейсоқ сандарды шығаруға тырысатын аппараттық немесе бағдарламалық жасақтаманы дұрыс құрастырмау өте оңай. Сондай-ақ, көбісі үндемей «бұзылады», көбінесе олардың саны азаятын кездейсоқ сандарды шығарады. Физикалық мысал, егер осы көз тікелей қолданылған болса, жоғарыда аталған түтін детекторларының тез төмендейтін радиоактивтілігі болуы мүмкін. Мұндай құрылғылардағы ақаулық режимдері өте көп және оларды анықтау қиын, баяу және қиын. Энтропияның бірнеше көздерін біріктіретін әдістер анағұрлым сенімді.
Көптеген энтропия көздері жиі нәзік болғандықтан және үнсіз жұмыс істемейтіндіктен, олардың нәтижелері бойынша статистикалық тексерулер үздіксіз жүргізілуі керек. Мұндай құрылғылардың көпшілігі, бірақ барлығы емес, құрылғыны оқитын бағдарламалық жасақтамаға осындай сынақтар кіреді.
Шабуылдар
Криптографиялық жүйенің басқа компоненттері сияқты, кездейсоқ сандардың генераторы да қарсы тұру үшін жасалуы керек белгілі бір шабуылдар. Бұл шабуылдардан қорғаныс аппараттық энтропия көзінсіз қиын.
Энтропияны бағалау
Бағалаудың математикалық әдістері бар энтропия таңбалар тізбегінің Олардың ешқайсысы соншалықты сенімді емес, олардың бағалауына толық сенуге болады; растау өте қиын болатын әрдайым болжамдар бар. Бұлар мысалы, тұқым бассейнінде энтропияның жеткілікті екендігін анықтауға пайдалы, бірақ олар жалпы кездейсоқ көз бен жалған кездейсоқ генераторды ажырата алмайды. Бұл мәселені аппараттық энтропия көздерін консервативті қолдану арқылы болдырмауға болады.
Өнімділік тесті
Аппараттық кездейсоқ сандар генераторларының дұрыс жұмыс істеуі үшін үнемі бақылауда болу керек. RFC 4086, FIPS Pub 140-2 және NIST Арнайы жарияланым 800-90б[20] ол үшін қолдануға болатын тестілерді қосыңыз. Жаңа Зеландия криптографиялық бағдарламалық жасақтамасының құжаттамасын қараңыз криптлиб.
Көптеген практикалық жобалар кіріс ретінде аппараттық көзге сүйенгендіктен, көздің әлі де жұмыс істеп тұрғанын тексеру пайдалы болады. Статистикалық сынақтар шу көзінің істен шығуын жиі анықтай алады, мысалы, радиостанция бос деп есептелетін каналда таратқыш сияқты. Шу генераторының шығуын «ағартқыштан» өткізбес бұрын сынақтан өткізу үшін сынама алу керек. Кейбір ағартқыштар кездейсоқ кіріссіз статистикалық сынақтардан өте алады. Мінсіздіктен үлкен ауытқуды анықтаған кезде, шынайы кездейсоқ шу көзі азая бастағанының белгісі болар еді, ал кішігірім ауытқулар қалыпты жағдай болып табылады және дұрыс жұмыс істеуі мүмкін. Басқа параметрлермен (мысалы, ішкі температура, шинаның кернеуі) генератордың құрылымына кірістердегі ығысудың өзара байланысы қосымша тексеру ретінде пайдалы болуы мүмкін. Өкінішке орай, қазіргі уақытта қол жетімді (және болжанған) тесттерде мұндай тізілімдердің шығу тізбектерінің кездейсоқ екеніне сенімді болу жеткіліксіз. Мұқият таңдалған конструкция, жасалынған құрылғының бұзушылықтан сақтандыру үшін жүйені және үздіксіз физикалық қауіпсіздікті жүзеге асыратындығын тексеру, жоғары мәнді пайдалану үшін тестілеуден басқа қажет болуы мүмкін.
Сондай-ақ қараңыз
- AN / CYZ-9
- Қоңырау сынағының эксперименттері
- / dev / random
- ERNIE
- Кездейсоқ сандар генераторларының тізімі
- Лотерея машинасы
- Кездейсоқтық шығарғыш
- RDRAND
- Сенімді платформа модулі
Әдебиеттер тізімі
- ^ Галтон, Фрэнсис (1890). «Статистикалық эксперименттерге арналған сүйек» (PDF). Табиғат. 42 (1070): 13–14. Бибкод:1890ж. Табиғат ... 42 ... 13G. дои:10.1038 / 042013a0. Алынған 14 мамыр 2014.
- ^ P-113, Құжаттар, Rand корпорациясы.
- ^ Кобин, Карри (1947), «Электр генераторлары», І.Р. (Қыркүйек 1947): 875–9
- ^ Монография есебі, Rand корпорациясы.
- ^ Шнайер, Брюс (1995-11-01). «Басқа ағындық шифрлар және нақты кездейсоқ генераторлар». Қолданбалы криптография (Екінші басылым). John Wiley & Sons, Inc. б. 423. ISBN 978-0-471-11709-4.
- ^ «Әрбір ядро кездейсоқ, кездейсоқ кездейсоқ жұмыс істеуге сәйкес өздігінен ыдырайды». Кванттық Q, Джон Гриббин
- ^ Анантасвами, Анил. «Кванттық компьютерді қалай кездейсоқ генераторға айналдыруға болады». Quanta журналы. Алынған 2019-06-22.
- ^ 6D4 электронды түтікке сілтеме, Сильвания.
- ^ Маранди, А .; Лейндеккер; Водопьянов К. R. L. Byer (2012). «Параметрлік осцилляторлардың ішкі екілік фазасынан барлық оптикалық кванттық кездейсоқ генерация». Бас тарту Экспресс. 20 (17): 19322–19330. arXiv:1206.0815. Бибкод:2012OExpr..2019322M. CiteSeerX 10.1.1.758.4608. дои:10.1364 / OE.20.019322. PMID 23038574.
- ^ Лейх, Герд; Маркварт, Кристоф; Андерсен, Улрик Л .; Мауэрер, Вольфганг; Донг, Руифанг; Сыч, Денис; Виттман, Христофер; Габриэль, Христиан (2010). «Вакуумдық күйлерге негізделген бірегей кванттық кездейсоқ сандардың генераторы». Табиғат фотоникасы. 4 (10): 711–715. дои:10.1038 / nphoton.2010.197. ISSN 1749-4893.
- ^ Симул Т .; С.М.Асад; P. K. Lam (2011). «Когерентті лазер сәулесімен кездейсоқ санды генерациялаудың жоғары жылдамдықты кванттық жылдамдығын көрсету». Қолдану. Физ. Летт. 98 (23): 231103. arXiv:1107.4438. Бибкод:2011ApPhL..98w1103S. дои:10.1063/1.3597793.
- ^ а б Роджер Р. Дюб (2008). «Аппараттық кілттер генерациясы». Компьютерлік қауіпсіздік техникасы, хакерлерді жеңудің әдістері: биометрикадан кванттық криптографияға дейін. Джон Вили және ұлдары. 47-50 беттер. ISBN 978-0-470-42547-3.
Жылу шуының бастауы кванттық механикалық процессте болмайды
- ^ Linux кездейсоқ сандар генераторын талдау (PDF), IACR
- ^ Intel корпорациясы Intel® 810 чипсет дизайнына арналған нұсқаулық, 1999 ж. Маусым Ч. 1.3.5, б. 1-10.
- ^ Лэйси, Джон Б .; Дональд П. Митчелл; Уильям М.Шелл (1993). «CryptoLib: бағдарламалық жасақтамадағы криптография» (PDF). Proc. 4-ші USENIX қауіпсіздік симптомы.: 1-17. Архивтелген түпнұсқа (PDF) 2017-06-29.
- ^ «AMD64 сәулет бағдарламашысының нұсқаулығы 3-том: жалпы мақсаттағы және жүйелік нұсқаулық» (PDF). AMD әзірлеушілерінің нұсқаулықтары, нұсқаулықтары және ISA құжаттары. Маусым 2015. Алынған 16 қазан 2015.
- ^ Перес, Юваль (наурыз 1992 ж.), «Фон Нейманның кездейсоқ биттерді бөліп алу процедурасын қайталау», Статистика жылнамалары, 20 (1): 590–97, дои:10.1214 / aos / 1176348543.
- ^ Кроули, Пол, Гейгер есептегіштерінен кездейсоқ екілік деректерді құру, Гип-шифр.
- ^ «Кеңейтілген кездейсоқтыққа арналған шешім». iohk.io. 6 маусым, 2017. Алынған 14 қыркүйек, 2020.
- ^ Элейн Баркер және Джон Келси, Кездейсоқ бит жасау үшін қолданылатын энтропия көздеріне ұсыныс, NIST SP 800-90b
Жалпы сілтемелер
- Браун, Джордж В (маусым 1949), Рэндтің миллион цифрларының тарихы, құжаттар, RAND корпорациясы.
- Браун, Бернис (қазан 1948), Миллион сандардың кездейсоқтығының кейбір сынағы, Құжаттар, RAND корпорациясы.
- «6D4 типті түтік», Электрондық түтік туралы анықтамалық, Сильвания, 1957 ж.
- 100000 қалыпты ауытқуы бар миллион кездейсоқ цифрлар, RAND корпорациясы.
- Галтон, Фрэнсис (1890), «Статистикалық эксперименттерге арналған сүйек», Табиғат, 42 (1070): 13–4, Бибкод:1890ж. Табиғат ... 42 ... 13G, дои:10.1038 / 042013a0.
- Өзін-өзі тексеру функциялары бар кездейсоқтық және нақты кездейсоқ генератор (PDF), Жапония: LE Tech RNG.
Сыртқы сілтемелер
- Қауіпсіздікке арналған кездейсоқтық ұсыныстары бойынша RFC 4086 (бұрынғы RFC 1750-нің орнын басады), IETF.
- Intel кездейсоқ сандар генераторы (PDF), Intel.
- Энтропия кілті, Simtec,
шу тудыруы үшін бұзылуға жақындату үшін, бірақ одан тыс емес жерде кернеуі жеткілікті жоғары кернеумен жартылай өткізгішті қосылыстарды пайдаланады
. - Кездейсоқ сандарды жүктеп алыңыз, рандомсервер,
TRNG9803 аппараттық кездейсоқ сандар генераторын қолданады
. - ProtegoST SG100, ProtegoST, «Зенерлік диодтың кванттық физикасына негізделген кездейсоқ сандар көзі».