BLAKE3 promet des débits jusqu’à 19 fois supérieurs à SHA3-256 sur un même processeur. Mais la fonction de hachage la plus rapide n’est pas forcément la bonne pour votre projet. En 2026, deux mondes se croisent sans se ressembler : d’un côté SHA-3, le standard NIST né d’un concours international et gravé dans le FIPS 202, de l’autre BLAKE3, conçu par une petite équipe de cryptographes pour tirer parti du multi-cœur et de l’AVX-512. Ce guide compare les deux algorithmes sur la vitesse, la sécurité, la conformité réglementaire et le coût réel d’implémentation, avec des chiffres sourcés et un guide de migration concret.

SHA-3 : le standard NIST né du concours Keccak

SHA-3 n’est pas une évolution de SHA-2. C’est un algorithme entièrement différent, choisi par le NIST en 2012 à l’issue d’une compétition publique lancée après la découverte de failles théoriques sur la famille SHA-1 et SHA-2. Le vainqueur s’appelait Keccak, conçu par Guido Bertoni, Joan Daemen, Michaël Peeters et Gilles Van Assche. Le NIST l’a formellement standardisé en août 2015 sous la référence FIPS 202, avec quatre variantes de sortie fixe (SHA3-224, SHA3-256, SHA3-384, SHA3-512) et deux fonctions à sortie extensible, SHAKE128 et SHAKE256.

Le choix de Keccak répondait à un objectif précis : disposer d’une alternative structurellement différente de SHA-2, au cas où une faille toucherait cette dernière. Depuis 2015, aucune attaque exploitable n’a été publiée contre SHA3-256 ou SHA3-512. L’algorithme reste la référence institutionnelle pour les administrations et les environnements régulés, notamment parce qu’il corrige une faiblesse structurelle de SHA-2 : la vulnérabilité aux attaques par extension de longueur. Un attaquant qui connaît un hachage SHA-256 d’un message peut parfois en déduire le hachage d’un message étendu, sans connaître le contenu original. La construction en éponge de SHA-3 élimine ce risque par conception.

BLAKE3 : la fonction de hachage pensée pour la vitesse

BLAKE3 est arrivé bien plus tard, en janvier 2020, porté par Jack O’Connor, Jean-Philippe Aumasson, Samuel Neves et Zooko Wilcox-O’Hearn. Trois de ces quatre noms avaient déjà travaillé sur BLAKE2, l’un des finalistes de la compétition qui a désigné Keccak vainqueur en 2012. BLAKE3 hérite donc d’une lignée de conception éprouvée, mais il change radicalement d’objectif : au lieu de maximiser la marge de sécurité théorique, l’équipe a cherché à exploiter au maximum le parallélisme des processeurs modernes.

Le code de référence de BLAKE3 est publié sur GitHub sous double licence CC0 1.0 et Apache 2.0, ce qui le rend librement réutilisable dans des projets commerciaux ou open source sans contrainte. Contrairement à SHA-3, BLAKE3 ne dispose d’aucun statut de standard NIST ou FIPS en 2026. Il reste un projet communautaire, ce qui ne l’a pas empêché d’être intégré dans des outils comme la chaîne de compilation LLVM pour du hachage interne haute performance, ou dans l’écosystème Ethereum, qui a abandonné la fonction Poseidon au profit de BLAKE3 pour certains calculs à forte volumétrie.

Historique : de BLAKE à BLAKE3, en passant par la compétition SHA-3

Pour comprendre pourquoi ces deux algorithmes existent, il faut remonter à 2007. Cette année-là, le NIST lance publiquement une compétition pour trouver un successeur à SHA-2, par précaution plutôt que par urgence. Soixante-quatre équipes soumettent un candidat. Cinq finalistes atteignent le dernier tour en 2010 : BLAKE, Grøstl, JH, Keccak et Skein. Chacun repose sur une architecture différente, un choix délibéré du NIST pour éviter de miser sur une seule famille de constructions cryptographiques. Keccak l’emporte en 2012, pour sa marge de sécurité jugée la plus large et sa conception distincte de SHA-2.

