È disponibile la funzione hash crittografica BLAKE3, che è 10 volte più veloce di SHA-2

È stata pubblicata l'implementazione finale dell'algoritmo BLAKE3, che offre una funzione hash crittografica progettata per usi come la verifica dell'integrità dei file, l'autenticazione dei messaggi e la generazione di dati per firme digitali. BLAKE3 non è destinata all'hashing delle password (per le password è necessario utilizzare yescrypt, bcrypt, scrypt o Argon2), poiché è mirata a calcolare hash il più rapidamente possibile con garanzia di assenza di collisioni, protezione da rintracciabilità dell'antecedente e insensibilità alla dimensione dei dati hashed. L'implementazione di riferimento di BLAKE3 è stata pubblicata sotto una doppia licenza — pubblico dominio (CC0) e Apache 2.0.

La caratteristica distintiva della nuova funzione hash è l'elevata prestazione nel calcolo dell'hash mantenendo l'affidabilità a livello di SHA-3. Di default, la dimensione dell'hash risultante in BLAKE3 è di 32 byte (256 bit), ma può essere estesa a valori arbitrari. In un test di generazione dell'hash per un file di 16 KB, BLAKE3 supera SHA3-256 di 15 volte, SHA-256 di 12 volte, SHA-512 di 8 volte, SHA-1 di 6 volte e BLAKE2b di 4 volte. Un significativo distacco si mantiene anche nel trattamento di grandi volumi di dati, ad esempio, BLAKE3 si è rivelata più veloci superiore a SHA-256 di 8 volte nel calcolo dell'hash per 1 GB di dati casuali.

È disponibile la funzione hash crittografica BLAKE3, che è 10 volte più veloce di SHA-2

L'algoritmo è stato sviluppato da noti esperti in crittografia (Jack O’Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O’Hearn) e continua a sviluppare l'algoritmo BLAKE2 e applica per codificare l'albero delle catene di blocchi il meccanismo Bao. A differenza di BLAKE2 (BLAKE2b, BLAKE2s), in BLAKE3 è stato proposto un algoritmo unico per tutte le piattaforme, non legato alla larghezza di parola e alla dimensione dell'hash.

Il miglioramento delle prestazioni è stato raggiunto riducendo il numero di round da 10 a 7 e hashing separatamente i blocchi a pezzi da 1 KB. Secondo i creatori, hanno trovato una convincente prova, che è possibile utilizzare 7 round invece di 10 mantenendo lo stesso livello di affidabilità (per rendere l'idea, si può fare un esempio con la miscelazione della frutta in un frullatore: dopo 7 secondi la frutta è già completamente mescolata e ulteriori 3 secondi non influenzeranno la consistenza della miscela). Tuttavia, alcuni ricercatori esprimono dubbi, ritenendo che anche se attualmente 7 round siano sufficienti per resistere a tutti i noti attacchi agli hash, ulteriori 3 round potrebbero rivelarsi utili nel caso vengano scoperti nuovi attacchi in futuro.

Per quanto riguarda la suddivisione in blocchi, in BLAKE3 il flusso viene suddiviso in pezzi da 1 Kb e ogni pezzo viene hashato in modo indipendente. Sulla base degli hash dei pezzi, viene formato un grande hash utilizzando un albero binario di Merkle. Questa suddivisione consente di risolvere il problema della parallelizzazione dell'elaborazione dei dati durante il calcolo dell'hash: ad esempio, è possibile utilizzare istruzioni SIMD a 4 thread per calcolare simultaneamente gli hash di 4 blocchi. Le tradizionali funzioni hash SHA-* elaborano i dati in modo sequenziale.

Caratteristiche di BLAKE3:

  • Elevata prestazione;
  • Sicurezza, inclusa la resistenza a attacchi di estensione dei messaggi, a cui è soggetto SHA-2;
  • Garantire la parallelizzazione dei calcoli su qualsiasi numero di thread e canali SIMD;
  • Possibilità di aggiornamento incrementale e di elaborazione verificata dei flussi;
  • Utilizzo in modalità PRF, MAC, KDF, XOF e come hash normale;
  • Unico algoritmo per tutte le architetture, rapido sia su sistemi x86-64 che su processori ARM a 32 bit.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster