Convertirea unui mesaj arbitrar într-un număr pseudo-aleatoriu înseamnă, în esență, calcularea unui hash criptografic.
Deci, această întrebare pare să se întrebe care este cel mai rapid hash criptografic sigur?
Nu este clar care sunt cerințele de securitate pe care le aveți pentru acest hash, unii algoritmi sunt foarte simpli și nu sunt siguri din punct de vedere criptografic, dar oferă totuși un rezumat util atunci când nu există un adversar. de exemplu, CRC poate fi foarte rapid.
Alți algoritmi vor oferi rezistență pre-imagine și a doua pre-imagine, dar nu rezistență la coliziune, de exemplu MD5 sau SHA1
Unii algoritmi sunt considerați astăzi a fi în general siguri și oferă, de asemenea, rezistență la coliziune și sunt adesea modelați ca o funcție pseudo-aleatorie. De exemplu, SHA-3.
Iată câteva repere care compară primitivele criptografice
https://www.cryptopp.com/benchmarks.html
Și o comparație diferită (configurare diferită și metrică diferită):
https://medium.com/logos-network/benchmarking-hash-and-signature-algorithms-6079735ce05
Acesta din urmă a ales blake2 ca cea mai rapidă funcție hash și este considerată sigură pentru orice scop care necesită o funcție hash securizată, chiar dacă nu este la fel de utilizată în familiile standardizate SHA2 sau SHA3. (Notă Blake2 are mai multe variante).
Prima legătură are MD5 destul de rapid la 6,8 cicluri CPU/octet, ceea ce este foarte foarte rapid. Și totuși sigur pentru multe scopuri, dar unele ar fi incomode folosind o funcție Hash „Broken”.
Pentru majoritatea scopurilor, nu aveți nevoie de cel mai rapid algoritm de hash, aveți nevoie de un hash suficient de rapid și o implementare bună a oricărui standard ar trebui să fie suficient de rapidă. Nimeni nu a fost concediat pentru că a ales SHA-3.