BLAKE, le finaliste malheureux conçu par Jean-Philippe Aumasson et son équipe, ne disparaît pas pour autant. Il évolue en BLAKE2 dès 2012, une version optimisée pour la vitesse logicielle, adoptée notamment par des outils comme Argon2 et certains gestionnaires de paquets Linux. Huit ans plus tard, la même équipe, rejointe par Jack O’Connor et Zooko Wilcox-O’Hearn, publie BLAKE3 en s’appuyant sur cet héritage mais en changeant de structure interne pour privilégier le parallélisme plutôt que la seule vitesse séquentielle. Le résultat porte le même nom de famille, mais fonctionne sur un principe d’arborescence totalement différent de ses deux prédécesseurs.

Architecture technique : construction en éponge contre arbre parallèle

La différence de performance entre les deux algorithmes vient directement de leur architecture. SHA-3 repose sur une permutation Keccak-f[1600] appliquée dans une construction en éponge (sponge) : les données sont absorbées bloc par bloc dans un état interne de 1600 bits, puis le condensat est extrait par pression (squeeze). Cette conception maximise la diffusion cryptographique mais reste intrinsèquement séquentielle sur un seul flux de données, ce qui limite les gains issus du multi-cœur.

BLAKE3 fonctionne à l’inverse comme un arbre de Merkle. Les données sont découpées en blocs de 1024 octets, chacun compressé indépendamment par une fonction dérivée de ChaCha, puis les résultats sont combinés deux à deux jusqu’à un condensat final. Cette structure en arbre permet de traiter chaque feuille sur un cœur différent, un GPU, ou même une carte SIMD AVX-512, sans dépendance entre les blocs. C’est ce choix d’architecture, et non une optimisation de bas niveau, qui explique l’essentiel de l’écart de débit mesuré entre les deux algorithmes.

Les paramètres internes reflètent aussi deux philosophies différentes. La permutation Keccak-f[1600] applique 24 tours de brassage à chaque bloc absorbé, un nombre volontairement élevé pour garantir une diffusion complète de l’information avant toute extraction. La fonction de compression de BLAKE3, dérivée de ChaCha, se limite à 7 tours. Ce nombre plus faible n’est pas un raccourci pris à la légère : il a été choisi après analyse cryptanalytique par l’équipe de conception, mais il illustre bien l’arbitrage assumé entre vitesse et marge de sécurité théorique qui distingue les deux projets depuis leur origine.

Tableau comparatif : BLAKE3 face à SHA-3 en 12 critères

Le tableau suivant résume les différences techniques principales entre les deux algorithmes, telles qu’elles se présentent en septembre 2026.

CritèreSHA-3 (Keccak)BLAKE3
Année de publication2015 (FIPS 202)Janvier 2020
ConcepteursBertoni, Daemen, Peeters, Van AsscheO’Connor, Aumasson, Neves, Wilcox-O’Hearn
Construction interneÉponge sur permutation Keccak-f[1600]Arbre de Merkle sur compression type ChaCha
Tailles de sortie224, 256, 384, 512 bits (+ SHAKE extensible)256 bits par défaut, sortie extensible (XOF)
Parallélisation nativeLimitée, traitement séquentiel du fluxÉlevée, chaque feuille de l’arbre est indépendante
Statut NIST / FIPSStandard officiel (FIPS 202)Aucun statut, algorithme communautaire
Résistance à l’extension de longueurOui, par constructionOui, par construction
Licence de la référenceDomaine public (Keccak Team)CC0 1.0 ou Apache 2.0
Support natif Node.js cryptoOui (sha3-256, sha3-512)Non, passe par le paquet npm blake3
Support natif Python hashlibOui (sha3_256, sha3_512)Non, passe par le paquet pip blake3
Usage recommandé pour mots de passeNon (trop rapide, non memory-hard)Non (encore plus rapide, à proscrire)
Adoption dans les standards post-quantiquesSHAKE256 utilisé dans ML-DSA et SLH-DSAAucune intégration dans un standard NIST PQC

Benchmarks de performance : les chiffres 2025-2026

Sur le papier, l’écart de vitesse entre les deux algorithmes est le point le plus frappant. Plusieurs bancs d’essai publiés entre 2025 et 2026 convergent vers le même constat, même si les chiffres bruts varient selon le matériel et la taille des blocs testés.

