BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités BLAKE3 Est Un Hachage Cryptographique Extrêmement Rapide Et Parallèle

BLAKE3 Est Un Hachage Cryptographique Extrêmement Rapide Et Parallèle

BLAKE3 est l'évolution la plus récente de la fonction de hachage cryptographique BLAKE. Créé par Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves et Zooko Wilcox-O'Hearn, BLAKE3 combine le hachage d'arbre cryptographique à usage général bao avec BLAKE2 pour améliorer considérablement les performances par rapport à SHA-1, SHA-2, SHA-3 et BLAKE2.

BLAKE3 diffère de BLAKE2 à deux égards importants. Tout d'abord, il réduit le nombre de tours de 10 à 7. Bien que cela accorde certainement une amélioration significative des performances, il est peu probable qu'il soit le facteur le plus important derrière la vitesse de BLAKE3. En fait, BLAKE3 passe également à l'utilisation de structures arborescentes binaires pour permettre un degré de parallélisme sans frontière :

BLAKE3 divise son entrée en morceaux de 1 Ko et les arrange comme les feuilles d'un arbre binaire. Chaque bloc est compressé indépendamment, donc le degré de parallélisme est égal au nombre de blocs.

Cela implique que BLAKE3 peut tirer parti du parallélisme intrinsèque fourni par les instructions SIMD disponibles sur les processeurs modernes, ce qui permet de mieux comprendre ses performances.

Les auteurs de BLAKE3 ont publié une référence sur un processeur Intel Cascade Lake-SP 8275CL, montrant qu'il était 5 fois plus rapide que BLAKE2 et 15 fois plus rapide que SHA3-256.

Une autre analyse comparative indépendante exécutée sur un fichier de 1 Go a montré que BLAKE3 était presque 10 fois plus rapide que SHA2.

De plus, BLAKE3 peut exploiter efficacement les architectures multicœurs et le multithread, ce qui lui confère une grande évolutivité, comme le montre le graphique suivant mis à disposition par les auteurs de BLAKE3.

Il faut noter que bien que BLAKE3 surpasse largement les autres hachages tels que BLAKE2 et SHA-2/3, il n'est pas le seul à offrir un tel niveau de performances. Plus précisément, KangarooTwelve atteint approximativement le même débit que BLAKE3 sur un Intel Cascade Lake-SP 8275CL mentionné ci-dessus, selon les propres critères de référence des auteurs BLAKE3. Ce résultat est également cohérent avec le benchmark fournis par les auteurs de KangarooTwelve. Inversement, selon les chiffres fournis par les auteurs de BLAKE3, BLAKE3 semble battre de manière significative KangarooTwelve sur un Raspberry Pi Zero utilisant un processeur ARM1176 32 bits.

En ce qui concerne la sécurité de BLAKE3, ses auteurs affirment qu'elle est sécurisée à 128 bits pour tous les objectifs de sécurité, y compris la préimage, collision, ou attaques de différentiabilité. Cela signifie que BLAKE3 est aussi sécurisé que SHA3-256 et d'autres hachages qui visent également la sécurité à 128 bits. À cet égard, la plus grande préoccupation pour beaucoup est que BLAKE3 utilise seulement sept tours, contre 12 dans BLAKE2 et d'autres hachages. Selon certains commentateurs sur Reddit, par exemple, cela pourrait signifier que BLAKE3 est moins sécurisé dans l'avenir, avec dess attaques inconnues actuellement qui ne sont pas encore incluses dans la crypto-analyse actuelle. Il s'agit d'un thème très débattu et, en fait, l'un des auteurs de BLAKE3, Aumasson, est également l'auteur de "Too Much Crypto", un article où il fait valoir que de nombreuses primitives de cryptographie symétrique utilisent trop de tours et pourraient être faites beaucoup plus rapidement avec moins de tours sans affecter leur sécurité.

Les auteurs de BLAKE3 ont fourni une implémentation de référence pour leur nouveau hachage dans Rust, qui est disponible sur GitHub. Ils l'ont également réécrit pour C, visant une implémentation plus simple qui ne prend pas en charge le multithread et est donc plus lent. De plus, Luke Champine l'a porté sur Go.

 

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT