RC2

RC2
Description de l'image RC2 InfoBox Diagram.png.
Résumé
Concepteur(s) Ronald Rivest, NSA
Première publication conçu en 1987, publié en 1996
Dérivé de Aucun
Chiffrement(s) basé(s) sur cet algorithme Aucun
Caractéristiques
Taille(s) du bloc 64 bits
Longueur(s) de la clé taille variable
Structure schéma de Feistel
Nombre de tours 18 tours

Meilleure cryptanalyse

John Kelsey, attaque par clé apparentée

RC2 est un chiffrement de bloc conçu par Ronald Rivest en 1987. L'abréviation « RC » signifie Ron's Code ou Rivest Cipher. Le cryptologue est à l'origine des autres RC (RC4, RC5 et RC6).

RC2 utilise un bloc de 64 bits avec une clé de taille variable. Ses 18 tours sont arrangés selon un réseau de Feistel avec 16 tours de type MIXING englobés dans deux tours de type MASHING. Un tour MIXING comprend quatre transformations nommées MIX.

Le développement de RC2 fut sponsorisé par Lotus Software qui avait besoin d'un chiffrement personnalisé. Après évaluation par la NSA, ce chiffrement devait être implémenté dans la suite de logiciels Lotus Notes. La NSA proposa plusieurs changements que Rivest incorpora. Après d'autres négociations, le chiffrement fut autorisé pour l'exportation en 1989. Tout comme RC4, une version avec une clé de chiffrement de 40 bits fut traitée favorablement sous la loi des États-Unis concernant l'exportation de technologie cryptographique.

Initialement, les détails de l'algorithme furent secrètement conservés par RSA Security mais le , le code source de RC2 fut posté anonymement sur Internet dans sci.crypt. Une telle fuite s'était déjà produite avec RC4. L'origine de la fuite demeure un mystère et on ne sait pas si l'algorithme a été obtenu grâce aux spécifications originales ou par des méthodes de rétro-ingénierie.

Cryptanalyse

[modifier | modifier le code]

RC2 est vulnérable à une attaque par clé apparentée de John Kelsey qui nécessite 234 textes clairs choisis. Elle fut publiée en 1997 peu après la diffusion du code sur Internet.

Références

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]