La PUF mide la frecuencia del oscilador, que depende de cómo se organizaron los átomos durante la fabricación del dispositivo. El RNG utiliza la aleatoriedad de la frecuencia y la fase del oscilador en períodos de tiempo cortos.
De dónde viene la aleatoriedad
Cualquier dispositivo de temporización (péndulo, resonador de cuarzo, oscilador RC, etc.) tiene algún "ruido" o "jitter" inherente, tal como lo conocen los diseñadores. Si construimos un oscilador cuya salida es un flujo de pulsos, el tiempo entre pulsos no es perfectamente consistente. Este ruido tiene propiedades y comportamiento similares a los tipos de ruido más familiares y es igual de aleatorio.
EnunosciladorenanilloTRNG,lafasedecadaosciladorrelativaalrelojdemuestrasedesplazaconeltiempo.Lamayorpartedeladerivasedebealadiferenciaentreelosciladorylasfrecuenciasdemuestreo,peroalgunassoncausadasporjitter.
Enotraspalabras,imagineunosciladordeanilloúnicoconunaentradadehabilitación.SeenciendeyluegosemuestreadespuésdealgúntiempoT
.Cadaperiododura(1/f)+jitter
.Despuésdeunlargotiempo,seagregaungrannúmerodevaloresdejitteralafase.Lasalidapodríaser1o0conigualprobabilidad.Desafortunadamente,paraeljittergaussiano,losvaloresdeN
jitterjuntossolotienenunN^0.5
dedesviaciónestándarmásamplia.
LosRNGcapturandemaneraeficientelaaleatoriedad
Esteesquemaesineficiente,yaquerequieremuchasmuestrasdejitterporbit.Ladistribucióndefasedebesertanampliaqueseacasiuniforme.ElmuestreodelasalidadelososciladoresenanilloN
XORedjuntospermitelaproduccióndemásbitsaleatoriosqueelmuestreodelosmismososciladoresenanillodelN
enF/N
.Existeunanálisisestadísticoquemuestraporqué,perosepuedeentenderdeformaintuitivaconsiderandolacantidaddeoportunidadesquetienenlosvaloresdefluctuaciónparamoverlafasedeunosciladorsololosuficientecomoparaprovocaruncambiodeposición.Elsobremuestreoproducemuchosbitsensumayoríacorrelacionadosporoscilador.Xoringloscombinaparacrearunflujodesalidablanqueado.
LosPUFreducenelimpactodelaaleatoriedad
LosPUFestándiseñadosparareducirelefectodelasfuentesderuidoaleatoriasensusresultados.UnPUFidealdependesolodelaformaenquelosátomosaterrizarondurantelafabricacióndeldispositivo.EldiseñoPUFquehamostradonoestá"prediciendo" el valor de salida del oscilador en anillo en algún momento T
. Cuenta los pulsos de salida. La salida es aproximadamente: "Is the frequency of the first selected ring oscillator higher than that of the second selected ring oscillator?"
. Para tiempos de ejecución razonablemente largos, esto no se ve afectado significativamente por los valores de jitter. Los efectos de jitter se escalan con la potencia 0.5, mientras que el número de conteos aumenta linealmente. Los tiempos de ejecución más largos convergen hacia una comparación de frecuencia perfecta. Para osciladores con frecuencias muy cercanas, el jitter puede jugar un papel importante en el resultado. Es por esto que algunos valores de desafío de PUF pueden no tener una respuesta definitiva 1
o 0
en un dispositivo determinado.