Puncte:0

Care ar fi beneficiile unui PRNG rapid care produce o ieșire de 8 biți și ar putea trece 1 Peta Byte al testului PractRand?

drapel cn

Presupunând că toate celelalte elemente precum starea internă a algoritmului sunt considerate securizate și foarte greu de descoperit din punct de vedere criptoanalitic.

Cât de semnificativ ar fi ca algoritmul să poată trece PractRand cu specificațiile menționate?

fgrieu avatar
drapel ng
Este trivial să faci un PRNG care scuipă octeți, care ar putea trece de 1 Peta Byte al testului PractRand și care stare internă completă este imposibil de descoperit din punct de vedere computațional, dar este nesigur în scopuri criptografice. Trageți propria concluzie cu privire la ceea ce este cerut.
Tunnel_Vision avatar
drapel cn
Multumim pentru feedback-ul dvs! Ce alt test statistic ar trebui să treacă? De exemplu: NBT (Next Bit Test) este suficient?
poncho avatar
drapel my
„Ce alt test statistic ar trebui să treacă?” - toate, inclusiv testele concepute având în vedere designul algoritmului dvs....
SAI Peregrinus avatar
drapel si
Testele statistice nu pot arăta că un RNG este sigur, doar că nu este în mod evident groaznic. Ele sunt folosite pentru a testa implementări ale proiectelor bine analizate, nu pentru a analiza securitatea unui proiect.
Puncte:2
drapel fr

Când proiectăm un PRNG criptografic, vrem să treacă mai mult decât teste statistice. Standardul de aur aici este testul următorului bit, care spune că, având în vedere toate rezultatele până la un anumit punct, este doar neglijabil mai ușor decât să ghiciți următorul bit. Acesta nu este un test statistic, ci un test care implică faptul că atacatorul are cunoștințe complete despre algoritm și capacitatea de a-l criptoanaliza și totuși nu poate găsi o soluție mai bună decât forța brută.

Pentru a arăta un exemplu de CSPRNG nesigur care ar putea trece orice test statistic, dar nu va trece testul următorului bit, imaginați-vă o sămânță secretă $ S $, o funcție hash sigură $ H(x) $, și un PRNG care iese $ H(S) || H(H(S)) || H(H(H(S))) || ... $. Deoarece funcția noastră hash este sigură, ieșirea sa pare aleatorie, dar de fapt este foarte ușor să ghicim următoarea ieșire având în vedere rezultatul existent.

Este, desigur, total posibil să se realizeze un CSPRNG care scoate un singur octet la un moment dat. RC4 este un stream cipher care are acest design și a fost folosit un CSPRNG în multe sisteme, deși nu mai este considerat sigur. Am putea proiecta alte CSPRNG-uri care sunt sigure și orientate pe octeți. Din punct de vedere practic, totuși, este de obicei mai eficient să operați pe bucăți mai mari de date, motiv pentru care algoritmi precum ChaCha20 sau DRBG-urile NIST tind să fie utilizați mai frecvent.

În ceea ce privește beneficiile unui PRNG rapid non-criptografic, există puține motive pentru a le folosi. ChaCha20 poate scoate date la 3 GB/s pe sistemul meu și este sigur din punct de vedere criptografic. În cazul puțin probabil, acest lucru nu este suficient de rapid, ar putea fi utilizat un număr mai mic de runde (de exemplu, ChaCha12), iar performanța ar fi mai bună, fiind în continuare sigură criptografic. Generarea de numere aleatoare cu un algoritm adecvat este aproape niciodată obstacolul, așa că utilizarea unui CSPRNG, care va trece întotdeauna testul următorului bit și, prin urmare, este de cea mai înaltă calitate posibilă, este suficientă în aproape toate cazurile.

Paul Uszak avatar
drapel cn
Viteza nu este relevantă pentru criptografia reală.
bk2204 avatar
drapel fr
Sigur, dar contează în lumea reală, pentru că oamenii folosesc viteza ca scuză pentru a folosi sisteme nesigure. Așa îi convingem pe oameni să folosească în continuare MD5: este rapid și este „destul de bun”.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.