II - ASPECT TECHNIQUE DU CHIFFREMENT


Comme nous venons de le voir dans la partie précédente de nombreuses méthodes de chiffrement différentes ont été imaginées pour se protéger de la curiosité et de la malveillance de ses ennemis depuis de nombreux siècles. On peut classer ces méthodes en trois grandes classes, comme nous le montre le schéma qui suit :

Principales techniques en cryptographie

La cryptographie classique décrit la période avant les ordinateurs. Elle traite des systèmes reposant sur les lettres et les caractères d’une langue naturelle (allemand, anglais, français, etc...). Les principaux outils utilisés remplacent des caractères par des autres et les transposent dans des ordres différents. Les meilleurs systèmes (de cette classe d’algorithmes) répètent ces deux opérations de base plusieurs fois. Cela suppose que les procédures (de chiffrement ou déchiffrement) soient gardées secrètes ; et sans cela comme nous l’avons déjà dit le système est complètement inefficace (n’importe qui peut déchiffrer le message codé). On appelle généralement cette classe de méthodes : le chiffrement à usage restreint.

Les méthodes utilisées de nos jours sont plus complexes, cependant la philosophie reste la même. La différence fondamentale est que les méthodes modernes (les algorithmes, puisque l’on utilise maintenant des ordinateurs) manipulent directement des bits (liés à l’implantation sur les machines) contrairement aux anciennes méthodes qui opéraient sur des caractères alphabétiques. Ce n’est donc qu’un changement de taille (ou de représentation), puisque l’on utilise plus que deux éléments au lieu des 26 lettres de l’alphabet. La plupart des bons systèmes de cette catégorie combinent toujours des substitutions et des transpositions, et les règles sont connues de tous, c’est pourquoi on appelle cette classe : le chiffrement à usage général. La sécurité de ces méthodes reposent maintenant sur un nouveau concept clé : les clés (pour faire un mauvais jeu de mot).

Comme on l’a déjà énoncé les moyens de chiffrement évoluent tous les jours, c’est pourquoi il est possible que les standards d’aujourd’hui ne soient plus les standards de demain. En montrant les principaux axes de recherches en cours actuellement, on peut présumer de ce que sera le futur demain, ou du moins imaginer quelles seront les améliorations des systèmes déjà en place.

1) Le chiffrement classique :

Il existe des centaines de façon de chiffrer des données représentées par l’alphabet classique, tout en gardant les opérations réalisées secrètes. Ici on ne va pas présenter toutes ces méthodes, mais plutôt les concepts mathématiques (connus depuis très longtemps) qui sont à la source de celles-ci. On va ainsi voir que finalement il n’y en a pas tant que l’on pouvait le penser, et surtout qu’elles sont extrêmement simples.

a) Substitution :

La substitution consiste effectuer des dérivations pour que chaque caractère du message chiffré soit différent des caractères du message en clair. Le destinataire légitime du message applique la dérivée inverse au texte chiffré pour recouvrer le message initial. La complexité des systèmes à substitutions dépend de trois facteurs :

- la composition spécifique de l’alphabet utilisé pour chiffrer ou pour communiquer,

- le nombre d’alphabets utilisés dans le cryptogramme,

- la manière spécifique dont ils sont utilisés.

On distingue couramment quatre types de substitutions différentes :

b) Transposition :

Avec le principe de la transposition toutes les lettres du message sont présentes, mais dans un ordre différent. Il utilise le principe mathématique des permutations. Plusieurs types différents de transpositions existent :

Il est important de faire remarquer que les transpositions sont plus contraignantes que les substitutions, car elles ont besoin de plus de mémoire et ne fonctionnent que sur des messages à chiffrer d’une longueur limitée ; c’est pourquoi elles sont moins utilisées dans les algorithmes bien que pourtant un peu plus sûres que les substitutions.

2) Le chiffrement moderne :

Les algorithmes de chiffrement contemporains sont peu sûrs en général ; le cassage du programme FANTASIA pendant la seconde guerre mondiale reposant à la fois sur des transpositions et des substitutions combinées atteste de la vulnérabilité de ces techniques.

Le chiffrement moderne utilise la puissance des ordinateurs modernes. Comme les données traitées par les ordinateurs sont uniquement sous forme numériques (bits), les procédés de substitutions et de transpositions sont toujours utilisées mais maintenant seulement sur deux éléments primaires (0 et 1). On constate donc que les idées et principes vues précédemment reste d’actualité, c’est pourquoi il était à notre avis intéressant de les mettre en valeur tout de suite, ce qui est généralement jamais fait à notre regret.

Ce changement de dimension rend plus sûr les techniques de chiffrement actuelles. Certaines sont incassables, ou du moins prendraient des millions d’années avec la puissance actuelle de nos meilleurs super-calculateurs. D’autre part il fait que maintenant les algorithmes ne sont plus cachés mais au contraire sont connus de tous. Les clés sont leur sécurité.

