Puncte:2

Întrebări: Argon2, starea sa internă și securitatea acestuia atunci când se generează chei mai mari de 256/512 biți

drapel pf

Să presupunem că vreau să folosesc un cifr cu o cheie mare, cum ar fi ISAAC, care acceptă cheia ogf de 8192 de biți.

Pot hash cu sha-256 sau sha-512 și pot itera până ajunge la dimensiunea cheii, dar nu voi obține 8192 de biți de securitate, deoarece starea internă a acestor funcții de hash este limitată la 256 sau 512 de biți.

Pot hash cu un XOF (eXtendable Output Function) precum Skein, SHAKE, KangarooTwelve, Blake3 sau Blake2x, dar din nou problema este starea internă care este mică și bazată pe iterații în funcția de compresie, nu oferă o securitate mai mare decât 256/512 biți chiar dacă ieșirea este aleasă în mod arbitrar.

Poate fi folosită o funcție KDF specializată, cum ar fi Argon2 sau Scrypt.

Întrebarea mea este specifică despre Argon2.

Documentația acestuia spune că acceptă intrări mari pentru mesaj, săruri și dimensiunea sa digerată poate fi aleasă în mod arbitrar.

Am compilat un program de execuție argon2 pentru a hash fișiere în terminal, cum ar fi fotografii, și nu pot vedea diferența de timpi când dimensiunea de ieșire este mică sau mare.

$ time cat ~/some_file | argon2-static 00000000 -d -t 2000000 -m 3 -p 1 -r -l 32 &>/dev/null

0m6.334s reale
utilizator 0m6.329s
sys 0m0.004s

$ time cat ~/some_file | argon2-static 00000000 -d -t 2000000 -m 3 -p 1 -r -l 1024 &>/dev/null

0m6.455s reale
utilizator 0m6.443s
sys 0m0.008s

Ambele dimensiuni de ieșire de 32 de octeți (256 de biți) și 1024 (8192 de biți) au timpi aproape egali atunci când se efectuează hashing cu Argon2.

Asta îmi permite să mă îndoiesc.

Are starea internă a lui Argon2 de aceeași dimensiune a ieșirii? Sau poate singurele sale iterații ale funcției hash?

Întreb acest lucru deoarece Argon2 folosește Blake2b ca funcție hash și are 512 biți de stare internă, nu 8192 pe care îl vreau.

Voi avea 8192 de biți de securitate dacă o intrare cu entropie mare (egale sau mai mare decât ieșirea) este procesată la această dimensiune de ieșire în Argon2?

Maarten Bodewes avatar
drapel in
Întrebarea este de ce ați dori mai mult de 256 de biți de securitate.
kelalaka avatar
drapel in
Și, dacă aveți o cheie uniformă aleatorie de 8192 de biți, atunci nu aveți nevoie de niciun KDF.În plus, să fie $h_0 = SHA-256(yourRandom)$ decât $h_i = SHA-256(yourRandom||h_{i-1})$ este o soluție simplă pentru a le amesteca. Pentru Argon2, citiți [hartia](https://www.password-hashing.net/argon2-specs.pdf) și vedeți cum le amestecă pe toate.
Puncte:3
drapel cn

Marea majoritate a timpului în Argon2 este petrecut umplând vectorul (sau vectorii) în memorie și iterând peste el. Ieșirea este generată prin hashing blocul final. Dacă ieșirea este mai lungă de 512 biți, atunci numai Blake2b este executat de câteva ori. Acest lucru nu contează deloc în termeni de timp în comparație cu pașii anteriori. Prin urmare, nu observați nicio diferență de timp.

Aș spune că Argon2 nu poate atinge securitatea de 8192 de biți, doar cei 512 de biți ai lui Blake2b. Cu toate acestea, acest lucru nu este cu adevărat relevant. În prezent, 256 de biți sunt considerați siguri, chiar și atunci când apar computere cuantice. Cred că asta nu se va schimba mult timp. Un moment în care securitatea pe 512 biți nu mai este suficientă este ceva ce niciunul dintre noi nu va vedea.

În cazul parolelor, oricum nu putem aplica standardele obișnuite de securitate a biților. Cu excepția cazului în care parolele sunt generate aleatoriu și utilizate o singură dată, securitatea biților lor nu poate fi măsurată fără ambiguitate.

kelalaka avatar
drapel in
Da, este adevărat că se poate considera doar intrarea de 512 biți a lui Blake2 pentru a ataca, desigur, asta nu are sens.

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.