Il PUF misura la frequenza dell'oscillatore, che dipende da come gli atomi sono stati disposti durante la fabbricazione del dispositivo. L'RNG usa la casualità della frequenza dell'oscillatore e la fase su brevi periodi di tempo.
Dove proviene la casualità
Qualsiasi dispositivo di cronometraggio (pendolo, risuonatore al quarzo, oscillatore RC ecc.) ha un "rumore" o "jitter" intrinseco come è noto ai progettisti. Se costruiamo un oscillatore la cui uscita è un flusso di impulsi, il tempo dell'inter-impulso non è perfettamente coerente. Questo rumore ha proprietà e comportamenti simili ai tipi più familiari di rumore ed è altrettanto casuale.
InunoscillatoreadanelloTRNGognifasedell'oscillatorerispettoall'orologiodicampionamentosispostaneltempo.Lamaggiorpartedelladerivaèdovutaalladifferenzatral'oscillatoreelefrequenzedicampionamento,maalcunisonocausatidaljitter.
Inaltreparole,immaginaunsingolooscillatoreadanelloconuningressodiabilitazione.Vieneattivato,quindicampionatodopounpo'ditempoT
.Ogniperiododura(1/f)+jitter
.Dopounlungoperiodo,allafasevieneaggiuntounnumeroelevatodivaloridijitter.L'outputpotrebbeessere1o0conugualeprobabilità.Sfortunatamente,periljitterGaussiano,ivaloridiN
jitterhannosolounaN^0.5
dideviazionestandardpiùampia.
GliRNGcatturanoinmodoefficientelacasualità
Questoschemaèinefficienteerichiedemolticampionidijitterperbit.Ladistribuzionedellefasideveesserecosìampiadaesserequasiuniforme.Campionamentodell'outputdiN
dioscillatoriadanelloXORedinsiemeconsentelaproduzionedipiùbitcasualirispettoalcampionamentodeglistessiN
deglioscillatoriadanelloinF/N
.C'èqualcheanalisistatisticachemostraperché,mapuòessereintesainmodointuitivoconsiderandoilnumerodiopportunitàcheivaloridijitterdevonospostarelafasediunoscillatorequeltantochebastaperprovocareunpo'diribaltamento.L'oversamplingproducemoltibitperoscillatoreperlopiùcorrelati.Xoringlicombinapercreareunflussodioutputsbiancato.
LePUFriduconol'impattodellacasualità
LePUFsonoprogettateperridurrel'effettodellefontidirumorecasualisuilororisultati.UnaPUFidealedipendesolodalmodoincuigliatomisonoatterratidurantelafabbricazionedeldispositivo.IldesignPUFchehaimostratonon"predice" il valore di uscita dell'oscillatore ad anello in un tempo pari a T
. Conta gli impulsi di uscita. L'output è approssimativamente: "Is the frequency of the first selected ring oscillator higher than that of the second selected ring oscillator?"
. Per tempi ragionevolmente lunghi questo non è influenzato in modo significativo dai valori di jitter. Il jitter effettua la scala con la potenza 0.5 e il numero di conteggi aumenta linearmente. I tempi di esecuzione più lunghi convergono verso un confronto di frequenze perfetto. Per gli oscillatori con frequenze molto vicine, il jitter può giocare un ruolo importante nel risultato. Questo è il motivo per cui alcuni valori di difficoltà PUF potrebbero non avere una risposta definitiva 1
o 0
su un dato dispositivo.