D.E.S.
Accueil 
Introduction 
Les techniques de cryptographie 
Quelques applications de la cryptographie 
Conclusion 
Bibliographie 
Définitions 
Contact 

 

 

 

1) D.E.S., le chiffrement à clé secrète

 

a) Histoire de DES :

Au début des années 70, le N.B.S. (National Bureau of Standards) a lancé un appel dans le Federal Register pour la création d’un algorithme de cryptage répondant aux critères suivants:

  • un haut niveau de sécurité lié à une clé
  • compréhensible
  • ne devant pas dépendre de la confidentialité de l’algorithme
  • adaptable et économique
  • efficace et exportable

 

Fin 1974, IBM propose Lucifer, qui grâce à la NSA (National Security Agency) est modifié pour donner le D.E.S. (Data Encryption Standard : »standard de cryptage de données ») le 23 novembre 1976.   Le DES a finalement été approuvé en 1978 par le NBS. Le D.E.S. sert à la cryptographie et l’authentification de données. Il a été jugé si difficile à percer par le gouvernement des Etats-Unis qu’il a été adopté par le Ministère de la Défense des Etats-Unis, qui a contrôlé depuis lors son exportation. D.E.S. a été pensé par les chercheurs d’IBM pour satisfaire la demande des banques.  Il a été conçu pour être implanté directement en machine.  En effet puisque les étapes de l’algorithme étaient simples, mais nombreuses, il était possible à IBM de créer des processeurs dédiés, capables de crypter et de décrypter rapidement des données avec l’algorithme D.E.S.. Cet algorithme a donc été étudié intensivement depuis les 15 dernières années et est devenu l’algorithme le mieux connu et le plus utilisé dans le monde à ce jour. Il est réactualisé tous les 5 ans.

Bien que D.E.S. soit très sûr, certaines entreprises préfèrent utiliser le « triple-D.E.S. ». Le triple-D.E.S. n’est rien d’autre que l’algorithme D.E.S. appliqué trois fois, avec trois clés privées différentes.

 

b) Principes :

 

C’est un système de chiffrement par blocs de 64 bits uniquement, dont le dernier octet sert de test de parité (pour vérifier l’intégrité des données). Il consiste à faire des combinaisons, des substitutions et des permutations entre le texte à chiffrer et la clé, en faisant en sorte que les opérations puissent se faire dans les deux sens (pour le décryptage). La clé est codée sur 64 bits et formée de 16 blocs de 4 bits, généralement notés k0 à k15. Etant donné que 8 bits de la clé sont réservés pour le test de la parité, « seulement » 56 bits servent réellement à chiffrer, ce qui représente tout de même 256 possibilités, c’est-à-dire environ 72*1015 clés possibles...

Les grandes lignes de l’algorithme sont les suivantes:
DES utilise une clé secrète de 56 bits, qu’il transforme en 16 « sous-clés » de 48 bits chacune. Le cryptage se déroule sur 19 étapes.
La première étape est une transposition fixe (standard) des 64 bits à crypter.
Les 16 étapes suivantes peuvent être divisées en 2 « sous-étapes » chacune. Dans un premier temps, le bloc de 64 bits est découpé en 2x32 bits, et une substitution est effectuée entre ces deux blocs. En fait, ces deux blocs seront tout simplement échangés l’un avec l’autre. Dans un second temps, le bloc de 32 bits ayant le poids le plus fort (le bloc qui va du bit n°32 au bit n°63) subira une transposition contrôlée par la sous-clé correspondant à l’étape en cours.

Les étapes 18 et 19  sont deux transpositions.

 

c) Le décryptage avec l’algorithme D.E.S.

Pour décrypter un document auparavant crypté avec D.E.S., il suffit d’effectuer l’algorithme à l’envers avec la bonne clé. En effet, il n’est pas nécessaire d’utiliser un algorithme différent ou une clé différente puisque D.E.S. est comme nous l’avons vu un algorithme symétrique. Il est donc totalement et facilement réversible, si l’on possède la clé secrète.

Problèmes de la méthode

En 1990 Eli Biham et Adi Shamir ont mis au point la cryptanalyse différentielle qui recherche des paires de texte en clair et des paires de texte chiffrées (cette méthode marche jusqu’à un nombre de rondes inférieur à 15 d’où un nombre de 16 rondes dans l’algorithme présenté ci-dessus).

D’autre part, même si une clé de 56 bits donne un nombre énorme de possibilités, des processeurs permettent de calculer plus de 106 clés par seconde. Ainsi, s' ils sont utilisés parallèlement sur un très grand nombre de machines, il peut être possible à un grand organisme (un Etat par exemple) de trouver la bonne clé.

2) Les modes opérationnels utilisés avec D.E.S.

Comme nous l’avons vu, l’algorithme D.E.S. ne permet que de crypter des blocs de 64 bits. Pour crypter ou décrypter un document complet, il faut donc utiliser D.E.S. en série dans un « mode opérationnel ». Il existe beaucoup de modes opérationnels, nous n’allons voir que le mode ECB et le mode CBC.

a) Le mode opérationnel E.C.B.

ECB signifie Electronic Code Book (« catalogue électronique de codes »). Dans ce mode, on découpe le document à crypter ou à décrypter en blocs de 64 bits qu’on crypte les uns indépendamment des autres. Puisque, à chaque bloc en clair correspond un bloc crypté, pour une clé donnée, cela peut faire penser à un « catalogue de codes ».

b) Le mode opérationnel C.B.C.

CBC signifie Chain Block Cipher (« Cryptogramme à blocs chaînés »). Comme nous l’avons vu précédemment, le mode opérationnel ECB ne protège pas contre la présence de blocs redondants, puisqu’ils sont cryptés indépendamment les uns des autres. La seconde faiblesse est qu’un bloc en clair, hors contexte, et codé toujours avec la même clé, produira toujours le même bloc crypté.

Le CBC lui, répond à ces deux problèmes. Pour ce faire, avant de crypter un bloc en clair, on va effectuer un « ou-exclusif » entre ce bloc en clair et le bloc précédemment crypté. Cela nous donnera un nouveau bloc en clair que l’on cryptera.

En plus de posséder une clé secrète en commun, les deux interlocuteurs doivent dorénavant se mettre d’accord sur un bloc de 64 bits de départ qu’on appellera « vecteur de départ », ou « vecteur initial ».

3) Procédé PKC (Public Key Cryptosystem).

Bien que moins performant que le DES, il élimine cependant le problème de distribution des clés en utilisant à la fois une clé de chiffrage publique, transmise sans cryptage, et une clé de déchiffrage privée qui n’est accessible qu’au destinataire du message. Il est ainsi possible d’assurer la confidentialité de la transmission tout en authentifiant l’émetteur du message. Il s’agit donc d’une signature électronique, permettant par exemple la réalisation de transactions commerciales sur un réseau public, notamment sur Internet. La plupart des PKC sont fondés sur les propriétés mathématiques des nombres premiers. Les systèmes de cartes bancaires à puce, qui authentifient leur possesseur par un code secret, sont fondés sur les mêmes principes.

 

 

[Accueil][Introduction][Les techniques de cryptographie][Quelques applications de la cryptographie][Conclusion][Bibliographie][Définitions][Contact]

Copyright (c) 2003 Pradobobby. Tous droits réservés.