Puncte:2

Argon2 permite o lungime uriașă a cheii în introducere, dar oferă într-adevăr securitatea cheii furnizate?

drapel pf

am citit Specificația Argon2.

Se spune în 3.1 (Pagina #5):

Valoarea secretă K (servește ca cheie dacă este necesar, dar nu presupunem nicio utilizare a cheii în mod implicit) poate avea orice lungime de la $0$ la $2^{32}\text{-}1$ octeți.

Să presupunem că vreau să convertesc Argon2 într-o criptare bloc, furnizez o cheie de 8192 de biți (1024 de octeți) și ofer un contor pentru fiecare bloc generat și astfel, XOR blocurile hashed din textul cifrat.

Această schemă de criptare va avea securitatea în funcție de lungimea cheii? Voi avea o putere de criptare de 8192 de biți?

Întreb acest lucru deoarece Argon2 folosește Blake2b, care are 512-biți de dimensiune a stării și securitatea sa este limitată la această limită.

Maarten Bodewes avatar
drapel in
Interesanta intrebare. Starea Blake2b pe 512 biți va influența probabil nivelul de securitate, dar, deoarece Argon2 poate fi configurat să fie dur de memorie, starea sa reală poate fi mai mare decât atât. SHA-256 constă din operații pe 32 de biți, dar starea sa este cu siguranță mai mare decât asta. Nu sunt sigur dacă Argon2 poate face ceva similar. Desigur, orice dimensiune de securitate mai mare de 256 de biți este deja destul de lipsită de sens, așa că în practică nu va conta prea mult.
Puncte:5
drapel in

Această schemă de criptare va avea securitatea în funcție de lungimea cheii? Voi avea o putere de criptare de 8192 de biți?

Nu, securitatea este limitată cu

$$securitate = min\{\text{Argon2 input_size}\;, \;\text{Hash digest size}\}$$ În cazul dvs. cu BLAKE2-512, este securitatea de 512 biți, nu 8192.

Motivul este clar. Argon2 revine return Hash(C, tagLength) (funcția hash cu lungime variabilă) sau vezi din hârtie Argon2 pagina 6 *

                 introduceți descrierea imaginii aici

Și dacă este folosit BLAKE2, atunci primii 64 de octeți sunt ieșirea lui BLAKE2.Dacă cerința de ieșire este > 64 de octeți, atunci octeții rămași sunt derivați din ieșirea apelurilor BLAKE2 anterioare.

   V1 â Blake2b(digestSize ⥠FinalBlock, 64);
   Blocurile ulterioare sunt generate din blocurile anterioare
   pentru i â 2 la r do
      Vi â Blake2b(Vi-1, 64) 
   Se returnează 32 de octeți mai mici de Vi.

Prin urmare, nu se poate avea o securitate mai mare decât dimensiunea hash digest și aceasta ar trebui să fie suficientă chiar și pentru adversarii post-cuantici.

Și, Securitatea pe 256 de biți este suficientă pentru toată lumea. Argon2 este proiectat pentru hashing parole, deși se poate folosi acest lucru pentru modul CTR, totuși preferați xChaCha20-Poly1305 pentru a obține confidențialitate, integritate și autentificare. Acest lucru este mult mai rapid decât Argon2 pentru criptare. xChaCha20 este extensia lui ChaCha20 cu nonce-uri de 192 de biți care permite non-uri aleatorii fără teama de problema de reutilizare a nonce a modului CTR.


* Ieșirea implicită scoate doar un singur hash. Aceasta permite Actualizarea independentă a clientului este a cerința funcțională a competiției de hashing de parole.

kelalaka avatar
drapel in
Err, votant negativ, care este motivul? Ce nu este corect aici?
phantomcraft avatar
drapel pf
Răspuns grozav. Mulțumesc @kelalaka

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.