Aller au contenu

RC2 : Rivest Cipher 2

Cryptographie

RC2 : Rivest Cipher 2, chiffrement par bloc conçu par Ron Rivest en 1987. « Un secret commercial devenu public sans le consentement de son propriétaire, et un chiffrement fort rendu faible avec le consentement de son gouvernement », par analogie avec une serrure vendue à l'étranger avec un pêne volontairement raccourci.

Conception : RC2 chiffre des blocs de 64 bits avec une clé de longueur variable, de 8 à 1024 bits, et un paramètre de longueur de clé effective qui borne la sécurité quelle que soit la longueur fournie. Gardé comme secret commercial par RSA Data Security, son fonctionnement a été publié anonymement sur Usenet en 1996, puis décrit officiellement dans la RFC 2268 (mars 1998).

Exportation : Ce réglage de la clé effective facilitait les autorisations d'exportation américaines : des versions à 40 bits équipaient les logiciels vendus hors des États-Unis, notamment pour S/MIME. Une clé de 40 bits se trouve aujourd'hui par recherche exhaustive sur du matériel courant.

Héritage : RC2 à 40 bits a longtemps chiffré la partie certificats des fichiers PKCS#12 (.p12, .pfx). OpenSSL 3 ne le propose plus qu'à travers le fournisseur legacy, si bien que d'anciens fichiers refusent soudain de s'ouvrir après une mise à jour, ce qui constitue au moins un inventaire gratuit.

Cryptanalyse : Kelsey, Schneier et Wagner ont publié une attaque à clés apparentées contre RC2 en 1997. Ses blocs de 64 bits l'exposent en outre aux attaques par anniversaire sur de gros volumes, comme 3DES.

Ce qui arrive si on s'en passe

Garder RC2 activé pour relire d'anciens conteneurs PKCS#12 ou messages S/MIME pérennise une primitive à blocs de 64 bits et, dans ses versions à 40 bits, une protection qu'un ordinateur portable contourne par recherche exhaustive. Les conteneurs produits par des outils anciens mêlent souvent RC2 pour les certificats et 3DES pour la clé privée, deux héritages que les bibliothèques actuelles isolent. Le risque est double : une confidentialité illusoire et, le jour où le fournisseur legacy disparaît, des fichiers illisibles au pire moment. Réexporter ces conteneurs avec AES et PBKDF2, puis retirer RC2, évite les deux.

Explication de la marmotte

RC2 est une ancienne méthode de chiffrement des années 1980. Pendant longtemps, les logiciels vendus hors des États-Unis devaient en utiliser une version volontairement affaiblie, à cause des lois sur l'exportation. On la trouve encore dans de vieux fichiers qui contiennent des certificats. Elle est aujourd'hui dépassée et doit être remplacée par AES.

Où ce terme est utilisé

← Tout le glossaire