A cryptographic hash function BLAKE3 is available, which is 10 times faster than SHA-2

The final implementation of the algorithm has been published BLAKE3, offering a cryptographic hash function designed for applications such as file integrity checks, message authentication, and data creation for digital signatures. BLAKE3 is not intended for hashing passwords (for passwords, use yescrypt, bcrypt, scrypt, or Argon2), as it aims for the fastest hash computations with guaranteed collision resistance, protection against preimage attacks and insensitivity to the size of hashed data. The reference implementation of BLAKE3 published is under dual licensing — public domain (CC0) and Apache 2.0.

A key distinguishing feature of the new hash function is its very high hashing performance while maintaining reliability at the level of SHA-3. By default, the resulting hash size in BLAKE3 is 32 bytes (256 bits), but it can be extended to arbitrary values. In a test for generating a hash for a 16 KB file, BLAKE3 outperforms SHA3-256 by 15 times, SHA-256 by 12 times, SHA-512 by 8 times, SHA-1 by 6 times, and BLAKE2b by 4 times. A significant lead is maintained even when processing very large volumes of data; for example, BLAKE3 proved to be is faster 8 times faster than SHA-256 when calculating the hash for 1 GB of random data.

A cryptographic hash function BLAKE3 is available, which is 10 times faster than SHA-2

The algorithm was developed by renowned cryptography experts (Jack O’Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O’Hearn) and continues to evolve the algorithm BLAKE2 and uses the block chain tree encoding mechanism Bao. Unlike BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 offers a unified algorithm for all platforms, independent of bitness and hash size.

Performance improvements have been achieved by reducing the number of rounds from 10 to 7 and hashing blocks in chunks of 1 KB. According to the creators, they found compelling evidence, which allows for 7 rounds instead of 10 while maintaining the same level of reliability (for clarity, consider the example of mixing fruits in a blender — after 7 seconds, the fruits are already fully mixed, and the additional 3 seconds will not affect the consistency of the mixture). Some researchers express doubts, believing that even if 7 rounds are currently sufficient to withstand all known attacks on hashes, the additional 3 rounds may be beneficial in case new attacks are discovered in the future.

When it comes to block division, BLAKE3 splits the stream into chunks of 1 KB and hashes each chunk independently. Based on the hashes of the chunks, a Merkle tree forms one large hash. This division allows for solving the problem of parallelizing data processing when computing the hash — for example, 4-threaded SIMD instructions can be used to compute hashes of 4 blocks simultaneously. Traditional hash functions SHA-* process data sequentially.

Features of BLAKE3:

  • High performance;
  • Security, including resistance to length extension attacks,to which SHA-2 is vulnerable;
  • Providing parallelization of computations across any number of threads and SIMD lanes;
  • Capability for incremental updating and verified stream processing;
  • Usage in PRF, MAC, KDF, XOF modes, and as a regular hash;
  • A single algorithm for all architectures, fast on both x86-64 systems and 32-bit ARM processors.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster