Surchiffrement
| Image manquante Key-crypto-sideways.png | Cet article est une ébauche concernant la cryptologie, vous pouvez partager vos connaissances en le modifiant. |
Le surchiffrement est un procédé cryptographique qui consiste à chiffrer, avec d'autres algorithmes et des clés différentes, des données qui avaient déjà été chiffrées. On peut le faire autant de fois que nécessaire mais cela implique nécessairement des performances amoindries.
Cette méthode permet normalement de s'assurer qu'en cas de vulnérabilité d'un des systèmes utilisés, les autres pourront prendre le relais et assurer encore une forte protection. Il permet aussi de cacher certaines propriétés statistiques dans les cas où des chiffrements faibles seraient utilisés.
Risques
Le surchiffrement double avec le même algorithme mais deux clés différentes présente des risques. On peut en effet appliquer une attaque par le milieu. Contrairement à ce que l'on peut penser à prime abord, le chiffrement obtenu n'est pas équivalent à un chiffrement avec une clé deux fois plus longue (on ne passe pas de 256 à 2112 dans le cas de DES). Il suffit en effet d'essayer toutes les clés pour déchiffrer la première étape. On obtient un résultat, toujours chiffré, qui se trouve entre les deux blocs de chiffrement. Ce résultat est soumis à son tour à une recherche exhaustive avec toutes les clés possibles. Au final, la complexité est seulement multipliée par deux.
Dans le cas de DES, on obtient une résistance de l'ordre de 257, c'est pourquoi on utilise 3DES qui a une complexité finale de 2112 opérations (malgré une clé plus longue de 3*56 bits). Grâce à trois chiffrements, chaque sortie du deuxième bloc de chiffrement doit être essayée avec toutes les clés, ce qui augmente considérablement le nombre de possibilités. Il est donc vivement recommandé de ne pas surchiffrer avec le même algorithme deux fois de suite.
Une vulnérabilité pourrait survenir si les clés ne sont pas complètement aléatoires. Dans ce cas, en partant du principe que par malchance, la première clé et la deuxième clé sont les mêmes, et que le chiffrement est réversible, alors ce surchiffrement produira le message original !
Dans le cas où des algorithmes mutuellement distincts sont employés, avec des clés indépendantes et aléatoires, alors un surchiffrement est au moins aussi robuste que l'algorithme le plus robuste. Toutefois en 1993, Ueli Maurer et James Massey ont montré que ce constat ne tient que si l'on part du principe que l'attaquant ne peut pas exploiter les statistiques du message en clair (c'est à dire qu'il n'a aucune information sur le contenu du message, sa forme, le langage dans lequel il est écrit, son encodage, etc.).
(en) Cascade ciphers : the importance of beeing first
| Image manquante Key-crypto-sideways.png | Portail Cryptologie - Accédez d'un seul coup d’œil à toute la série des articles « Cryptologie » de Wikipédia. |
