# Generador de nombres aleatoris per maquinari

En informàtica, un generador de nombres aleatoris de maquinari (HRNG), un generador de números aleatoris veritables (TRNG), un generador de bits aleatoris no deterministes (NRBG), o un generador de números aleatoris físics és un dispositiu que genera aleatoris. nombres d'un procés físic capaç de produir entropia (és a dir, el dispositiu sempre té accés a una font d'entropia física), a diferència del generador de nombres pseudoaleatoris (PRNG, també conegut com "generador de bits aleatoris deterministes", DRBG) que utilitza un algorisme determinista i generadors de bits aleatoris no físics no deterministes que no inclouen maquinari dedicat a la generació d'entropia.
La natura ofereix amplis fenòmens que generen senyals de " soroll " de baix nivell i estadísticament aleatoris, com ara soroll tèrmic i de tir, fluctuació i metaestabilitat dels circuits electrònics, moviment brownià, soroll atmosfèric. Els investigadors també van utilitzar l'efecte fotoelèctric, que implicava un divisor de feix, altres fenòmens quàntics, i fins i tot la desintegració nuclear (a causa de consideracions pràctiques, aquesta última, així com el soroll atmosfèric, no és viable). Tot i que els fenòmens "clàssics" (no quàntics) no són realment aleatoris, un sistema físic impredictible sol ser acceptable com a font d'aleatorietat, de manera que els qualificadors "vertader" i "físic" s'utilitzen indistintament.
S'espera que un generador de números aleatoris de maquinari produeixi nombres aleatoris gairebé perfectes (" entropia completa "). Un procés físic normalment no té aquesta propietat, i un TRNG pràctic normalment inclou pocs blocs:
* una font de soroll que implementa el procés físic que produeix l'entropia. Normalment aquest procés és analògic, de manera que s'utilitza un digitalitzador per convertir la sortida de la font analògica en una representació binària;
* un condicionador (extractor d'atzar) que millora la qualitat dels bits aleatoris;
* proves de salut. Els TRNG s'utilitzen principalment en algorismes criptogràfics que es trenquen completament si els números aleatoris tenen una entropia baixa, de manera que la funcionalitat de prova s'acostuma a incloure.
Els generadors de nombres aleatoris de maquinari generalment produeixen només un nombre limitat de bits aleatoris per segon. Per augmentar la velocitat de dades de sortida disponible, sovint s'utilitzen per generar la " llavor " per a un PRNG més ràpid. DRBG també ajuda amb la "anonimització" de la font de soroll (blanquejant les característiques d'identificació de la font de soroll) i l'extracció d'entropia. Amb un algorisme DRBG seleccionat (generador de números pseudoaleatoris criptogràficament segur, CSPRNG), la combinació pot satisfer els requisits dels estàndards de processament de la informació federal i els estàndards de criteris comuns.

## Usos

Els generadors aleatoris de maquinari es poden utilitzar en qualsevol aplicació que necessiti aleatorietat. No obstant això, en moltes aplicacions científiques, el cost i la complexitat addicionals d'un TRNG (en comparació amb els generadors de nombres pseudo aleatoris) no proporcionen cap benefici significatiu. Els TRNG tenen inconvenients addicionals per a la ciència de dades i les aplicacions estadístiques: la impossibilitat de tornar a executar una sèrie de números tret que s'emmagatzemen, la dependència d'una entitat física analògica pot enfosquir la fallada de la font. Per tant, els TRNG s'utilitzen principalment en aplicacions on la seva impredictibilitat i la impossibilitat de tornar a executar la seqüència de números són crucials per a l'èxit de la implementació: en criptografia i màquines d'apostes.

### Criptografia

L'ús principal dels generadors de nombres aleatoris de maquinari és en el camp del xifratge de dades, per exemple, per crear claus criptogràfiques aleatòries i noces necessàries per xifrar i signar dades. A més de l'aleatorietat, hi ha almenys dos requisits addicionals imposats per les aplicacions criptogràfiques:
* el secret directe garanteix que el coneixement de la sortida passada i l'estat intern del dispositiu no ha de permetre a l'atacant predir dades futures;
* El secret endarrerit protegeix la "direcció oposada": el coneixement de la sortida i l'estat intern en el futur no hauria de divulgar les dades anteriors.
Una manera típica de complir aquests requisits és utilitzar un TRNG per sembrar un generador de números pseudoaleatoris segur criptogràficament.

## Referències

* ↑ Turan et al., 2018, p. 64.
* ↑ «A hardware RNG we could trust - BitBabbler» (en anglès). Arxivat de l'original el 2023-12-07. [Consulta: 7 desembre 2023].
* ↑ «OneRNG - Hardware Random Number Generator» (en anglès). [Consulta: 7 desembre 2023].
* ↑ Hoffman, Chris. «How Computers Generate Random Numbers» (en anglès), 26-04-2017. [Consulta: 7 desembre 2023].
* ↑ «An Overview of Hardware based True Random Number Generators (TRNGs) :: RBridge by Inlab Networks» (en anglès). Arxivat de l'original el 2023-12-07. [Consulta: 7 desembre 2023].