Source du benchmarkPlateforme testéeDébit BLAKE3Débit SHA3-256Facteur d’écart
Banc d’essai 2025 sur processeur Zen 5AMD EPYC 4245P, blocs de 1 Mo13 196 Mo/s686 Mo/s~19x
Notes de version du compilateur LLVM (2025)AVX-512, entrées de 100 MoJusqu’à 27x plus rapide que SHA-256Plus lent que SHA-256 dans le même test>27x vs SHA-256
Guide de comparaison des fonctions de hachage 2026CPU x86-64 générique, multi-threadJusqu’à 15 000 Mo/s350 à 420 Mo/s~35-40x en multi-thread
Test OpenSSL 3.2, alternatives à SHA-256 (2025-2026)x86-64 avec AVX26 000 à 8 000 Mo/s280 à 420 Mo/s~15-20x

Un point de repère utile pour situer ces chiffres : la fonction non cryptographique xxHash3, souvent citée dans les mêmes comparatifs d’outils de développement, atteint environ 31 Go/s. BLAKE3 se rapproche donc des débits d’un hash rapide mais non sécurisé, tout en conservant les garanties cryptographiques d’une fonction résistante aux collisions. C’est cette combinaison, vitesse proche du non-cryptographique et sécurité prouvée, qui explique son adoption croissante dans les outils de développement et les systèmes de fichiers.

Sécurité cryptographique et marge de résistance

La vitesse ne dit rien de la robustesse. Sur ce terrain, SHA-3 bénéficie d’un avantage difficile à égaler : une décennie de cryptanalyse publique intensive sans qu’aucune attaque pratique n’ait émergé contre les variantes SHA3-256 ou SHA3-512. Le NIST a documenté sa résistance aux attaques différentielles, linéaires et par collision dans le cadre du processus FIPS 202, et la communauté académique continue de publier des analyses régulières sans résultat inquiétant.

BLAKE3 n’a pas non plus subi d’attaque pratique documentée depuis son lancement en 2020, mais son historique de cryptanalyse indépendante reste plus court. Un point technique mérite d’être signalé : BLAKE3 réduit à 7 le nombre de tours de sa fonction de compression, contre 10 pour BLAKE2s dont elle dérive. Cette réduction améliore la vitesse mais diminue mécaniquement la marge de sécurité théorique par rapport à l’algorithme dont elle hérite. Aucun chercheur n’a publié de faille exploitable à ce jour, mais les équipes qui manipulent des données très sensibles préfèrent souvent un algorithme dont la marge de sécurité a été éprouvée plus longtemps.

Sur le terrain de la résistance aux futurs ordinateurs quantiques, les deux algorithmes se valent en théorie. Une fonction de hachage symétrique comme SHA-3 ou BLAKE3 ne subit pas la même menace que le chiffrement RSA ou les courbes elliptiques, cassables en théorie par l’algorithme de Shor. Le risque principal identifié par les chercheurs vient de l’algorithme de Grover, qui accélère la recherche de collisions et de préimages, mais seulement de façon quadratique. Concrètement, doubler la taille de sortie du hachage (par exemple passer de 256 à 512 bits) suffit à compenser ce gain théorique, une option disponible aussi bien chez SHA-3 (avec SHA3-512) que chez BLAKE3 via son mode de sortie extensible.

Vérification d’intégrité en streaming : le mode arbre de BLAKE3

Un avantage pratique de BLAKE3, souvent ignoré des comparatifs centrés sur la seule vitesse, tient à sa structure en arbre de Merkle. Parce que chaque bloc de 1024 octets est haché indépendamment avant d’être combiné, il devient possible de vérifier une portion d’un fichier sans le télécharger ou le recalculer en entier. Le projet Bao, construit directement sur BLAKE3, exploite cette propriété pour permettre une vérification en streaming : un client peut confirmer qu’un octet précis d’un fichier correspond bien au hachage annoncé, avant même d’avoir reçu le fichier complet.

SHA-3 ne propose rien d’équivalent nativement, sa construction en éponge imposant de traiter les données dans l’ordre pour obtenir un condensat final valide. Cette différence pèse peu pour la signature d’un petit document, mais devient significative pour les systèmes de stockage distribué, les outils de synchronisation cloud ou les plateformes de distribution de paquets logiciels, où vérifier un fragment sans tout retélécharger représente un vrai gain d’efficacité réseau, en plus du gain de calcul déjà mesuré dans les benchmarks.

