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 *
                Â
Ș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.