To co se tu prezentuje jako D klopak je co ja vim latch.
Doufal jsem, ze bude vysvetlen pinnacle vsi geniality - zavedeni hranove citlivosti v logice. Dela se to tak, ze se zacne multiplexerem a tomu se da zpetna vazba. Tim vznikne latch. Pak se daji 2 takove kramy za sebe s invertovanymi hodinami a vznikne klopak D, ktery reaguje na hranu, ac je sestaven z veci, ktere na hranu nereagujou.
Pravda je, ze jsem to mohl jeste vice rozvest, ale nechtelo se mi timto tematem "ztratit" dva dily. Ale kdyz jsme u toho, tak se te zeptam jako cloveka v techto vecech kovaneho. Kdysi davno jsme jeste v elektrokrouzku delali znamou tehdy dost popularni hru "ano"-"ne". V podstate se jednalo o 7400, tlacitko, dve LEDky a par odporu. Byl z toho sestaveny klopny obvod RS na jehoz primy a negovany vystup byly LEDky zapojeny.
Kdyz bylo pustene tlacitko, tak obvod prekmitaval a svitily obe LEDky, po stlaceni zustala zapnuta jen jedna podle toho, ve kterem stavu se prave RS nachazel - to je vlastne vysledek "elektronickeho hodu minci".
Trosku jsme tehdy dumali nad tim, jestli se napriklad trosku odlisne parametry jednotlivych NANDu mohou podilet na tom, ze vysledek nebude uplne nahodny. Osobne mam pocit, ze treba rozdilne zpozdeni by na vysledek vliv mit nemelo - proste se treba dele zpozdi jak stav I tak i 0. Ale urcite to zcela nahodne nebude, to by se prece kvuli tomu nedelaly slozite obvody na bazi sledovani nejakych atomickych procesu (tusim tepelny sum?), ale pouzil by se kmitajici RS jehoz vystup by sel do posuvneho registru. Tak jednoduche to ale nebude ze?
To byl asi nejaky oscilator. Ten obecne nebude kmitat se stridou presne 50% kvuli tolerancim soucastek takze to uz tak dokonale nahodne nebude.
Jak v tom neni schmitt, tak jsou tyhle oscilatory podle me nespolehlive. Napr. se muzou rozkmitat na sto MHz nebo tak neco (dejte do googlu nervous neurons) nebo se nerozkmitaj vubec - jednou jsem takove "zarucene zapojeni z Amara" stavel a nechodilo.
Chce-li clovek solidni oscilator, musi pouzit napr. 74HC14 s RC lowpass vazbu a na vystup delicku 2 a to necim samplovat.
Pro kazdy oscilator a prubeh nahodneho sumu z principu musi existovat pocatecni pozice, kdy kmitat nebude. Ale ta pravdepodobnost je u schmittu tak neuveritelne mala...
Ale stejne to neni nahodne. Je to deterministicke tim kdy se tlacitko zmackne/pusti. S tepelnym sumem to nema spolecneho temer vubec nic. Ten se mozna spoluucastni na pocatecni fazi oscilatoru. Ale spis ji urcuje asi sum na napajeni.
Kdo chce nahodne bity, musi pouzit vystrelovy sum PN prechodu
(ne tepelny - da se predikovat z poloh molekul v odporu, to neni kryptograficky secure!), dokonalou filtraci napajeni a radiovych interferenci zvenku a jeste to manglovat nejakou hashovaci funkci jak se to dela v kernelu (bleaching nebo whitening se tomu rika).
Neda se pouzit ani nahodny generator z procesoru Intel, protoze to je untrusted binary, nikdo nevi, jestli v tom neni backdoor, ze kdyz se na sbernici objevi nejaky klicovy kod (z ping paketu treba) tak ze se generator neprepne do rezimu neodhalitelne kvalitnich, ale Intelem dobre predikovatelnych pseudonahodnych dat.
Nestacilo by ani, kdyby Intel publikoval zdrojaky procesoru. To by totiz mohl vyrabet procesory podle jinych zdrojaku. To by se musel kazdy procesor nejak mikroskopicky zrentgenovat a overit ze tem zdrojakum opravdu presne odpovida. Jestli to vubec jde.
Jedina moznost jak mit opravdu nahodny generator je vzit trafopajku, pocinovany plech, tranzistory odpory a kondenzatory.