CoderTools

Chiffrement/Déchiffrement Famille RC

Chiffrements symétriques RC2/RC4/RC5/RC6 conçus par Ron Rivest

⚠️ Avis de sécurité

RC4 présente des vulnérabilités connues et a été déprécié de TLS/SSL. Pour une sécurité maximale, envisagez d'utiliser AES-256. Toutes les données sont traitées localement dans votre navigateur.

Longueur de clé RC2: 1-128 octets. Taille de bloc: 64 bits. Bits de clé effectifs recommandés: 128
Options de format

À propos de la famille RC

La famille RC (Rivest Cipher, aussi "Ron's Code") a été conçue par Ron Rivest au MIT et RSA Security sur plusieurs décennies. RC2 (1987, publié via RFC 2268 en 1998) est un chiffrement par blocs 64 bits à clé variable (64–128 bits), créé pour un usage à exportation contrôlée. RC4 (1987, fuitée sur la liste Cypherpunks en 1994) est un chiffrement de flux tristement célèbre pour la vulnérabilité WEP et l'attaque Fluhrer-Mantin-Shamir.

RC5 (1994, Rivest) introduit un chiffrement entièrement paramétré — RC5-w/r/b choisit la largeur des mots, le nombre de tours et la longueur de clé. RC6 (1998, Rivest, Gupta, Shamir, Yin) étend RC5 avec la multiplication d'entiers et quatre registres en tant que candidat AES final utilisant des blocs 128 bits.

Comparaison des algorithmes

Algorithme Type Longueur de clé Taille de bloc Sécurité Statut
RC2 Chiffrement par blocs 1-128 octets 64 bits Faible Déprécié
RC4 Chiffrement de flux 1-256 octets N/A (flux) Faible Déprécié
RC5 Chiffrement par blocs 0-255 octets 32/64/128 bits Bon Sécurisé
RC6 Chiffrement par blocs 16/24/32 octets 128 bits Excellent Finaliste AES

RC2 (Rivest Cipher 2)

RC2 est un chiffrement par blocs de 64 bits conçu en 1987. Il utilise une clé de longueur variable (1-128 octets) et possède un paramètre unique de 'bits de clé effectifs' qui peut limiter l'espace de recherche de clé.

Conçu à l'origine comme secret, RC2 visait la compatibilité d'exportation avec une longueur de clé effective de 40 bits. En raison de vulnérabilités connues, il ne doit être utilisé que pour la compatibilité avec les systèmes existants.

RC4 (Rivest Cipher 4)

RC4 est un chiffrement de flux conçu en 1987. Il génère un flux pseudo-aléatoire d'octets (flux de clés) qui est XORé avec le texte clair. Connu pour sa simplicité et sa vitesse, il a été largement utilisé dans les protocoles SSL/TLS, WEP et WPA.

En raison des vulnérabilités découvertes (surtout dans les premiers octets du flux de clés), RC4 a été déprécié des protocoles de sécurité modernes. La variante 'RC4-Drop' ignore les octets initiaux du flux de clés pour atténuer ces problèmes.

RC5 (Rivest Cipher 5)

RC5, publié en 1994, a introduit une conception paramétrable avec trois variables: taille du mot (w), nombre de tours (r) et longueur de clé (b). Cette flexibilité permet d'adapter RC5 à différentes exigences de sécurité.

RC5 utilise des rotations dépendantes des données comme opération non linéaire principale, ce qui le rend simple mais efficace. Les configurations courantes incluent RC5-32/12/16 (mots de 32 bits, 12 tours, clé de 16 octets).

RC6 (Rivest Cipher 6)

RC6 a été soumis comme candidat AES en 1998 et était l'un des cinq finalistes. Il étend RC5 avec la multiplication d'entiers pour une meilleure diffusion et utilise quatre registres de travail au lieu de deux.

Avec une taille de bloc fixe de 128 bits et un support pour des clés de 128/192/256 bits, RC6 offre une excellente sécurité. Bien que Rijndael ait été sélectionné comme AES, RC6 reste un algorithme respecté et sécurisé.

Caractéristiques principales

  • RC2: Chiffrement par blocs ancien avec longueur de clé variable, uniquement pour la compatibilité
  • RC4: Chiffrement de flux extrêmement rapide, idéal pour les applications en temps réel
  • RC5: Conception paramétrable permettant des compromis flexibles sécurité/performance
  • RC6: Chiffrement par blocs moderne avec de fortes garanties de sécurité
  • Tous les algorithmes sont libres de brevets et disponibles gratuitement pour tout usage

Modes de chiffrement (RC5/RC6)

  • CBC: CBC pour RC2/RC5/RC6 — blocs 64 bits de RC2/RC5-32/RC6-32 exposés au risque Sweet32 (≈ 32 Go sous la même clé). RC4 n'a pas de mode CBC ; il génère un flux PRGA continu.
  • ECB: ECB pour RC2/RC5/RC6 — chaque bloc traité indépendamment. Blocs identiques → chiffrés identiques. ECB uniquement pour chiffrement de jeton ou enveloppement de clé.
  • CFB: CFB pour RC2/RC5/RC6 — la fonction blocs chiffre le segment précédent et les n bits supérieurs sont XORés avec le texte clair. Mode flux auto-synchronisant.
  • OFB: OFB pour RC2/RC5/RC6 — génération de flux de clé par re-chiffrement itératif, indépendant du texte clair. Pas de propagation d'erreur.

Considérations de sécurité

  • RC4 NE DOIT PAS être utilisé pour de nouvelles applications. RFC 7465 (2015) interdit formellement RC4 dans TLS. L'attaque FMS (2001) récupérait des clés WEP en moins d'une minute. RC4 ici est uniquement pour le déchiffrement de données héritées.
  • Le RC4-Drop (rejet des 768–3072 premiers octets PRGA) atténue mais n'élimine pas les biais RC4. L'attaque NOMORE (2015, Black Hat) a récupéré des cookies TLS RC4 en 75 heures.
  • RC5 et RC6 n'ont aucune attaque pratique plein-tour, mais leurs blocs 64 bits exposent au risque Sweet32 dès ≈ 32 Go de données CBC sur la même clé.
  • RC2 a été conçu pour une clé effective de 40 bits (export) et doit être traité comme faible. Utiliser exclusivement pour la compatibilité S/MIME héritée.

Cas d'utilisation

  • Forensique WEP/WPA : reconstruction du flux RC4 par paquet à partir de l'IV 3 octets et de la clé réseau
  • Déchiffrement S/MIME : archives e-mail chiffrées avec RC2/40 ou RC2/128 sous RFC 2268
  • Recherche RC5 : comparaison de RC5-32/12/16 à RC5-64/20/16 pour comprendre le passage ARX multi-largeur
  • Évaluation AES : reproduction RC6-32/20 pour comparaison côte à côte avec Rijndael, Serpent, Twofish, MARS

Références

Menu Rapide

Aucun outil récent