Projets étudiants cryptographie et sécurité/Caillet DiLisio IDEA
Auteurs : François Caillet & Anthony Di Lisio
International Data Encryption Algorithm: IDEA
IDEA est l'acronyme de International Data Encryption Algorithm, décrit pour la première fois en 1991. Cet algorithme fut développé par une équipe de mathématiciens, cyptologues et informaticiens, de différentes nationalités. James Massey et Xuejia Lai ont conçu cet algorithme pour remplacer Data Encryption Standard d’IBM, pour cela ils réalisent des révisions mineures sur un chiffrement postérieur, PES (Proposed Encryption Standard), d’où le nom original d’IDEA : IPES (‘I’ pour « Improved », « Amélioré »).
Panorama
IDEA est un algorithme de chiffrement symétrique dit à clé secrète, celle-ci est choisie aléatoirement et atteint une longueur de 128 bits, elle sert à chiffrer et déchiffrer. IDEA utilise à la fois les propriétés de confusion et diffusion :
- La relation entre la clé et le texte chiffré est la plus complexe possible.
- si le changement d’un seul bit dans le texte claire est opéré, alors, statistiquement, un bit sur deux du cryptogramme devrait changer. De même, si nous changeons un bit du cryptogramme, environ la moitié des bits en clair devrait changer.
IDEA est composé d’une série de huit transformations identiques, et les procédés de cryptage et décryptage sont équivalents. Sa sécurité dépend en grande partie à l’entrelacement d’opérations provenant de groupe différent :
- OU exclusif (bit par bit)
- Addition modulo
- Multiplication modulo
qui sont algébriquement « incompatibles » dans un certain sens. Enfin, après huit rondes vient une « demi-ronde » finale.
IDEA a été utilisé dans Pretty Good Privacy (PGP) v2.0, de plus il est un algorithme optionnel dans la norme OpenPGP.
Description de IDEA
Prenons un texte clair divisé en quatre quarts: A, B, C, D et où les 52 sous-clefs sont nommées à .
- Avant le Tour 1:
- Tour 1 composé des éléments:
- A ⊻ C (appeler E)
- B ⊻ D (appeler F)
- A = A ⊻ F , C = C ⊻ F
- B = B ⊻ E , D = D ⊻ E
- Échanger B et C
Répétez la ronde huit fois, en utilisant par la deuxième fois, puis par la huitième fois. Notez que le échange de B et C n'est pas effectué après tour 8.
- Demi-Ronde
Vue d'ensemble:
Sécurité
- Début: Les analyses d'IDEA contre de la cryptanalyse différentielle ont conclu qu'il était à l'abri des menace sous certaines hypothèses. Aucune faiblesse linéaires ou algébriques ont été rapportés.
- 1996: In my opinion, it is the best and most secure block algorithm available to the public at this time. –Bruce Schneider (Informaticien)
- 1999: des algorithme plus rapide se développe, IDEA n'est plus recommandé
- 2007: la meilleure attaque appliquée sur toute les clefs, pourrait briser IDEA réduit à 6 tours (contre 8,5 tours dans la version complète); l'attaque à 6 rondes nécessite 264 texte claire connu et 2126.8 opérations.
- 2011: IDEA complet a été "cracké", en utilisant la méthode de 1999 ( meet-in-the-middle (MITM))
- 2012: IDEA complet a été "cracké", en utilisant la méthode Biclique attack étoilé (une variante de MITM), semblable à l'attaque sur AES
Clé faible
Dans le cadre de IDEA, on dénombre plusieurs « clés faibles ». Certaines clefs contenant un grand nombre de bits à 0 produisent un chiffrement dit "faible". En pratique, cela n'a que peu d'intérêt, étant donné sa rareté d'apparition, par conséquent il n'est pas nécessaire, lors de la génération des clefs de couvrir explicitement ce cas. Toute fois il est possible d'ajouter une correction simple à l'algorithme en réalisant un OU-EXCLUSIF sur chaque sous clés avec une constante de 16 bits, tels que 0x0DAE.
Comparatif de performances
Afin de savoir où se situe IDEA par rapport aux autres algorithmes de cryptographie symétrique, voici un tableau comparatif de performance entre IDEA et ceux-ci :
Algorithme | MiB/Seconde | Cycles Par Octet | Microsecondes pour préparer la Clé et le Vecteur d'Initialisation | Cycles pour préparer la Clé et le Vecteur d'Initialisation |
---|---|---|---|---|
MD5 | 255 | 6,8 | / | / |
SHA-1 | 153 | 11,4 | / | / |
AES/CBC (128-bit key) | 109 | 16,0 | 0,569 | 1041 |
DES/CTR | 32 | 54,7 | 8,372 | 15320 |
IDEA | 35 | 49,9 | 0.698 | 1277 |
En général, l’algorithme IDEA est considéré comme étant assez nettement supérieur au DES en terme de sécurité. Sa vitesse d’exécution reste comparable avec le DES. Ses implémentations hardware sont simplement légèrement plus rapides.