FI/SP/00

Les clés en cryptographie

Lionel.Vallet@epfl.ch, Institut des Transports et de Planification

Vouloir parler de cryptographie nous amène indéniablement à traiter des clés de chiffrage, éléments indispensables pour coder une information et ainsi la rendre secrète. En effet garantir la confidentialité d'un message est sans nul doute le rôle premier d'une clé, mais nous verrons que les méthodes actuelles nous permettent en plus de garantir l'authentification de l'émetteur, la non-répudiation des transactions et encore l'intégrité du message (être certain que le contenu n'a pas été modifié).

Les clés symétriques (ou clé secrète)

Dans les algorithmes à clés symétriques, la clé de chiffrement est identique à la clé de déchiffrement. Ainsi c'est la même clé qui va nous permettre à la fois de chiffrer le message et de permettre aux destinataires de le déchiffrer. Cela ne va pas sans poser un problème majeur: l'échange préalable de la clé entre les protagonistes. Or, ceci est particulièrement difficile à réaliser, puisque, tant que la clé n'est pas transmise il n'existe pas de moyen sûr d'échange d'information, en dehors d'une rencontre physique qui n'est pas forcément possible.

Le deuxième problème est le nombre de clés nécessaire pour sécuriser un ensemble de relations. En effet, si l'on désire que chaque utilisateur d'un réseau puisse communiquer avec un autre utilisateur de manière sécurisée, une clé différente est alors utilisée pour chaque paire d'utilisateurs du réseau. Le nombre total de clés croît alors suivant un polynôme quadratique. Ainsi, un groupe de 10 utilisateurs met en jeu 45 clés différentes et 100 utilisateurs, 4950 clés.

nombre de clés = n(n-1) / 2

Un exemple d'un tel algorithme est le très fameux Data Encryption System (DES) inventé par Feistel Horst, chercheur au sein d'IBM, qui a longtemps fait figure de référence et qui existe encore aujourd'hui sous diverses variantes; par exemple le Triple DES qui applique sur le message trois fois l'algorithme du DES avec deux ou trois clés différentes selon les variantes.

L'International Data Encryption Algorithm (IDEA) quant à lui a été développé par le Docteur X. Lai et le Professeur J. Massey en 1991 en Suisse pour remplacer le DES. Son principe est le même que le DES sauf qu'il utilise une clé de 128bits (contre 40 bits pour la version du DES). Son principal avantage est sans nul doute sa rapidité ce qui explique qu'il a été implémenté par P.Zimmerman dans le PGP (Pretty Good Privacy).

Cependant le principal avantage de ces algorithmes est la rapidité. Ce qui explique en partie la forte implémentation de ces derniers dans des puces électroniques pour les besoins des entreprises. Pourtant, le principe de l'échange préalable de la clé a amené à repenser la cryptographie et c'est ainsi que sont apparues les clés asymétriques.

Les clés asymétriques (ou clé publique)

Dans ce cas, les clés de chiffrement et de déchiffrement sont distinctes, et généralement symétriques entres elles: la clé de chiffrement permet de déchiffrer ce qui a été chiffré avec la clé de déchiffrement, et vice versa. Le possesseur d'une telle paire de clés, en rend une (au choix) publique, c'est-à-dire qu'il la donne à tout le monde, dans une sorte d'annuaire. Tout correspondant qui veut envoyer un message, chiffre son message à l'aide de la clé publique du destinataire. Seul le possesseur de la clé secrète correspondant à cette clé publique pourra déchiffrer le message.

Les algorithmes de chiffrement à clé publique permettent aussi à l'envoyeur de signer son message. En effet, il lui suffit de chiffrer le message (ou une partie de ce message) avec sa propre clé secrète. Le destinataire déchiffrera cette fonction avec la clé publique de l'envoyeur et sera ainsi certain de l'identité de l'expéditeur, puisqu'il est le seul à posséder la clé secrète qui permet de faire un tel chiffrement. Ainsi cette méthode permet de réaliser une communication confidentielle sans échanger auparavant de code secret.

Le principal inconvénient de ce type d'algorithme est la lenteur à laquelle s'effectue les opérations de chiffrement et de déchiffrement.

On peut citer le RSA (Rivest, Shamir, Adelman, les 3 inventeurs) comme le plus connu de ces algorithmes. La sécurité du RSA réside dans l'impossibilité pratique de factoriser un grand nombre de quelques centaines de chiffres en un temps raisonnable. Qui plus est pour assurer sa pérennité il est toujours possible d'augmenter la longueur de la clé qui varie entre 1024 et 2048 bits.

En résumé, une synthèse de ces deux méthodes de cryptographie est décrite dans le tableau ci-après.

Type de cryptosystèmeAvantagesInconvénients
Clé symétrique
  • Rapide
  • Peut être facilement réalisée sur une puce
  • Difficulté de distribuer les clés
  • Ne permet pas de signature électronique
Clé publique
  • Utilise deux clés différentes
  • Fournit des garanties d'intégrité et de non répudiation par signature électronique
  • Lent et demandant beaucoup de calculs

Finalement comme nous avons pu le voir précédemment, les deux systèmes de base de la cryptographie (symétrique et asymétrique) souffrent de problèmes complémentaires. Quelle méthode est la meilleure? Ni l'une, ni l'autre puisque chacune a ses spécificités. La force des algorithmes à clés asymétriques réside dans l'échange et le chiffrement des clés alors que les algorithmes à clés symétriques sont très performants en vitesse de chiffrement. Ainsi l'intérêt pour augmenter la sécurité des systèmes de cryptage passe certainement par l'utilisation combinée de ces deux techniques, ce que l'on nomme la cryptographie mixte (PGP est un des ces algorithmes).

Quelques liens sur Internet

Les algorithmes de cryptage

Des sites de certification de clés