SparkSome Venture

> SYSTEM_ROOT

BIG_BANG_ENTROPY

MODUŁ GENERATORY

Skórka
Język
OPIS TECHNICZNY OPEN SOURCE

> ARTYKUŁ_TECHNICZNY

Generator prawdziwej losowości z fizycznego szumu SDR

System Big Bang Entropy przekształca zjawiska fizyczne zachodzące w świecie rzeczywistym w binarne strumienie o wysokiej entropii Shannon. Poznaj metodologię próbkowania, kondycjonowanie kryptograficzne i procedury testów statystycznych.

1. Fizyczna natura szumu i próbkowanie SDR

Większość liczb losowych generowanych w komputerach opiera się na algorytmach matematycznych (PRNG). Fizyczne źródła entropii (TRNG) mierzą natomiast niedeterministyczne zjawiska naturalne. Odbiorniki Software Defined Radio próbkują pasma radiowe z minimalną liczbą sztucznych emisji, rejestrując promieniowanie tła, szum termiczny diod i szum kwantowy odbiornika.

Węzły Big Bang Entropy analizują gęstość widmową mocy sygnału w trybie I/Q i wyciągają mikro-wahania z najmniej znaczących bitów (LSB) przetwornika analogowo-cyfrowego (ADC).

2. Kryptograficzne wybielanie (SHA-512)

Surowy szum radiowy może zawierać niewielkie odchylenia statystyczne wynikające z charakterystyki sprzętu lub temperatury otoczenia. Aby uzyskać bardziej płaski rozkład prawdopodobieństwa, surowe bajty są przetwarzane funkcją SHA-512 i mieszaniem w stylu von Neumanna.

EntropyPool = SHA-512(Raw_SDR_Samples || Timestamp || Counter)

3. Testy jakości: Dieharder, ENT i rngtest

Każdy wygenerowany blok entropii jest automatycznie sprawdzany zestawem rygorystycznych testów statystycznych: testem monobitowym, testem serii, autokorelacją i balansem 0/1 zgodnie z FIPS 140-2 oraz pakietem Dieharder.

Zobacz aktualne raporty statystyczne ->

4. Jak mieszać entropię z systemowym CSPRNG

Dobrą praktyką kryptograficzną jest zasilanie lokalnej puli `/dev/urandom` zewnętrznymi bajtami entropii:

curl -s "https://entropy.sparksome.pl/raw?bytes=512" > /dev/urandom