Certification FIPS et conformité réglementaire en France et en Europe

C’est ici que la comparaison bascule en faveur de SHA-3 pour une large partie des usages professionnels. Le statut FIPS 202 fait de SHA-3 un choix légitime, voire obligatoire, dans les secteurs soumis à des audits de conformité : administrations, banques, opérateurs d’importance vitale. En France, le Référentiel Général de Sécurité (RGS) de l’ANSSI classe les fonctions de hachage recommandées et s’appuie sur les familles SHA-2 et SHA-3 pour ses recommandations, sans mentionner BLAKE3 comme option validée.

BLAKE3 reste totalement absent des référentiels NIST et des listes d’algorithmes approuvés pour les marchés publics ou les systèmes bancaires. Ce n’est pas une question de qualité cryptographique, mais de gouvernance : un algorithme communautaire, aussi solide soit-il, ne passe pas automatiquement les audits qui exigent une conformité FIPS ou un numéro de certification. Pour une équipe qui développe un produit destiné au secteur public ou financier en Europe, ce point tranche souvent le débat avant même d’avoir comparé les débits.

Le règlement européen eIDAS, qui encadre la signature électronique et l’identification numérique dans l’Union, s’appuie sur des listes d’algorithmes cryptographiques jugés adaptés, maintenues notamment par l’ETSI. Ces listes couvrent les fonctions de hachage de la famille SHA-2 et SHA-3, sans mentionner BLAKE3. Un prestataire de service de confiance qualifié au sens d’eIDAS doit donc justifier chaque choix d’algorithme face à un organisme d’évaluation, et s’écarter des listes reconnues complique fortement cette démarche, même si rien n’interdit techniquement d’utiliser un autre algorithme en interne.

BLAKE3 et le hachage de mots de passe : une fausse bonne idée

La vitesse extrême de BLAKE3, un atout pour l’intégrité de fichiers, devient un handicap majeur pour le stockage de mots de passe. Plus un algorithme est rapide, plus un attaquant peut tester de combinaisons par seconde lors d’une attaque par force brute hors ligne. Un GPU moderne peut calculer des millions de hachages BLAKE3 par seconde, rendant un mot de passe faible cassable en quelques heures.

C’est pour cette raison que ni BLAKE3 ni SHA-3 ne conviennent au stockage de mots de passe. Les deux algorithmes ont été conçus pour être rapides, exactement l’inverse de ce que recherche une fonction de dérivation de mots de passe. La bonne pratique reste d’utiliser une fonction memory-hard comme Argon2id, qui consomme volontairement de la mémoire et du temps de calcul pour ralentir les attaques par force brute. Confondre “rapide” et “sécurisé” reste l’une des erreurs les plus fréquentes chez les développeurs qui découvrent BLAKE3.

Écosystème : langages, bibliothèques et outils disponibles

SHA-3 profite d’un avantage pratique immédiat : il est intégré nativement dans la quasi-totalité des environnements de développement modernes. Node.js l’expose via le module crypto natif, Python via hashlib depuis la version 3.6, Java via MessageDigest, et Go via le paquet golang.org/x/crypto/sha3. OpenSSL 3.x le supporte également en ligne de commande, sans installation supplémentaire.

BLAKE3 demande une étape supplémentaire : aucun langage majeur ne l’intègre nativement dans sa bibliothèque standard en 2026. Il faut passer par un paquet tiers, maintenu mais externe à l’écosystème officiel : le paquet blake3 sur npm pour Node.js, le paquet blake3 sur PyPI pour Python, ou la crate blake3 pour Rust, langage dans lequel l’implémentation de référence est écrite. Cette dépendance supplémentaire reste mineure pour la plupart des projets, mais elle complique l’audit de sécurité dans les environnements qui limitent strictement les dépendances externes.

