« Projets étudiants cryptographie et sécurité/Caillet DiLisio IDEA » : différence entre les versions
(7 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 3 : | Ligne 3 : | ||
== International Data Encryption Algorithm: IDEA == |
== International Data Encryption Algorithm: IDEA == |
||
IDEA est l'acronyme de '''I'''nternational '''D'''ata '''E'''ncryption '''A'''lgorithm, décrit pour la première fois en 1991. |
IDEA est l'acronyme de '''I'''nternational '''D'''ata '''E'''ncryption '''A'''lgorithm, 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 '''D'''ata '''E'''ncryption '''S'''tandard 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=== |
===Panorama=== |
||
Ligne 9 : | Ligne 9 : | ||
IDEA est un algorithme de chiffrement symétrique dit à clé secrète, celle-ci est choisie aléatoirement et atteint une longueur de <u>128 bits</u>, elle sert à chiffrer et déchiffrer. IDEA utilise à la fois les propriétés de confusion et diffusion : |
IDEA est un algorithme de chiffrement symétrique dit à clé secrète, celle-ci est choisie aléatoirement et atteint une longueur de <u>128 bits</u>, 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. |
* La relation entre la clé et le texte chiffré est la plus complexe possible. |
||
* |
* Si le changement d’un seul bit dans le texte clair 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 : |
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) |
* OU exclusif (bit par bit) |
||
Ligne 20 : | Ligne 20 : | ||
===Description de IDEA=== |
===Description de IDEA=== |
||
Prenons un texte clair divisé en quatre quarts: '''A''', '''B''', '''C''', '''D''' et où les 52 sous-clefs sont nommées <math>K_{1}</math> à <math>K_{52}</math>. |
|||
* <u>Avant le Tour 1</u>:[[Fichier:IDEA_BT1.png|thumb|right|alt=Legende|Avant le Tour 1]] |
* <u>Avant le Tour 1</u>:[[Fichier:IDEA_BT1.png|thumb|right|alt=Legende|Avant le Tour 1]] |
||
Ligne 39 : | Ligne 39 : | ||
** B = B ⊻ E , D = D ⊻ E |
** B = B ⊻ E , D = D ⊻ E |
||
** Échanger B et C |
** Échanger B et C |
||
<br> |
|||
Répétez la ronde huit fois, en utilisant <math>K_{7}</math> par <math>K_{12}</math> la deuxième fois, puis <math>K_{43}</math> par <math>K_{48}</math> la huitième fois. |
Répétez la ronde huit fois, en utilisant <math>K_{7}</math> par <math>K_{12}</math> la deuxième fois, puis <math>K_{43}</math> par <math>K_{48}</math> la huitième fois. |
||
Notez que le échange de B et C n'est pas effectué après tour 8. |
Notez que le échange de B et C n'est pas effectué après tour 8. |
||
<br> |
|||
*<u>Demi-Ronde</u>[[Fichier:IDEA_D-T.png|thumb|right|alt=Legende|Demi-Tour]] |
*<u>Demi-Ronde</u>[[Fichier:IDEA_D-T.png|thumb|right|alt=Legende|Demi-Tour]] |
||
** <math>A*K_{49} [2^{16} +1]</math> |
** <math>A*K_{49} [2^{16} +1]</math> |
||
Ligne 51 : | Ligne 51 : | ||
<u>Vue d'ensemble</u>: |
<u>Vue d'ensemble</u>: |
||
[[Fichier:IDEA_VE.gif|center|alt=Legende|IDEA]] |
[[Fichier:IDEA_VE.gif|center|alt=Legende|IDEA]] |
||
===Sécurité=== |
===Sécurité=== |
||
⚫ | |||
*Début |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
*<u>2011</u>: IDEA complet a été "cracké", en utilisant la méthode de 1999 ( meet-in-the-middle ('''MITM''')) |
|||
*<u>2012</u>: IDEA complet a été "cracké", en utilisant la méthode Biclique attack étoilé (une variante de MITM), semblable à l'attaque sur AES |
|||
====Clé faible==== |
|||
*en 1996 |
|||
⚫ | |||
'''–Bruce Schneider (Informaticien)''' |
|||
Dans le cadre d'IDEA, on dénombre plusieurs « clés faibles ». Certaines clés 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 clés de couvrir explicitement ce cas. Toutefois, 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, tel que 0x0DAE. |
|||
*en 1999 |
|||
⚫ | |||
*en 2007 |
|||
⚫ | |||
*en 2011 |
|||
===Comparatif de performances=== |
===Comparatif de performances=== |
||
Ligne 113 : | Ligne 108 : | ||
|- |
|- |
||
|} |
|} |
||
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. |
Dernière version du 17 mars 2016 à 16:13
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 clair 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 menaces sous certaines hypothèses. Aucune faiblesse linéaire ou algébrique ont été rapportées.
- 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 algorithmes plus rapidesnt se développe, IDEA n'est plus recommandé
- 2007: la meilleure attaque appliquée sur toutes les clés, pourrait briser IDEA réduit à 6 tours (contre 8,5 tours dans la version complète); l'attaque à 6 rondes nécessite 264 textes clairs connus 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 d'IDEA, on dénombre plusieurs « clés faibles ». Certaines clés 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 clés de couvrir explicitement ce cas. Toutefois, 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, tel 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.