au sommaire
Né à New York en 1963, Bruce Schneier étudia la physique à l'université de Rochester avant de bifurquer vers un master en sciences informatiques à l'université américaine de Washington DC. Il est aujourd'hui associé au Berkman Center à Harvard.
Schneier inventa ou coïnventa un certain nombre d'algorithmes cryptographiques, dont le chiffrementchiffrement Solitaire, spécialement conçu pour nourrir la trame narrative de Cryptonomicon, un roman de Neal Stephenson, paru en 1999, qui fait une large part à la cryptographiecryptographie.
Selon les propres termes de Schneier : « Un agent pourrait se trouver dans une situation où il n'a tout simplement pas accès à un ordinateurordinateur, ou pourrait se faire traduire en justice s'il disposait d'outils de communications secrètes. Mais un jeu de cartes... Que trouverait-on à y redire ? » Malin !
Le chiffrement avec un simple jeu de cartes
Ce chiffrement nécessite un paquetpaquet de 52 cartes à jouer et deux jokers non identiques, que nous appellerons A et B. Le jeu doit être battu, et un second paquet, ordonné de manière identique, donné au destinataire.
Prenez le jeu de cartes faces visibles en main, localisez le joker A et permutez-le avec la carte juste en dessous. S'il se trouve que le joker est la dernière carte du paquet, placez-le au-dessous de la première carte. Localisez ensuite le joker B et déplacez-le de deux cartes vers le bas. Si le joker B est en dernière position, placez-le en dessous de la deuxième carte ; s'il est en avant-dernière position, en dessous de la première carte.
Si par exemple, le paquet se présente initialement dans l'ordre A 7 2 B 9 4 1, il se trouvera après la deuxième étape dans l'ordre 7 A 2 9 4 B 1.
Permutez maintenant le paquet de cartes au-dessus du joker le plus élevé avec le paquet de cartes en dessous du plus bas.
Si le jeu se présente dans l'ordre 2 4 6 B 5 8 7 1 A 3 9, il se présentera après cette étape dans l'ordre 3 9 B 5 8 7 1 A 2 4 6.
Prenez maintenant la dernière carte du paquet et mettez-la de côté. S'il s'agit d'un trèfle, donnez-lui sa valeur faciale - avec par convention 11 pour le valet, 12 pour la reine et 13 pour le roi. S'il s'agit d'un carreau, sa valeur plus 13 ; un cœur, sa valeur plus 26 ; un pique, sa valeur, plus 39. Les jokers valent tous deux 53.
Comptez ce nombre de cartes à partir du haut du paquet, coupez à cet endroit et placez le paquet inférieur au-dessus des cartes supérieures.
Replacez la carte mise de côté au bas du paquet.
Regardez maintenant le nombre de points de la première carte, évalué comme plus haut.
Comptez ce nombre à partir de la première carte, puis regardez la carte qui suit. Cette carte est dite « de sortie ». S'il s'agit d'un joker, il vous faut recommencer le processus à l'étape de localisation des jokers.
Dans le cas contraire, convertissez cette carte en nombre, mais cette fois d'une manière légèrement différente : pour un trèfle, la valeur faciale (le valet valant toujours 11, la reine 12 et le roi 13) : pour un carreau, sa valeur, plus 13 ; pour un cœur, sa valeur ; pour un pique, sa valeur plus 13.
Pour chiffrer la première lettre du texte clairtexte clair, considérez d'abord sa position dans l'alphabet, soit A = 1... Z = 26, et ajoutez la valeur de la carte de sortie.
Si le résultat est supérieur à 26, retranchez 26 - un procédé qui porteporte le nom d'arithmétique modulo 26. Convertissez alors de nouveau ce nombre en lettre. Si vous avez par exemple additionné 9 à 27 pour obtenir 36, puis soustrait 26 pour obtenir 10, la première lettre se chiffrerait par j.
Il vous suffit ensuite de répéter l'ensemble du processus sur le jeu de cartes afin d'obtenir une deuxième carte de sortie dont la valeur s'ajoutera au deuxième caractère du texte clair. Et ainsi de suite jusqu'à la fin du texte. Pour déchiffrer le message, le destinataire effectue le processus inverse.