Des liaisons officielles ou maintenues par la communauté existent aussi pour Go, Java et WebAssembly, ce qui couvre la majorité des piles techniques utilisées en 2026. Le choix d’écrire l’implémentation de référence en Rust n’est pas anodin : ce langage garantit une sécurité mémoire par construction, un argument que l’équipe de BLAKE3 met en avant face à des bibliothèques historiques écrites en C, plus exposées aux erreurs de gestion mémoire. SHA-3, dont les implémentations de référence datent d’une époque où Rust n’existait pas encore, reste majoritairement disponible via des bibliothèques C ou des ports directs comme OpenSSL.

// Node.js – SHA3-256 natif
const crypto = require('crypto');
const hash = crypto.createHash('sha3-256').update(data).digest('hex');

// Node.js – BLAKE3 via le paquet npm "blake3"
const { createHash } = require('blake3');
const hash2 = createHash().update(data).digest('hex');

Coûts d’implémentation : bibliothèques gratuites, écart sur le calcul cloud

Aucun des deux algorithmes n’est payant. Les deux références sont open source et librement réutilisables, y compris dans des produits commerciaux. La différence de coût réel se joue ailleurs : sur le temps de calcul facturé par les fournisseurs cloud lorsqu’un service traite de gros volumes de données à hacher.

Poste de coûtSHA-3BLAKE3
Licence de la bibliothèque de référenceDomaine publicCC0 1.0 ou Apache 2.0
Intégration OpenSSL 3.xIncluse, gratuiteNon incluse, dépendance tierce requise
AWS KMS, opérations HMAC géréesNon exposé (KMS ne propose que HMAC-SHA-2)Non exposé
Coût AWS KMS par clé et par requête1 $/mois par clé + 0,03 $/10 000 requêtesNon applicable, aucun service géré ne l’expose
vCPU-heures pour hacher un même volumePlus élevées (débit plus faible)Réduites de 4 à 19x selon les bancs d’essai

Concrètement, aucun grand fournisseur cloud (AWS, Google Cloud, Azure) ne propose de service géré facturant spécifiquement le hachage SHA-3 ou BLAKE3 à l’unité, contrairement aux opérations de clés KMS classiques. Le coût se répercute donc uniquement sur le temps de calcul consommé par vos propres serveurs ou instances. Pour une plateforme qui hache des pétaoctets de données au quotidien, un débit 10 à 19 fois supérieur avec BLAKE3 se traduit directement par moins d’instances de calcul nécessaires, donc une facture cloud allégée.

Il existe aussi un coût moins visible, celui du temps d’audit et de revue de code. Une équipe de sécurité connaît généralement déjà SHA-3, disponible dans le langage sans dépendance externe à vérifier. Ajouter BLAKE3 implique d’auditer une dépendance tierce supplémentaire, de vérifier sa chaîne d’approvisionnement logicielle et de former les équipes à ses trois modes d’utilisation. Ce coût reste marginal pour une startup technique habituée à intégrer des paquets externes, mais il pèse davantage dans une grande organisation où chaque nouvelle dépendance passe par un processus de validation formel.

5 cas d’usage concrets pour trancher entre les deux algorithmes

Au-delà des benchmarks, le choix dépend surtout du contexte réglementaire et du volume de données à traiter. Voici cinq situations réelles qui illustrent où chaque algorithme s’impose naturellement.

  • Compilateurs et outils de build : LLVM utilise BLAKE3 en interne pour du hachage de contenu à haute performance. Chaque incrément de vitesse sur cette fonction se répercute directement sur le temps de compilation de projets qui comptent parfois plusieurs millions de lignes de code, un critère que les mainteneurs du projet ont jugé suffisant pour justifier une dépendance externe au langage.
  • Blockchain et calculs à forte volumétrie : Ethereum a remplacé la fonction Poseidon par BLAKE3 pour certains calculs, un choix motivé par le gain de débit sur de très gros volumes de données traitées. Ce type de migration illustre bien le compromis assumé par les équipes blockchain, prêtes à sacrifier la maturité normative d’un algorithme pour gagner en performance sur des opérations répétées des milliards de fois.
  • Sauvegarde et synchronisation de fichiers : les outils de déduplication et de vérification d’intégrité sur de gros volumes tirent parti de la parallélisation native de BLAKE3 pour réduire le temps de traitement. Sur un serveur de sauvegarde qui traite plusieurs téraoctets par nuit, le gain de débit mesuré dans les bancs d’essai se traduit par une fenêtre de sauvegarde plus courte et moins de ressources CPU mobilisées.
  • Signature électronique et documents réglementés : dans les secteurs bancaires et administratifs, la conformité RGS de l’ANSSI et les exigences FIPS orientent naturellement vers SHA-3 ou SHA-2. Un prestataire de signature électronique qualifiée en France ne peut pas justifier l’usage de BLAKE3 auprès d’un auditeur, faute de référence normative reconnue.
  • Protocoles post-quantiques : SHAKE256, une variante de SHA-3, est directement intégrée dans les standards ML-DSA (FIPS 204) et SLH-DSA (FIPS 205), ce qui impose de facto SHA-3 dans toute implémentation conforme à ces schémas de signature post-quantique.
  • Systèmes de fichiers et stockage adressé par contenu : les architectures qui identifient chaque fichier par son empreinte plutôt que par son nom bénéficient directement du mode arbre de BLAKE3, qui permet de vérifier un fragment sans recalculer l’ensemble du contenu, un besoin fréquent dans les registres de conteneurs et les systèmes de fichiers distribués.

