Solitaire (chiffre)

Solitaire (chiffre)

Solitaire (chiffrement)

Solitaire est un algorithme de chiffrement que l'on peut réaliser avec les mains en utilisant un jeu de cartes et inventé par Bruce Schneier, sur la demande de Neal Stephenson pour son roman de science-fiction Cryptonomicon.

Un des buts de ce système est de pouvoir être utilisé dans un environnement totalitaire, où la possession d'un jeu de carte est bien moins incriminante que celle d'un ordinateur muni de système de chiffrement[1].

Paul Crowley a montré en 1999 que la probabilité que deux sorties successives du texte codé soient identiques est plus proche de 1/22.5 que de 1/26 comme on pourrait s'y attendre.[2]

Sommaire

Chiffrement et déchiffrement

L'algorithme génère une suite de valeurs (la clé) qui sont combinées au message pour soit le coder soit le décoder. Chaque valeur de cette suite est utilisée pour un caractère du message. Ainsi, la clé est de la longueur du message.

Le principe de chiffrement est le suivant :

  1. Pas de ponctuation, et pas de casse (autrement dit, soit le message est en majuscule, soit en minuscule)
  2. Convertir chaque lettre du message en sa valeur numérique correspondante (A=1, B=2, ..., Z=26). Pour rendre la chose plus ardue on peut prendre n'importe quelle bijection de A, B, C, ..., Z dans 1, 2, ..., 26.
  3. Pour chiffrer, ajouter chaque valeur de la clé à sa valeur correspondante dans le message, en recommençant à 1 si la valeur dépasse 26 (28 = 2 par exemple)
  4. Pour déchiffrer, soustraire chaque valeur de la clé à sa valeur correspondante dans le texte chiffré, en recommençant à 26 si la valeur est strictement inférieure à 1.

Génération de la clé

Pour générer la clé, il faut posséder un jeu de cartes et deux jokers. Pour des raisons de simplicité, seulement deux familles de cartes (sur les quatre) seront utilisées dans la suite. À chaque carte on attribue une valeur : de 1 à 13 pour la première famille (de l'as au roi) et de 14 à 26 pour la seconde (de l'as au roi aussi). Les jokers sont numérotés 27 et 28. Par exemple le valet de la première famille vaut 11 et le 2 de la seconde vaut 15.

On considère que le paquet est une liste circulaire, c'est-à-dire qu'après la dernière carte se trouve la première.

  1. Mélanger le jeu. C'est la partie la plus importante car pour un arrangement initial donné, la clé est unique. Ainsi, il suffit que les correspondants aient un jeu de cartes dans le même ordre pour pouvoir communiquer. Une des meilleures façons est de mélanger le jeu parfaitement aléatoirement, quoiqu'on puisse utiliser beaucoup d'autres méthodes. Dans notre exemple, on place les cartes de 3 en 3, modulo 28. Ainsi, on a au départ :
    • 1 4 7 10 13 16 19 22 25 28 3 6 9 12 15 18 21 24 27 2 5 8 11 14 17 20 23 26
  2. Localiser et faire descendre le premier joker (le 27) d'un rang, c'est-à-dire l'échanger avec la carte qui est sous celui-ci. Ici, on obtient :
    • 1 4 7 10 13 16 19 22 25 28 3 6 9 12 15 18 21 24 2 27 5 8 11 14 17 20 23 26
  3. Localiser et faire descendre le second joker (le 28) de deux rangs.
    • 1 4 7 10 13 16 19 22 25 3 6 28 9 12 15 18 21 24 2 27 5 8 11 14 17 20 23 26
  4. Couper le jeu en trois parties : la première (notée 1) comporte toutes les cartes jusqu'au joker le plus haut (qui n'est pas forcément le 27) est échangée avec la troisième qui comporte toutes les cartes du joker le plus bas à la fin du jeu.
    • 5 8 11 14 17 20 23 26 28 9 12 15 18 21 24 2 27 1 4 7 10 13 16 19 22 25 3 6
  5. Regarder la valeur de la carte sous le paquet. Si c'est un joker prendre la valeur 27 (quel que soit le joker). Notons cette valeur n. Prendre les n premières cartes du paquet et les placer juste avant la dernière carte.
    • 23 26 28 9 12 15 18 21 24 2 27 1 4 7 10 13 16 19 22 25 3 5 8 11 14 17 20 6
  6. Regarder la valeur de la carte sur le paquet, disons p. Compter p cartes après la première. La p-ième carte sera la prochaine valeur de la clé. Dans notre exemple, ce serait 11. Cette étape ne modifie pas le paquet.
  7. Recommencer à partir de l'étape 2 autant de fois que nécessaire.

References

  1. Bruce Schneier, « Solitaire », 1999
  2. Paul Crowley, « Problems with Bruce Schneier's "Solitaire" », 1999. Consulté le 2007-05-30

Lien externe

  • Portail de la cryptologie Portail de la cryptologie
Ce document provient de « Solitaire (chiffrement) ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Solitaire (chiffre) de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Solitaire (personnage) — Solitaire est un personnage fictif dans le roman de James Bond et le film Vivre et laisser mourir (1973). Dans le film, elle a été interprétée par Jane Seymour. À l âge de 22 ans, Jane Seymour est devenue la plus jeune actrice à avoir joué une… …   Wikipédia en Français

  • Solitaire (chiffrement) — Pour les articles homonymes, voir Solitaire. Solitaire est un algorithme de chiffrement que l on peut réaliser avec les mains en utilisant un jeu de cartes et inventé par Bruce Schneier, sur la demande de Neal Stephenson pour son roman de science …   Wikipédia en Français

  • Le Chiffre — Character from the James Bond franchise Mads Mikkelsen as Le Chiffre in Casino Royale (2006). Occupation Paymaster for the Syndic …   Wikipedia

  • Le Chiffre — Personnage de fiction apparaissant dans James Bond Genre masculin Véritable nom Inconnu …   Wikipédia en Français

  • Yvan Chiffre — Pour les articles homonymes, voir Chiffre. Yvan Chiffre Données clés Naissance 3 mars 1936 (1936 03 03) (75 ans) Paris (France) Nationalité …   Wikipédia en Français

  • Py (cryptographie) — Pour les articles homonymes, voir Py. Py est un algorithme de chiffrement par flot développé par Eli Biham et Jennifer Seberry. Il peut gérer des clés d une longueur pouvant aller jusqu à 256 bits. Destiné à être une alternative plus sûre et plus …   Wikipédia en Français

  • Felix Leiter — Character from the James Bond franchise The many faces of Felix Leiter: from top left: Jack Lord, Cec Linder, Rik Van Nutter, Norman Burton from bottom left: David Hedison …   Wikipedia

  • List of James Bond henchmen in Casino Royale — This list does not include henchmen from the 1967 film of the same name. A list of henchmen from the original 1953 novel and 2006 James Bond film Casino Royale from the List of James Bond henchmen. Contents 1 Steven Obanno 2 Alex Dimitrios …   Wikipedia

  • Bond girl — Selection of Bond girls Top row, left to right: Ursula Andress ( Honey Ryder in Dr. No) Eva Green ( Vesper Lynd in Casino Royale) Halle Berry ( Jinx in Die Another Day) Middle row, left to right …   Wikipedia

  • Mr. White (James Bond) — Mr. White Character from the James Bond franchise Occupation Senior Quantum agent Affiliation Q …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”