Je commence à apprendre les algorithmes cryptographiques et je comprends comment fonctionnent les algorithmes mentionnés ci-dessus. Est-ce que la longueur de clé d'AES est plus longue? Quelles étapes du cryptage AES le rendent moins vulnérable que DES?
DES a été conçu avec une longueur de clé effective de 56 bits, ce qui est vulnérable à recherche exhaustive . Il présente également quelques faiblesses par rapport à la cryptanalyse différentielle et linéaire: celles-ci permettent de récupérer la clé en utilisant respectivement 247 en clair choisis, ou 243 les textes en clair connus. Un texte clair connu est un bloc chiffré (un bloc de 8 octets, pour DES) pour lequel l'attaquant connaît le bloc déchiffré correspondant. Un texte en clair choisi est une sorte de texte en clair connu où l'attaquant peut choisir lui-même le bloc déchiffré. Dans des conditions d'attaque pratiques, de telles quantités énormes de textes en clair connus ou choisis ne peuvent pas vraiment être obtenues, par conséquent, l'analyse cryptographique différentielle et linéaire n'a pas vraiment d'impact sur la sécurité réelle du DES; le point le plus faible est la touche courte. Pourtant, l'existence de ces attaques, qui, d'un point de vue académique , sont moins complexes que la recherche par clé exhaustive (qui utilise 255 invocations en moyenne), est perçue comme un manque de sécurité.
En remarque, l'analyse différentielle était connue des concepteurs DES, et DES a été durcie contre elle (d'où le "bon score" de 247). Avec les normes actuelles, nous le considérerions comme "insuffisant" car il est désormais de tradition académique d'exiger une complexité d'attaque au-dessus d'une recherche exhaustive. Pourtant, les concepteurs DES étaient vraiment bons. Ils ne connaissaient pas la cryptanalyse linéaire, découverte par Matsui en 1992, et la cryptanalyse linéaire est plus efficace sur DES = que la cryptanalyse différentielle, et pourtant est diaboliquement difficile à appliquer dans la pratique (243 blocs connus en clair, soit 64 téraoctets ...).
Les faiblesses structurelles de DES sont donc sa taille de clé, et sa taille de bloc courte: avec n - blocs de bits, certains modes de cryptage commencent à avoir des problèmes lorsque 2 n /2 les blocs sont chiffrés avec la même clé. Pour les blocs DES) 64 bits, cela se produit après avoir chiffré 32 gigaoctets de données, un nombre important mais pas énorme (hier, j'ai acheté un disque dur trente fois plus grand que cela).
Une variante sur DES s'appelle 3DES: c'est, plus ou moins, trois DES instances dans une ligne. Cela résout le problème de taille de clé: une clé 3DES consiste en 168 bits (nominalement 192 bits, dont 24 bits sont censés servir de contrôle de parité, mais sont en pratique totalement ignorés), et la recherche exhaustive sur une clé de 168 bits est totalement hors de portée de la technologie humaine. ) d'un point de vue académique, il y a une attaque avec un coût 2112 sur 3DES, ce qui n'est pas réalisable non plus. Les cryptanalyses différentielles et linéaires sont vaincues par 3DES (leur complexité augmente un peu avec le nombre de tours, et 3DES représente 48 tours, contre 16 pour le DES simple).
Pourtant, 3DES souffre toujours des problèmes de taille de bloc de DES. En outre, il est assez lent (DES était destiné aux implémentations matérielles, pas aux logiciels, et 3DES est même trois fois plus lent que DES).
Ainsi, AES a été défini avec les exigences suivantes:
La résistance d'AES à la cryptanalyse différentielle et linéaire provient d'un meilleur "effet d'avalanche" (un peu de retournement à un moment donné se propage rapidement à l'état interne complet) et de "S-box" spécialement conçues et plus grosses (a S-box est une petite table de recherche utilisée dans l'algorithme, et est un moyen facile d'ajouter la non-linéarité; dans DES, les S-boxes ont des entrées de 6 bits et 4- sorties bit; en AES, les S-Box ont des entrées 8 bits et des sorties 8 bits). La conception de l'AES a bénéficié de 25 ans de connaissances et de recherches sur le DES. En outre, l'AES a été choisi dans le cadre d'un concours ouvert avec 15 candidats provenant d'autant d'équipes de recherche à travers le monde, et la quantité totale de ressources cérébrales allouées à ce processus était énorme. Les concepteurs originaux DES) étaient géniaux, mais on pourrait dire que l'effort global des cryptographes pour l'AES a été bien plus important.
D'un point de vue philosophique, on pourrait dire que ce qui sécurise une primitive cryptographique, c'est la quantité d'efforts investis dans sa conception. Au moins, cet effort est ce qui crée la perception de la sécurité : quand j'utilise un cryptosystème, je veux qu'il soit sécurisé, mais je veux aussi être certain qu'il est sécurisé (je veux dormir la nuit). Le processus public de conception et d'analyse aide beaucoup à instaurer cette confiance. Le NIST (l'organisme américain de normalisation de telles choses) a bien appris cette leçon et a décidé de choisir à nouveau un concours ouvert pour SHA- .