Puncte:1

Cum este Blake2b al lui Argon2 diferit de Blake2b normal?

drapel in

Acest post spune că Blake2b al lui Argon2 este a redus unul, care este de asemenea agreat de Specificațiile lui Argon2 deoarece afirmă că folosește doar un Blake2b cu 2 runde.

Dar, pe de altă parte, pagina 15 din specificațiile lui Argon2 afirmă că modifică Blake2b pentru a adăuga înmulțiri pe 32 de biți pentru a crește latența (presupun că înseamnă că trebuie să așteptați cicluri suplimentare ale procesorului?).

Întrebările mele sunt:

  1. Dacă Argon2 vrea să facă Blake2b mai greu, de ce și-ar reduce cele 12 runde la doar 2?
  2. Există și alte diferențe pe care nu le-am menționat aici?
  3. În ce moduri afectează aceste diferențe securitatea Blake2b de la Argon2 în comparație cu Blake2b standard găsit în, de exemplu, libsodiu?

Gandurile mele

Cred că utilizarea de către Argon2 a unei funcții de hashing (Blake2b) pentru umplerea pad-ului de memorie nu este cea mai bună alegere. Pentru că nu este implicată compresie în umplerea memoriei; Intrarea de 1024 de octeți devine o altă ieșire de 1024 de octeți. Nu are loc nicio compresie, prin urmare toate rundele agresive ale unei funcții de hashing care încearcă să păstreze entropia maximă de intrare în timp ce comprimarea în mult mai puțini octeți nu sunt absolut necesare.

Cred că acesta este motivul pentru care Argon2 a creat propria variantă redusă de Blake2b cu doar 2 runde în loc de 12: pentru că este evident că hashingul nu este necesar.

În mod efectiv, modificând Blake2b, Argon2 a creat o variație a unui cifru bloc simetric și au continuat să-l folosească ca unul (intrarea fixă ​​devenind o ieșire fixă ​​de dimensiune egală).

Cred că abordarea mai bună decât cea a lui Argon2 este, în loc să reinventăm un cifr bloc simetric dintr-o funcție de hashing (prin modificarea Blake2b), este să tăiați urmărirea și să utilizați un cifru simetric existent precum ChaCha20.

Utilizarea unui cifru simetric precum ChaCha20 va fi aproximativ la fel de rapidă ca și cifrul simetric reinventat de la Argon2 (Blake2b redus), chiar dacă este ChaCha20 cu 20 de runde. ChaCha20 conform testelor mele este doar puțin mai lent decât Argon2 pentru a face aceeași treabă. Plus alte beneficii: profitând de bibliotecile existente și de mai multe cercetări de criptoanaliza care au fost deja îndreptate către cifrurile existente.

Puncte:1
drapel cn

Ai dreptate când spui că în acest caz nu este necesară compresia și că în acest scop ar putea fi folosit și un cifru bloc simetric. Mai multe considerente au jucat probabil un rol în selecția lui Blake2b.

  1. versiunea redusă este folosită pentru a umple un vector mare cât mai repede posibil, care este apoi accesat pentru a face schema de memorie grea. Gândul din spatele acestui lucru a fost probabil nu numai să umplem rapid un vector, dar și că duritatea memoriei poate fi setată independent de duritatea timpului. Aceasta înseamnă că algoritmul ar trebui să fie rapid. De aici și numărul redus de runde.

  2. algoritmul nu ar trebui să ruleze mult mai repede pe hardware personalizat, de ex. ASIC, decât pe un dispozitiv de utilizator obișnuit. Aceasta înseamnă că nu numai performanța pură este crucială, ci și diferența de performanță între diferitele hardware. Blake2b este optimizat exact pentru dispozitivele tipice ale utilizatorilor.

  3. algoritmul nu ar trebui să fie vulnerabil la atacurile cache-timing. Prin urmare, a fost preferat un design ARX.

ChaCha20 îndeplinește și el aceste criterii în principiu, probabil Blake2b are performanțe mai bune doar la punctul 2. decât o formă redusă de ChaCha20. Poate că a jucat, de asemenea, un rol că la acea vreme funcțiile hash au primit mai multă atenție datorită competiției SHA-3 care tocmai fusese finalizată și că noii algoritmi hash, cum ar fi Blake2b, au fost, prin urmare, mai bine studiati decât noile cifruri bloc.

Un indiciu că Blake2b este potrivit pentru această aplicație: Pe lângă Argon2, echipa Catena a dezvoltat și o formă (diferită) redusă de Blake2b în același scop.

Și un indiciu că presupunerea dvs. despre cifrurile bloc este, de asemenea, corectă: În schimb, schema Scrypt, dezvoltată în 2010, folosește o formă redusă de Salsa20, un predecesor al ChaCha20.

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.