AdSense Placeholder
Slot: header_reference_page
Un hachage transforme n'importe quelle entrée en une empreinte de taille fixe et ne peut pas être inversé ; un chiffrement brouille les données avec une clé de façon à pouvoir les déchiffrer ensuite. Les tailles d'empreinte ci-dessous ont été calculées avec hashlib de Python, et les tailles de clé et d'IV des chiffrements ont été lues dans OpenSSL 3.5. Essayez n'importe quel hachage avec le générateur de hachage.
Fonctions de hachage
| Algorithme |
Empreinte (bits) |
Caractères hexa |
Bloc interne (bits) |
Statut |
| CRC-32 |
32 |
8 |
n/a |
Détection d'erreurs uniquement, pas un hachage de sécurité |
| MD5 |
128 |
32 |
512 |
Cassé : les collisions sont bon marché |
| SHA-1 |
160 |
40 |
512 |
Cassé : collisions pratiques depuis 2017 ; à éviter |
| RIPEMD-160 |
160 |
40 |
512 |
Ancien (adresses Bitcoin) ; pas pour de nouvelles conceptions |
| SHA-224 |
224 |
56 |
512 |
Actuel (SHA-2) |
| SHA-256 |
256 |
64 |
512 |
Actuel ; le choix par défaut |
| SHA-384 |
384 |
96 |
1024 |
Actuel |
| SHA-512 |
512 |
128 |
1024 |
Actuel ; souvent plus rapide que SHA-256 sur les processeurs 64 bits sans instructions SHA |
| SHA-512/256 |
256 |
64 |
1024 |
Actuel ; résiste à l'extension de longueur |
| SHA3-256 |
256 |
64 |
1088 (débit) |
Actuel (Keccak) |
| SHA3-512 |
512 |
128 |
576 (débit) |
Actuel |
| SHAKE128 / SHAKE256 |
longueur au choix |
au choix |
1344 / 1088 (débit) |
Actuel ; sortie extensible |
| BLAKE2s |
jusqu'à 256 |
jusqu'à 64 |
512 |
Actuel ; rapide en logiciel |
| BLAKE2b |
jusqu'à 512 |
jusqu'à 128 |
1024 |
Actuel |
| SM3 |
256 |
64 |
512 |
Norme nationale chinoise |
Identifier un hachage par sa longueur : 32 caractères hexa, c'est en général MD5 ; 40, SHA-1 ; 64, SHA-256 (ou SHA3-256, BLAKE2s) ; 128, SHA-512 (ou SHA3-512, BLAKE2b). La longueur seule ne permet pas de distinguer des algorithmes de même taille.
Vecteurs de test pour le texte abc
| Algorithme |
Empreinte (hexa) |
| CRC-32 |
352441c2 |
| MD5 |
900150983cd24fb0d6963f7d28e17f72 |
| SHA-1 |
a9993e364706816aba3e25717850c26c9cd0d89d |
| SHA-256 |
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
| SHA3-256 |
3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532 |
HMAC-SHA256, clé key |
9c196e32dc0175f86f4b1cb89289d6619de6bee699e4c378e68309ed97a1a6ab |
Collez abc dans les outils pour vérifier une implémentation ; contrôlez des fichiers avec le calculateur de somme de contrôle de fichier et les empreintes à clé avec le générateur HMAC.
Chiffrements symétriques
| Chiffrement |
Type |
Clé (bits) |
Bloc (bits) |
IV / nonce (bits) |
Statut |
| AES-128 |
Par blocs |
128 |
128 |
128 (CBC), 96 (GCM) |
Actuel |
| AES-192 |
Par blocs |
192 |
128 |
128 (CBC), 96 (GCM) |
Actuel |
| AES-256 |
Par blocs |
256 |
128 |
128 (CBC), 96 (GCM) |
Actuel ; le choix habituel |
| ChaCha20 |
Par flux |
256 |
n/a |
nonce de 96 + compteur de 32 bits |
Actuel ; à associer à Poly1305 |
| Camellia |
Par blocs |
128 / 192 / 256 |
128 |
128 |
Actuel ; moins courant |
| ARIA |
Par blocs |
128 / 192 / 256 |
128 |
128 |
Norme coréenne |
| SM4 |
Par blocs |
128 |
128 |
128 |
Norme nationale chinoise |
| Triple DES (3DES) |
Par blocs |
168 (robustesse de 112 bits) |
64 |
64 |
Déprécié : bloc de 64 bits |
| Blowfish |
Par blocs |
de 32 à 448 |
64 |
64 |
Ancien : bloc de 64 bits |
| DES |
Par blocs |
56 |
64 |
64 |
Cassé : la clé de 56 bits peut être trouvée par force brute |
| RC4 |
Par flux |
de 40 à 2048 |
n/a |
aucun |
Cassé : interdit dans TLS |
Modes de fonctionnement
| Mode |
Authentifié ? |
Remarques |
| GCM |
Oui (AEAD) |
Par défaut dans TLS et la plupart des API ; ne réutilisez jamais un nonce avec la même clé |
| ChaCha20-Poly1305 |
Oui (AEAD) |
Rapide sans matériel AES ; même règle pour le nonce |
| CCM |
Oui (AEAD) |
Appareils à ressources limitées |
| CBC |
Non |
Exige un IV aléatoire et un MAC séparé ; risque d'oracle de bourrage (padding oracle) |
| CTR |
Non |
Transforme un chiffrement par blocs en chiffrement par flux ; exige un MAC |
| ECB |
Non |
Des blocs identiques donnent des sorties identiques : ne l'utilisez jamais pour des données |
Hachage de mots de passe
| Algorithme |
Format d'exemple |
Coût réglable |
Statut |
| Argon2id |
$argon2id$v=19$m=65536,t=3,p=4$... |
Mémoire, temps, parallélisme |
Premier choix recommandé |
| scrypt |
$scrypt$... (le format varie) |
Mémoire et processeur |
Bon |
| bcrypt |
$2b$12$ + 53 caractères (60 au total) |
Facteur de coût (12 = 2^12 tours) |
Bon ; entrée limitée à 72 octets |
| PBKDF2-HMAC-SHA256 |
pbkdf2_sha256$600000$... |
Nombre d'itérations |
Acceptable lorsque FIPS est exigé |
| SHA-256 / MD5 seuls |
|
aucun |
Jamais : des milliards d'essais par seconde sur un GPU |
Ajoutez toujours un sel aléatoire unique (les formats ci-dessus le stockent pour vous). Générez des hachages bcrypt avec le générateur bcrypt.
Algorithmes asymétriques
| Algorithme |
Usage |
Clé typique |
Signature / sortie |
Statut |
| RSA |
Signatures, transport de clés |
2048 à 4096 bits |
Même taille que la clé |
Actuel à partir de 2048 ; 1024 est trop faible |
| ECDSA P-256 |
Signatures |
256 bits |
64 octets (r et s bruts) |
Actuel |
| Ed25519 |
Signatures |
256 bits (clé de 32 octets) |
64 octets |
Actuel ; simple et rapide |
| X25519 |
Accord de clés |
256 bits |
Secret partagé de 32 octets |
Actuel (TLS 1.3) |
| ECDH P-256 |
Accord de clés |
256 bits |
Secret partagé de 32 octets |
Actuel |
| ML-KEM (Kyber) |
Accord de clés post-quantique |
Jeux de paramètres 512, 768, 1024 |
Secret partagé de 32 octets |
Norme du NIST (FIPS 203) |
| ML-DSA (Dilithium) |
Signatures post-quantiques |
Jeux de paramètres 44, 65, 87 |
2420, 3309 ou 4627 octets |
Norme du NIST (FIPS 204) |
| DSA |
Signatures |
1024 à 3072 bits |
|
Déprécié |
Créez des paires de clés RSA ou à courbe elliptique avec le générateur de paires de clés ; chiffrez un texte court avec AES dans l'outil de chiffrement de texte AES.