Navigation

A propos

3. Le chiffre de Vernam

En 1917, Gilbert Vernam mit au point un algorithme de chiffrement -basé sur une clé secrète- parfaitement sûr, tellement sûr qu'il a longtemps protégé le fameux "téléphone rouge", qui reliait la Maison Blanche au Kremlin.

Utilisation :

Illustration du principe par un exemple

Alice veut transmettre à Bob un message M. A l'aide de la clé secrète K (convenue avec B), elle va crypter M pour arriver à sa version cryptée C. Ecrivons :

C = K * M
où "*" est une loi de groupe. L'utilisation d'une loi de groupe se justifie car elle possède une propriété nécessaire : quels que soient deux nombres a et b, il existe un unique nombre x tel que a = b * x

( 1 ) Alice choisit (par tradition et facilité) pour loi de groupe l'opérateur bit à bit "OU EXCLUSIF", noté XOR, décrit tel que :

1 XOR 1 = 0
1 XOR 0 = 1
0 XOR 0 = 0
0 XOR 1 = 1

( 2 ) Alice va donc écrire son message sous forme binaire, puis générer une grande quantité de bits réellement aléatoires (par exemple, en tirant à pile ou face) qui vont constituer la clé. Elle pourra alors procéder au cryptage :

Soient M = 1000011 et K = 1101000,
Le message crypté C est donc : C = K XOR M = 1101000 XOR 1000011 = 0101011

( 3 ) Alice transmet C à Bob par un canal quelconque, tel que la radio. Bob, pour obtenir le message original, va utiliser l'opération inverse de celle qui a permis le cryptage. Ici, comme XOR est son propre inverse :

M = K (*)-1 C
M = 1101000 XOR 0101011
M = 1000011, ce qui constitue bien le message de départ !

Sécurité "inconditionnelle"

Si la clé choisie est soumise aux conditions citées plus haut, l'utilisation d'une loi de groupe garantit une sécurité dite inconditionnelle. En effet, si on admet qu'un cryptanalyste intercepte le message crypté C, il ne pourra rien en déduire, si ce n'est la taille du message en clair M. Il lui est impossbile d'établir une corrélation entre M et C sans connaître K, car étant donné qu'on utilise pour crypter une loi de groupe, il n'existe pour M et C qu'un seul nombre K tel que M = K * C !

Ce problème est comparable au suivant : dans un bateau, il y a trois poules et un canard ; quel est l'âge du capitaine ?
... Même si l'ennemi possédait des ordinateurs ultra puissants, il ne pourrait jamais en trouver la solution. C'est dans ce cas-là que le mot "sécurité inconditionnelle" prend son sens : une puissance de calcul infinie ne décrypterait pas le message.

Le système de Vernam

Il suit le principe détaillé précédemment. Soient :

Un message M de n symboles M = (x1,x2,...,xn) se chiffre par la transformation fK :

fK : M (x1,x2,...,xn) --> C (y1,y2,...,yn)
où yi = xi + ki mod m
avec K = (ki,..., kn) la clé choisie aléatoirement dans E, et destinée à ne servir qu'une seule fois.

Pertinence de ce principe

Le système mis au point par Vernam, bien qu'apportant une sécurité optimale, est très peu d'usage dans le monde civil, et est surtout réservé à des organismes possédant des moyens importants. En effet, tout le monde n'est pas en mesure d'utiliser des clés de la manière décrite en début de chapitre :

Il a donc fallu aux cryptographes trouver une alternative plus pratique et moins coûteuse, qui sera décrite dans le chapitre suivant, les schémas de Feistel.

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

Page exécutée en 0.005835 secondes.