Comme nous l’avons déjà rapidement vu on distingue deux types d’algorithmes à clés : les systèmes de chiffrement symétriques et les systèmes asymétriques.

a) Chiffrement symétrique :

Les systèmes symétriques sont synonymes de systèmes à clés secrètes. Une même clé est utilisé pour le chiffrement et le déchiffrement, d’ou l’obligation que celle-ci reste confidentielle, sous peine de rendre le système inéfficient.

b) Chiffrement asymétrique :

Ces algorithmes sont aussi synonymes d’algorithmes à clés publiques. Une clé différente est utilisée à la fois pour chiffrer et déchiffrer, et il est impossible de générer une clé à partir de l’autre. Il a été inventé en 1975 par deux ingénieurs en électronique : Whitfield Diffe et Martin Hellman de l’Université de Stanford.

c) Chiffrement mixte et authentification :

Les algorithmes à clé publique sont assez lents. La méthode généralement utilisée pour envoyer un message, est de tirer au hasard une clé secrète, chiffrer le message avec un algorithme à clé privée en utilisant cette clé, puis chiffrer cette clé aléatoire elle-même avec la clé publique du destinataire. Ceci permet d'avoir la sécurité des systèmes à clé publique, avec la performance des systèmes à clé privée. Il existe un logiciel qui effectue toutes ces opérations et de manière transparente, et qui, de plus, est gratuit et téléchargeable à partir de dizaines de sites de par le monde : le célèbre PGP de Phil Zimmermann. (Il y a d'autres logiciels aussi performants, mais PGP est sûrement le plus connu.). Correctement utilisé, il est sûr, même contre les meilleurs cryptanalystes du monde (c’est d’ailleurs pour cette raison que son utilisation est formellement interdite en France).

L’authentification permet de prouver son identité à travers le réseau. Il utilise généralement la technique des signatures électroniques. L'envoyeur joint une signature électronique à son message. Des explications intéressantes sur le principe de l’authentification peuvent être trouvées sur le site suivant.

3) Chiffrement du futur :

Tous les systèmes étudiés précédemment prenaient pour acquis que les communications numériques pouvaient être toujours espionnées d’une façon passive (c’est à dire sans détecter une modification éventuelle de l’intégrité des données échangées), ou enregistrées par un tiers pour un usage futur, même si ce dernier ne peut en comprendre le sens.

L’enregistrement d’une communication chiffrée incompréhensible peut servir à quelqu’un qui espérerait découvrir à une date ultérieure la clé secrète ou l’algorithme lui même dans le cas du chiffrement restreint, car peut-être que celui-ci après avoir accumulé suffisamment de textes chiffrés pourra plus facilement mener à terme sa cryptanalyse, ou bien par simple corruption ou espionnage découvrira la clé secrète, et sera alors en mesure de décoder tous les messages secrets accumulés.

La cryptographie quantique est née au début des années 70. Elle repose sur le principe d'incertitude d'Heisenberg, selon lequel la mesure d'un système quantique perturbe ce système. Une oreille indiscrète sur un canal de transmission quantique engendre des perturbations inévitables qui alertent les utilisateurs légitimes. Ainsi, il est possible de distribuer une clef secrète aléatoire à deux utilisateurs qui ne partagent initialement aucun secret, de façon sécurisée contre des espions même de puissance de calcul infinie. Une fois cette clef secrète établie, elle peut être utilisée avec un système cryptographique classique. La cryptographie quantique ne nécessite aucune hypothèse comme "P et NP sont distincts", ou "factoriser est difficile". On obtient ainsi des preuves de sécurité reposant uniquement sur la correction des principes quantiques. Pour plus de détails concernant les principes techniques de la cryptographie quantique, nous vous recommandons la consultation de cette page particulièrement bien faite.

Les systèmes quantiques sont toujours à un stade expérimental, cependant depuis 1992, ils ont quitté le stade de la Science-fiction depuis que Benett et Brassard, deux chercheurs américains ont construit un prototype fonctionnant sur une courte distance (un peu moins d’un kilomètre). Cette approche souffre aujourd’hui du désavantage que les transmissions quantiques sont très faibles et sont difficilement amplifiables par la route, et que la polarisation des photons posent encore des problèmes en raison de l’imperfection de l’appareil lui-même.

Seul le futur nous dira si cette nouvelle approche, un peu plus compliquée puisque reposant directement sur la physique quantique, remplacera les systèmes utilisés actuellement. Cependant, pour l’instant les réponses aux problèmes posés restent incertaines, ce qui permet encore de beaux jours aux DES, RSA et autres standards du chiffrement moderne.

Page d'acceuil       Suite


Serge Delestan & Lionel Lejeune,
étudiants en dernière année D’'IUP MIAGE à Grenoble, Janvier 1998.