True Random Number Generator získává náhodnost z fyzického zdroje, nikoli pouze rozvíjením uloženého stavu. Šumový zdroj, jeho vzorkování, úprava dat a aplikační rozhraní jsou odlišné části. Samotný hardwarový původ nezaručuje rovnoměrné ani nezávislé výstupní bity.
NIST SP 800-90B hodnotí zdroj entropie tvořený šumovým zdrojem, případnou úpravou a zdravotními testy. Posuzuje se doložená nejistota ve vzorcích, nikoli jen počet vyrobených bajtů. Pojmenování fyzického jevu samo tento odhad neposkytuje. [NIST SP 800-90B — Entropy sources, conditioning and health tests]
Conditioning může omezit zkreslení a soustředit dostupnou entropii do kratšího výstupu. NIST SP 800-90B přitom omezuje deklarovanou výstupní entropii podle vstupu a použitého mechanismu. Náhodně vypadající hash sám nedokazuje nepředvídatelnost původních vzorků. [NIST SP 800-90B — Entropy sources, conditioning and health tests]
Repetition Count Test a Adaptive Proportion Test v NIST SP 800-90B sledují opakování a neobvyklé četnosti vzorků. Nejde o univerzální důkaz bezpečnosti. Při zjištěné trvalé poruše zdroj nesmí pokračovat ve vydávání výstupů jako obvykle. [NIST SP 800-90B — Entropy sources, conditioning and health tests]
NIST SP 800-90B spojuje hodnocení s technickými a provozními podmínkami konkrétního zdroje. Restartové testy doplňují dlouhý souvislý záznam. Úspěch jednoho zachyceného vzorku nelze automaticky rozšířit na všechny kusy zařízení, prostředí či změny firmwaru. [NIST SP 800-90B — Entropy sources, conditioning and health tests]
Intel v popisu svého DRNG rozlišuje RDRAND, který čte výstup deterministického generátoru, a RDSEED, který poskytuje hodnoty z úpravy entropie pro inicializaci. Hardwarová instrukce proto nemusí znamenat přímé čtení neupraveného fyzického šumu. [Intel DRNG guide — RDRAND, RDSEED and CF]
Intel u RDRAND i RDSEED vyžaduje kontrolu CF: 1 označuje dostupný výsledek, 0 jeho nedostupnost. Číselná nula v cílovém registru sama není kontrolou úspěchu. Podpora instrukce a úspěch jednotlivého volání jsou dvě různé věci. [Intel DRNG guide — RDRAND, RDSEED and CF]
Dokumentace Linux hw_random upozorňuje, že data z /dev/hwrng nejsou tímto znakovým rozhraním ověřena testy kvality a vadný hardware může vracet nesmyslné údaje. Čtení zařízení proto samo neprokazuje kvalitu entropie ani bezpečnou integraci v aplikaci. [Linux kernel — Hardware random number generator interface]
NIST SP 800-90C skládá zdroje entropie s mechanismy generování do celých konstrukcí. U peněženky je proto nutné doložit konkrétní součást, verzi, testy, chybové stavy a další zpracování. Certifikace zdroje sama není posouzením celé peněženky ani ochranou pozdější zálohy. [NIST SP 800-90C — Complete RBG constructions]
Pro nejúplnější obraz čtěte toto heslo společně s Cryptographic Entropy, Random Number Generator, CSPRNG, Entropy Mixing. Opačným směrem na něj odkazují také Entropy Mixing.