« Projets étudiants cryptographie et sécurité/Caillet DiLisio IDEA » : différence entre les versions

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
(3 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. Cette 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é »).
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 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.
* 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 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é===


*<u>Début</u>: 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.
*<u>Début</u>: 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.
*<u>1996</u>: ''In my opinion, it is the best and most secure block algorithm available to the public at this time.'' ''–Bruce Schneider (Informaticien)''
*<u>1996</u>: ''In my opinion, it is the best and most secure block algorithm available to the public at this time.'' ''–Bruce Schneider (Informaticien)''
*<u>1999</u>: des algorithme plus rapide se développe, IDEA n'est plus recommandé
*<u>1999</u>: des algorithmes plus rapidesnt se développe, IDEA n'est plus recommandé
*<u>2007</u>: 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.
*<u>2007</u>: 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.
*<u>2011</u>: IDEA complet a été "cracké", en utilisant la méthode de 1999 ( meet-in-the-middle ('''MITM'''))
*<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
*<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
Ligne 64 : Ligne 63 :
====Clé faible====
====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.
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===
===Comparatif de performances===

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:
    Legende
    Avant le Tour 1


  • Tour 1 composé des éléments:
    Legende
    Tour 1
    • 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
    Legende
    Demi-Tour

Vue d'ensemble:

Legende

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 :

Tabeau comparatif des algorithmes de cryptographie symétrique les plus connus
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.