title: RC2
text: # RC2
  
  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.
  
  ## Histoire
  
  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 29 janvier 1996, 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
  
  RC2 est vulnérable à une attaque par clé apparentée de John Kelsey qui nécessite $2^{34}$ textes clairs choisis. Elle fut publiée en 1997 peu après la diffusion du code sur Internet.
  
  