1. Introducere și motivație

Contextul: aleatorismul în criptografie

Securitatea aproape oricărui sistem criptografic depinde de calitatea generatoarelor de numere (pseudo)aleatoare. Cheile secrete, vectorii de inițializare, nonce-urile și parametrii efemeri trebuie să fie impredictibili: dacă un atacator poate ghici sau reconstrui ieșirea generatorului, întreaga construcție criptografică se prăbușește, indiferent cât de robust este cifrul de deasupra.

De aceea generatoarele (RNG / PRNG) sunt supuse unor baterii de teste statistice. Aceste teste nu pot demonstra că o secvență este aleatoare, dar pot respinge ipoteza de aleatorism când secvența prezintă regularități măsurabile. Suita NIST SP 800-22 este referința standard: 15 teste, fiecare sensibil la un alt tip de abatere.

Ce măsoară testul spectral

Testul Transformatei Fourier Discrete (testul spectral, secțiunea 2.6) mută secvența în domeniul frecvenței:

  • o secvență cu adevărat aleatoare are un spectru aproximativ plat (zgomot alb): nicio frecvență nu domină;
  • o secvență cu o componentă periodică concentrează energie la anumite frecvențe, producând vârfuri înalte în spectru.

Testul numără câte vârfuri spectrale depășesc un prag corespunzător nivelului de 95% și compară cu valoarea așteptată sub ipoteza de aleatorism. Poți vedea direct acest efect în runner și în galeria de figuri.

De ce acest test

Este conceptual atrăgător (leagă prelucrarea semnalelor de criptografie) și, totodată, cel mai contestat test din suită: literatura semnalează erori în fundamentarea sa teoretică și în implementarea de referință, iar chiar exemplul numeric din documentația oficială este inconsistent cu propriul cod de referință (vezi controversele). Asta îl face ideal pentru un studiu critic: nu reproducem o rețetă, o verificăm.

Structura

Capitolul 2 prezintă fundamentarea matematică, capitolul 3 arhitectura implementării, capitolul 4 validarea și simulările, iar capitolul 5 avantajele, limitările și controversele.