- International data encryption algorithm
-
International Data Encryption Algorithm
IDEA Résumé Concepteur(s) Xuejia Lai, James Massey Première publication 1991 Dérivé de PES Chiffrement(s) basé(s) sur cet algorithme FOX, IDEA NXT, Akelarre, MESH Caractéristiques Taille(s) du bloc 64 bits Longueur(s) de la clé 128 bits Structure schéma de Lai-Massey Nombre de tours 8 tours + ½ tour final Meilleure cryptanalyse Attaque par collision avec 224 textes clairs, complexité de 2126 pour un IDEA de 5 rondes. IDEA, alias International Data Encryption Algorithm est un algorithme de chiffrement symétrique conçu par Xuejia Lai et James Massey.
Survol
IDEA est un algorithme de chiffrement symétrique par blocs utilisé pour chiffrer et déchiffrer des données. Il manipule des blocs de texte en clair de 64 bits. Une clé de chiffrement longue de 128 bits (qui doit être choisie aléatoirement) est utilisée pour le chiffrement des données, et on a besoin de la même clé secrète pour les déchiffrer.
Comme tous les algorithmes de chiffrement par blocs, IDEA utilise à la fois la confusion et la diffusion. L'algorithme est basé sur le mélange d'opérations de différents groupes algébriques. Il y a trois groupes algébriques dont les opérations sont mélangées, et toutes ces opérations sont facilement réalisables à la fois en logiciel et en matériel :
- OU exclusif
- addition modulo 216
- multiplication modulo 216+1
Toutes ces opérations manipulent des sous-blocs de 16 bits. Cet algorithme est ainsi efficace même sur des processeurs 16 bits.
Description
Le bloc de données de 64 bits est divisé en 4 sous-blocs de 16 bits : X1, X2, X3 et X4. Ces quatre sous-blocs deviennent les entrées de la première ronde de l'algorithme. Il y a huit rondes au total. À chaque ronde, les 4 sous-blocs sont combinés par OU exclusif, additionnés, multipliés entre eux et avec 6 sous-blocs de 16 bits dérivés de la clé. Entre chaque ronde, le deuxième et le troisième sous-bloc sont échangés. Enfin, les quatre sous-blocs sont combinés avec les quatre sous-clefs dans une transformation finale.
A chaque ronde, la séquence d'évènements est la suivante:
- multipliez X1 et la première sous-clef;
- additionnez X2 et la deuxième sous-clef;
- additionnez X3 et la troisième sous-clef;
- multipliez X4 et la quatrième sous-clef;
- combinez par OU exclusif les résultats des étapes (1) et (3);
- combinez par OU exclusif les résultats des étapes (2) et (4);
- multipliez le résultat de l'étape (5) avec la cinquième sous-clef;
- additionnez les résultats des étapes (6) et (7);
- multipliez le résultat de l'étape (8) par la sixième sous-clef;
- additionnez les résultats des étapes (7) et (9);
- combinez par OU exclusif les résultats des étapes (1) et (9);
- combinez par OU exclusif les résultats des étapes (3) et (9);
- combinez par OU exclusif les résultats des étapes (2) et (10);
- combinez par OU exclusif les résultats des étapes (4) et (10);
La sortie de la ronde est constituée des 4 sous-blocs produits par les étapes (11), (13), (12) et (14). Changez les deux blocs intérieurs (sauf lors de la dernière rond) et cela donne l'entrée de la ronde suivante.
Après la huitième ronde, il y a une transformation finale:- multipliez X1 et la première sous-clef;
- multipliez X2 et la deuxième sous-clef;
- multipliez X3 et la troisième sous-clef;
- multipliez X4 et la quatrième sous-clef;
Enfin les 4 sous-blocs sont réassemblés pour former le texte chiffré.
Note
L'algorithme IDEA est breveté par la société suisse Mediacrypt. La société met en avant depuis mai 2005 son nouveau chiffrement nommé « IDEA NXT » qui est en fait FOX.
- Portail de la cryptologie
Catégories : Algorithme de cryptographie symétrique | Algorithme de chiffrement par bloc
Wikimedia Foundation. 2010.