Cryptographie post-quantique : où se situent les deux algorithmes

La transition post-quantique renforce encore l’écart institutionnel entre les deux fonctions de hachage. Le NIST a finalisé ses premiers standards de cryptographie post-quantique avec ML-KEM (FIPS 203) pour l’échange de clés, ML-DSA (FIPS 204) et SLH-DSA (FIPS 205) pour les signatures. SHA-3, via sa variante SHAKE256, est utilisé comme brique interne dans plusieurs de ces standards, ce qui l’installe durablement au cœur de l’écosystème cryptographique de la prochaine décennie.

BLAKE3 ne figure dans aucun de ces standards. Cela ne signifie pas qu’il soit vulnérable aux ordinateurs quantiques plus que SHA-3 (les deux algorithmes sont des fonctions de hachage symétriques, dont la résistance quantique théorique repose sur l’algorithme de Grover et se mesure de façon comparable), mais qu’il reste hors du cadre normatif que suivent les protocoles post-quantiques officiels. Pour une équipe qui prépare une migration post-quantique, SHA-3 s’intègre nativement dans la feuille de route, BLAKE3 reste un choix parallèle réservé aux usages internes.

Erreurs d’implémentation courantes à éviter

La confusion la plus fréquente autour de SHA-3 concerne Ethereum. La blockchain utilise depuis sa création une fonction appelée Keccak-256, souvent présentée à tort comme identique à SHA3-256. Les deux partagent la même permutation Keccak-f[1600], mais Ethereum a implémenté sa version avant la finalisation du padding officiel du NIST en 2015. Le résultat : Keccak-256 et SHA3-256 produisent des condensats différents pour une même entrée. Un développeur qui copie une bibliothèque SHA3-256 standard pour vérifier une signature Ethereum obtiendra un résultat incorrect, une erreur documentée à de nombreuses reprises sur les forums de développement blockchain.

Côté BLAKE3, l’erreur la plus courante consiste à ignorer les trois modes distincts de l’algorithme : le mode de hachage classique, le mode dérivation de clé (key derivation) et le mode MAC keyed. Utiliser le mode par défaut là où un mode à clé est nécessaire pour l’authentification de messages expose à des vulnérabilités que l’algorithme lui-même ne présente pourtant pas dans sa conception. Autre piège fréquent : oublier que la sortie par défaut de 256 bits peut être étendue à une longueur arbitraire via le mode XOF, une fonctionnalité qui n’a pas d’équivalent direct avec un simple appel de fonction dans les bibliothèques SHA-3 traditionnelles, où chaque taille de sortie correspond à une fonction séparée.

Guide de migration : passer de SHA-256 ou SHA-3 vers BLAKE3

