Outil de Chiffrement et Déchiffrement DES
Prend en charge DES et Triple DES (3DES), cinq modes de chiffrement disponibles
Paramètres de chiffrement
Qu'est-ce que DES ?
DES (Data Encryption Standard) est né en 1977, développé par IBM puis modifié par la NSA avant de devenir un standard fédéral américain. Il utilise un réseau de Feistel qui divise un texte clair de 64 bits en deux moitiés et les transforme sur 16 tours. La clé est nominativement de 64 bits, mais 8 bits sont réservés aux contrôles de parité, ne laissant que 56 bits de clé effective. Ces 56 bits étaient considérés comme sûrs à l'époque, mais en 1999, du matériel spécialisé pouvait le casser par force brute en 22 heures. Triple DES (3DES) a été développé pour prolonger la durée de vie de DES : il applique le chiffrement DES trois fois avec trois clés différentes, atteignant 168 bits de clé effective. 3DES est encore largement utilisé dans le secteur financier, notamment dans les cartes à puce EMV et de nombreux protocoles bancaires. Bien qu'AES ait officiellement remplacé DES comme standard de chiffrement, DES et 3DES restent présents dans les systèmes existants, les protocoles financiers et les appareils embarqués. Cet outil prend en charge les deux algorithmes avec les modes CBC, ECB, CFB, OFB et CTR.
Comment utiliser
Comment utiliser
- Choisissez l'algorithme : DES (clé de 56 bits) ou 3DES (clé de 168 bits)
- Sélectionnez un mode de chiffrement - CBC est recommandé
- Choisissez un schéma de remplissage - PKCS#7 convient dans la plupart des cas
- Entrez une clé ou cliquez sur « Generate Random Key »
- Pour les modes nécessitant un IV, saisissez-en un ou générez-en un
- Saisissez votre texte clair (à chiffrer) ou votre texte chiffré (à déchiffrer) à gauche
- Les résultats apparaissent automatiquement à droite
Modes de chiffrement
- CBC — Cipher Block Chaining. Applique un XOR sur chaque bloc de texte clair avec le bloc chiffré précédent avant le chiffrement. Nécessite un IV. Bonne sécurité, mode le plus couramment utilisé.
- ECB — Electronic Codebook. Chaque bloc est chiffré indépendamment - des blocs de texte clair identiques produisent du texte chiffré identique. Convient pour un seul bloc de 8 octets, non recommandé pour les données plus longues.
- CFB — Cipher Feedback. Transforme le chiffrement par bloc en un chiffrement par flux. Convient au traitement des données octet par octet ou par petits morceaux.
- OFB — Output Feedback. Similaire à CFB mais les erreurs ne se propagent pas. Utile lorsque le canal de communication est bruité.
- CTR — Counter mode. Utilise un compteur incrémental pour générer un flux de clés. Prend en charge le chiffrement et le déchiffrement en parallèle avec de bonnes performances.
Conseils
- Utilisez AES si possible - DES existe principalement pour la compatibilité avec les anciens systèmes
- 3DES est bien plus sécurisé que DES, mais environ trois fois plus lent
- Utilisez toujours un IV aléatoire différent pour chaque chiffrement
- Évitez ECB pour chiffrer des données de plus de 8 octets
- Générez des clés aléatoires plutôt que de saisir des chaînes mémorables
Cas d’utilisation
Principe technique
DES est un chiffrement par bloc de Feistel publié en tant que FIPS 46 en 1977. Il opère sur des blocs de 64 bits avec une clé de 64 bits, dont 8 bits sont dédiés à la parité, laissant 56 bits de matériel de clé effectif. Le chiffrement commence par la Permutation Initiale (IP), divise l'état de 64 bits en deux moitiés de 32 bits L0 et R0, et exécute 16 tours de Feistel de la forme (L_{i+1}, R_{i+1}) = (R_i, L_i XOR F(R_i, K_i)). La fonction de tour F étend 32 bits à 48 bits via la boîte E, applique un XOR avec la clé de tour K_i de 48 bits dérivée par l'ordonnancement de clé PC-1 / PC-2, applique huit S-boxes de 6 à 4 bits (S1..S8) et exécute la permutation P-box. La Permutation Finale (FP = IP^-1) produit le texte chiffré. Triple DES, défini dans NIST SP 800-67, applique trois fois DES dans une construction Chiffrement-Déchiffrement-Chiffrement (EDE) : C = E_{K3}(D_{K2}(E_{K1}(P))). L'option de clé 1 utilise trois clés indépendantes de 56 bits (168 bits bruts, ~112 bits de sécurité effective contre l'attaque par rencontre au milieu) ; l'option de clé 2 définit K1 = K3 (~80 bits effectifs). Les modes de chiffrement par bloc encapsulent DES/3DES pour traiter des messages de plus de 64 bits : ECB chiffre chaque bloc indépendamment et fuit les motifs du texte clair ; CBC chaîne via C_i = E_K(P_i XOR C_{i-1}) avec un IV aléatoire de 8 octets ; CFB et OFB transforment le chiffrement par bloc en un chiffrement par flux auto-synchronisant ou synchrone ; CTR applique un XOR sur le texte clair avec E_K(nonce || compteur). L'espace de clés de 56 bits de DES (2^56 ≈ 7,2 × 10^16) est exhausable : le EFF DES Cracker a cassé un défi DES en 22 heures en 1998 avec des ASIC sur mesure, et les clusters GPU/FPGA modernes y parviennent en quelques heures. NIST SP 800-131A a retiré DES simple en 2005 et a interdit Triple DES pour le chiffrement après 2023 ; l'attaque par anniversaire Sweet32 (CVE-2016-2183) affaiblit davantage 3DES dans TLS car sa taille de bloc de 64 bits permet des collisions après ~2^32 blocs (~32 Go) sous une seule clé. Les systèmes modernes doivent utiliser AES-128 ou AES-256 dans un mode authentifié tel que GCM ou ChaCha20-Poly1305.
- La clé DES fait 8 octets parité comprise (56 bits effectifs) ; les clés 3DES font 16 octets (2 clés, ~80 bits de sécurité) ou 24 octets (3 clés, ~112 bits de sécurité contre l'attaque par rencontre au milieu).
- La taille de bloc est de 64 bits / 8 octets ; CBC, CFB, OFB et CTR nécessitent tous un IV/nonce de 8 octets, ECB n'utilise pas d'IV (et fuit des motifs au niveau du bloc).
- Le remplissage PKCS#7 ajoute N octets de valeur N (1 ≤ N ≤ 8) ; un bloc complet de 8 octets de 0x08 est ajouté lorsque la longueur du texte clair est déjà un multiple de 8.
- Les clés faibles 0x0101010101010101, 0xFEFEFEFEFEFEFEFE et les quatre paires de clés semi-faibles rendent K1 = K2 dans l'ordonnancement de clé, donc E_K = D_K — évitez-les lors de la génération de clés aléatoires.
- Sweet32 (CVE-2016-2183) exploite le bloc de 64 bits de 3DES : une seule clé entre en collision après ~2^32 blocs (~32 Go de texte clair sous une seule clé en mode CBC).
- NIST SP 800-67 Rev. 2 a interdit Triple DES pour le chiffrement après le 31 décembre 2023 ; les nouvelles conceptions doivent utiliser AES-GCM ou ChaCha20-Poly1305, et non DES ou 3DES.
- Le EFF DES Cracker (Deep Crack) a cassé DES en 22 heures en juillet 1998 pour moins de 250 000 dollars de 1998 ; les clusters GPU modernes y parviennent en quelques heures, donc DES simple n'est pas un contrôle de confidentialité.
Exemples
Chiffrement DES-CBC
Texte clair : Hello World
Key (hex): 0123456789abcdef
IV (hex): fedcba9876543210
Mode : CBC / PKCS#7
Sortie : texte chiffré encodé en Base64Chiffrement 3DES
Algorithm: Triple DES
Key (hex): 24 octets (48 caractères hex)
Mode : CBC / PKCS#7
Note : la clé de 168 bits reste considérée comme sûre aujourd'hui, mais préférez AES pour les nouveaux projetsECB bloc unique
Texte clair : 8 octets (exactement un bloc DES)
Clé : 0123456789abcdef
Mode : ECB / PKCS#7
Note : ECB n'est sûr que pour un seul bloc de 8 octets ; ne l'utilisez jamais pour des données plus longuesFAQ
DES est-il encore sûr ?
Non. DES en clair a une clé effective de 56 bits et a été cassé publiquement en 1998 — du matériel dédié peut le casser par force brute en moins d'une journée, et les GPU cloud actuels y parviennent en quelques minutes. NIST a officiellement retiré DES en 2005. Utilisez AES pour tout nouveau système.
Et le Triple DES (3DES) ?
3DES applique DES trois fois avec deux ou trois clés, offrant à peu près 112 bits de sécurité effective. NIST a déprécié 3DES en 2017 et l'a interdit pour les nouvelles applications après 2023, en raison des attaques d'anniversaire (Sweet32) sur sa taille de bloc de 64 bits. Il ne survit que dans les systèmes hérités (anciens réseaux bancaires et POS) — migrez dès que possible.
Pourquoi la page propose-t-elle encore DES ?
Parce que des systèmes hérités du monde réel l'utilisent encore. L'outil est utile lorsqu'il faut interopérer avec un ancien format bancaire, un firmware embarqué ou un exercice d'examen. Ce n'est pas une recommandation — le code neuf doit utiliser AES.
Que sont les modes de DES et que signifient-ils ?
ECB chiffre chaque bloc indépendamment et laisse fuir des motifs. CBC chaîne les blocs et exige un IV. CFB et OFB transforment DES en chiffrement de flux. CTR utilise un compteur comme nonce. Pour DES, préférez CBC avec un padding PKCS#7 quand l'objectif est l'interopérabilité ; n'utilisez jamais ECB sur des données réelles.
Quelles tailles de bloc et de clé utilise DES ?
DES a une taille de bloc de 64 bits et une clé de 64 bits, dont seuls 56 bits sont du matériel de clé (8 bits sont des bits de parité). 3DES à trois clés conserve le bloc de 64 bits — d'où le problème Sweet32 à grand volume de données.
Le calcul est-il effectué dans mon navigateur ?
Oui. DES est calculé localement en JavaScript. Clés et texte clair ne quittent pas l'appareil. Vous pouvez le vérifier dans l'onglet Network pendant un chiffrement/déchiffrement.
Pourquoi ma sortie 3DES ne correspond-elle pas à un système partenaire ?
Causes courantes : mauvais bits de parité de clé, octets de clé classés différemment, mauvais mode (ECB vs CBC), IV manquant ou en trop, mauvais padding (PKCS#7 vs ZeroPadding), ou entrée encodée en UTF-8 d'un côté et UTF-16 de l'autre. Validez un vecteur de test connu avec le partenaire avant de déboguer sur des données réelles.