Navigation

A propos

III. La cryptographie à clé secrète

1. Chiffrement et système cryptographique

Une fonction cryptographique, ou de chiffrement, est la donnée d'une transformation, en général bijective :

f : M --> C
où M est l'ensemble des messages en clair
et C est l'ensemble des messages chiffrés

Comme il s'agit d'une fonction bijective, l'opération permettant de passer de C à M est f -1, c'est le déchiffrement. Ce principe de chiffrement/déchiffrement est dit "symétrique"; car l'utilisation d'une bijection permet l'aller-retour très facilement.

L'emploi d'une bijection se justifie également parce qu'elle permet une correspondance univoque entre les éléments de l'ensemble. Autrement dit, à partir d'un message crypté, il n'est pas possible de tomber sur plusieurs possibilités de messages en clair.

Il est donc primordial, pour lire/écrire des messages cryptés :

- d'utiliser une fonction facilement inversible, en particulier pour un usage privé (il faut être capable de décrypter les messages sans avoir recours à des moyens techniques colossaux).

- de préserver cette fonction secrète, car si un "ennemi" se la procure, il lui suffira de l'inverser pour déchiffrer le message !

Ce dernier point implique un autre problème : l'utilisation d'une même fonction f pour crypter un message risque, à la longue, d'en dévoiler le secret. Ainsi, l'idéal serait de changer régulièrement de fonction de cryptage.

On définit donc un système cryptographique, ou de chiffrement, ou encore un chiffre, comme étant une famille finie 'F' de fonctions 'f' cryptographiques, chacune étant déterminée par un paramètre 'K', apppelé clé secrète:

F = (fK)
On utilise ainsi la même "structure" de fonction de cryptement, mais avec chaque fois un paramètre K différent.

2. Le principe de Kerckhoffs

Plaçons-nous du points de vue du cryptanalyste, le spécialiste qui veut décoder le message. Idéalement, celui-ci doit trouver la clé 'K' et la transformation associée fK. Cependant, la réalité est un peu différente. En vérité, si la fonction 'f' de cryptement est utilisée à grande échelle, il est illusoire de le considérer comme secret. On suppose donc que le cryptanalyste connaît entièrement le système, mais qu'il ne sait pas quelle transformation fK, c'est-à-dire qu'il ne connaît pas la clé secrète K !
C'est là le principe énoncé par Auguste Kerckhoffs à la fin du XIXe siècle, dans un article sur la cryptographie militaire :

La sécurité d'un cryptosystème ne doit reposer que sur le secret de la clé. Tous les autres paramètres sont supposés publiquement connus.

Ce principe est le fondement de la cryptographie à clé secrète.

<< Chapitre précédent - Chapitre suivant >>

Page exécutée en 0.014385 secondes.