Pour les équipes qui veulent adopter BLAKE3 sur des usages internes non réglementés (vérification d’intégrité, cache, déduplication), voici les étapes concrètes à suivre.

  1. Vérifiez d’abord que l’usage visé n’entre dans aucun périmètre de conformité FIPS, RGS ou bancaire. Si c’est le cas, arrêtez-vous ici et gardez SHA-3.
  2. Auditez les dépendances existantes qui consomment vos hachages actuels (API, bases de données, formats de fichiers) pour repérer les points de rupture de compatibilité.
  3. Installez la bibliothèque BLAKE3 officielle pour votre langage (npm blake3, pip blake3, crate blake3).
  4. Créez une couche d’abstraction unique pour le hachage plutôt que d’appeler la bibliothèque partout dans le code, afin de pouvoir revenir en arrière facilement.
  5. Migrez d’abord un flux non critique (cache, logs, checksums internes) avant de toucher aux données de production sensibles.
  6. Faites tourner les deux algorithmes en parallèle pendant une phase de transition, pour comparer les résultats et détecter les régressions.
  7. Mesurez le gain de débit réel sur votre charge de travail, pas seulement sur les bancs d’essai génériques, car les gains varient selon la taille moyenne des fichiers traités.
  8. Documentez le changement d’algorithme dans votre registre de traitement de données, notamment si vous êtes soumis au RGPD.
  9. Prévoyez une procédure de recalcul des hachages existants si la migration touche des données déjà stockées.
  10. Conservez SHA-3 pour tout ce qui touche à la signature de documents, aux API exposées publiquement ou aux protocoles cryptographiques normalisés.
# Python – comparaison des deux approches
import hashlib
from blake3 import blake3

data = b"contenu a verifier"

# SHA-3, natif depuis Python 3.6
digest_sha3 = hashlib.sha3_256(data).hexdigest()

# BLAKE3, necessite le paquet pip "blake3"
digest_blake3 = blake3(data).hexdigest()

Avantages et inconvénients : le récapitulatif

Voici les forces et les limites de chaque algorithme, condensées pour aider à trancher rapidement.

  • SHA-3, avantages : standard FIPS 202 reconnu par le NIST et repris dans les listes d’algorithmes eIDAS en Europe, dix ans de cryptanalyse publique sans faille exploitable, résistance native à l’extension de longueur, support natif dans presque tous les langages sans dépendance tierce, brique interne des standards post-quantiques ML-DSA et SLH-DSA via SHAKE256.
  • SHA-3, inconvénients : débit nettement inférieur à BLAKE3 sur toutes les plateformes testées, parallélisation limitée par la construction en éponge, empreinte mémoire plus lourde sur de très gros volumes de données à traiter en continu.
  • BLAKE3, avantages : débit jusqu’à 19x supérieur selon les bancs d’essai 2025-2026, parallélisation native sur plusieurs cœurs et jeux d’instructions SIMD, licence permissive CC0 ou Apache 2.0, sortie extensible pratique pour le hachage d’arbres de fichiers, vérification en streaming possible grâce à sa structure en arbre de Merkle.
  • BLAKE3, inconvénients : aucun statut FIPS ou NIST reconnu par les auditeurs de conformité, marge de sécurité théorique réduite par rapport à BLAKE2 dont il dérive (7 tours contre 10), absence de support natif dans les bibliothèques standards des langages majeurs, totalement inadapté au hachage de mots de passe.

Notre verdict : quel algorithme choisir en 2026

Le choix ne se résume pas à un vainqueur unique. Pour tout projet soumis à une contrainte de conformité, qu’il s’agisse du secteur bancaire, des administrations françaises ou des protocoles post-quantiques normalisés, SHA-3 reste le seul choix défendable en 2026 : il figure dans le FIPS 202, s’intègre dans ML-DSA et SLH-DSA, et couvre les exigences du RGS de l’ANSSI. Aucun gain de vitesse ne compense l’absence de statut réglementaire dans ces contextes.

Pour les usages internes à forte volumétrie, vérification d’intégrité de fichiers, systèmes de build, déduplication de sauvegardes ou calculs blockchain à grande échelle, BLAKE3 s’impose par ses chiffres : un débit multi-thread jusqu’à 15 000 Mo/s contre 350 à 420 Mo/s pour SHA3-256 sur le même type de matériel, selon les bancs d’essai 2026. Les équipes techniques qui n’ont pas de contrainte d’audit externe ont donc tout intérêt à évaluer BLAKE3 sur leurs propres charges de travail avant de migrer, en gardant à l’esprit qu’aucun des deux algorithmes ne doit jamais servir à hacher un mot de passe.

Dans la pratique, beaucoup d’organisations finissent par adopter une approche hybride plutôt qu’un choix exclusif. Elles conservent SHA-3 ou SHA-256 pour tout ce qui touche à l’exposition publique, aux API externes et aux obligations réglementaires, tout en déployant BLAKE3 sur leurs pipelines internes de build, de cache et de sauvegarde, là où aucun auditeur externe ne viendra vérifier le choix d’algorithme. Cette coexistence évite de miser tout un système sur un seul standard et permet de profiter des gains de BLAKE3 sans exposer l’organisation à un refus de conformité.

Questions fréquentes

BLAKE3 est-il plus sûr que SHA-3 ?

Ni l’un ni l’autre n’a subi d’attaque pratique documentée à ce jour. SHA-3 bénéficie cependant d’une décennie de cryptanalyse publique et d’un statut FIPS 202, tandis que BLAKE3, plus récent, réduit le nombre de tours de sa fonction de compression par rapport à BLAKE2, ce qui diminue sa marge de sécurité théorique sans avoir jamais été exploité. Pour un usage grand public non réglementé, les deux restent considérés comme sûrs par la communauté cryptographique en 2026.

Peut-on utiliser BLAKE3 pour hacher des mots de passe ?

Non, et ce conseil vaut aussi pour SHA-3. Leur vitesse extrême facilite les attaques par force brute sur GPU, où des millions de combinaisons peuvent être testées chaque seconde. Utilisez une fonction memory-hard comme Argon2id, conçue spécifiquement pour consommer du temps et de la mémoire afin de ralentir ce type d’attaque, quitte à sacrifier de la vitesse pour ce cas d’usage précis.

SHA-3 est-il obligatoire pour la conformité en France ?

Le Référentiel Général de Sécurité de l’ANSSI recommande les familles SHA-2 et SHA-3 pour les systèmes soumis à des exigences de sécurité de l’État ou des collectivités. BLAKE3 n’y figure pas comme option validée en 2026. Les mêmes contraintes s’appliquent aux prestataires de confiance qualifiés au sens du règlement européen eIDAS, dont les listes d’algorithmes reconnus excluent également BLAKE3.

BLAKE3 remplace-t-il SHA-256 ?

Il peut le faire techniquement sur des usages internes non réglementés, avec un gain de débit important. Il ne le remplace pas dans les contextes où SHA-256 ou SHA-3 sont exigés par une norme, un audit ou un standard cryptographique.

Quelle bibliothèque utiliser pour BLAKE3 en Node.js ?

Le paquet npm officiel s’appelle blake3, maintenu par l’équipe du projet. Il n’existe pas de support natif dans le module crypto de Node.js en 2026.

BLAKE3 et SHA-3 résistent-ils aux ordinateurs quantiques ?

Les deux sont des fonctions de hachage symétriques, dont la résistance théorique face à un ordinateur quantique repose sur l’algorithme de Grover et se mesure de façon comparable entre les deux. SHA-3 a en revanche l’avantage d’être directement intégré aux standards post-quantiques ML-DSA et SLH-DSA via SHAKE256.

Pourquoi BLAKE3 n’est-il pas un standard NIST ?

Parce qu’il n’a jamais été soumis à un processus de standardisation officiel. C’est un projet communautaire né en 2020, quand SHA-3 a suivi un concours public du NIST lancé dès 2007 et conclu en 2015.

Quel algorithme choisir pour un nouveau projet en 2026 ?

Posez d’abord la question de la conformité réglementaire. Si votre projet touche à la finance, à l’administration ou à un protocole normalisé, choisissez SHA-3. Si votre besoin est purement interne et orienté performance, comme la vérification d’intégrité de fichiers ou la déduplication, testez BLAKE3 sur votre propre charge de travail avant de généraliser.

Keccak-256 d’Ethereum est-il la même chose que SHA3-256 ?

Non, malgré leur nom proche. Ethereum utilise Keccak-256, implémenté avant la finalisation du padding officiel du NIST en 2015. SHA3-256, lui, respecte le padding final standardisé dans le FIPS 202. Les deux fonctions partagent la même permutation interne mais produisent des condensats différents pour une entrée identique, une distinction à connaître avant de mélanger une bibliothèque SHA-3 standard avec du code destiné à Ethereum.