Rechercher un outil
Chiffre Solitaire (Schneier)

Outil pour déchiffrer/chiffrer avec Solitaire par Schneier. Solitaire est une méthode de chiffrement réalisable avec un jeu de cartes, inventé par Bruce Schneier dans le roman Cryptonomicon.

Résultats

Chiffre Solitaire (Schneier) -

Catégorie(s) : Chiffre Poly-Alphabétique

Partager
Partager
dCode et vous

dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Ecrire à dCode !


dCode aime toutes les remarques et commentaires pertinents, pour avoir une réponse, laisser un email (non publié) ! C'est grâce à vous que dCode a le meilleur outil de Chiffre Solitaire (Schneier), Merci.

Chiffre Solitaire (Schneier)

Annonces sponsorisées

Déchiffrement du Solitaire (par B.Schneier)








Chiffrement avec Solitaire (par B.Schneier)








Générateur de paquet de carte




Générateur de clé



Conversion des lettres A=1,Z=26

Outil pour déchiffrer/chiffrer avec Solitaire par Schneier. Solitaire est une méthode de chiffrement réalisable avec un jeu de cartes, inventé par Bruce Schneier dans le roman Cryptonomicon.

Réponses aux Questions

Comment encoder avec Solitaire ? (Principe de chiffrement)

Le chiffrement Solitaire de Bruce Schneier est un chiffre poly-alphabétique dont la clé de chiffrement est générée avec un jeu de cartes.

Exemple : Chiffrer le message CRYPTONOMICON avec le jeu de carte non mélangé 1,2,3,4...,52,A,B

Etape 1 : Associer à chaque caractère du message un nombre comme A=1,B=2,...Z=26 (code A1Z26)

Exemple : C a pour valeur 3, R devient 18, Y devient 25, etc.

Etape 2 : Générer un code en mélangeant le jeu de carte d'après l'algorithme de solitaire (voir ci après)

Exemple : Le premier code obtenu est 4 (puis 49, puis 10, etc.)

Etape 3 : Ajouter deux à deux les nombres des étapes 1 et 2. Si le total obtenu est supérieur à $ 26 $, lui soustraire $ 26 $.

Exemple : $ 3+4=7 $, puis $ 18+49=67 $, comme $ 67 > 26 $ calculer $ 67-26=41 $ et encore $ 41-26=15 $ etc.

Etape 4 : Remplacer chaque nombre par la lettre lui correspondant (opération inverse de l'étape 1), 1=A,2=B,...26=Z. Les lettres obtenues correspondent au message chiffré.

Exemple :

Message clairCRYPTONOMICON
Lettres codées31825162015141513931514
Codes des cartes4491024851446433203919
Calcul Etape 371591421462117162327
Message chiffréGOINBNFUQPWBG

Comment décoder par Solitaire ? (Principe de déchiffrement)

Le déchiffrement nécessite de connaitre l'ordre exact du jeu de cartes.

Le déchiffrement est identique au chiffrement, sauf pour l'étape 3 où il ne faut pas ajouter mais soustraire à chaque nombre celui généré par le jeu de cartes. Si le nombre obtenu est inférieur à $ 1 $, lui rajouter $ 26 $.

Exemple : Déchiffrer VQMLVBLTF avec les codes générés (factices) 3,2,1,3,2,1,... :

Message chiffréVQMLVBLTF
Lettres codées2217131222212206
Codes des cartes321321321
Calcul Etape 3 inversé19151292019185
Message clairSOLITAIRE

Comment coder un jeu de cartes ?

Bruce Schneier décrit un jeu de carte non mélangé avec les nombres suivants :

(Trèfle) As,2,3,...,10,V,D,R valant 1,2,3,...10,11,12,13

(Carreau) As,2,3,...,10,V,D,R valant 14,15,16,...23,24,25,26

(Coeur) As,2,3,...,10,V,D,R valant 27,28,29,...36,37,38,39

(Pique) As,2,3,...,10,V,D,R valant 40,41,42,...49,50,51,52

Joker A, Joker B valant respectivement A ou 53, B ou 53 (aussi)

Trèfle > Carreau > Coeur > Pique correspond à l'ordre du jeu utilisé dans les règles du Bridge

Comment générer les codes en mélangeant le jeu de cartes ? (Algorithme Solitaire)

La génération des codes est la partie la plus compliquée du code Solitaire, elle implique un mélange précis.

Exemple : 2,6,A,3,4,5,1,7,8,...,B,9 est un jeu de 54 cartes (avec jokers distincts A et B) en position initiale modifiée

Etape 1 : Déplacer le joker A d'une carte en dessous dans la pile (ce qui revient à échanger le joker A avec la carte immédiatement en dessous). Si ce n'est pas possible, ie. si le joker A est au fond de la pile (il n'a donc pas de carte en dessous), alors le déplacer préalablement au dessus de la pile et appliquer l'étape 1 (il deviendra donc la seconde carte de la pile).

Exemple : 2,6,3,A,4,5,1,7,8...,B,9

Etape 2 : Déplacer le joker B de 2 cartes en dessous dans la pile. Là encore si ce n'est pas possible, si le joker B est au fond de la pile, alors de déplacer en position 3 (il aura 2 cartes au dessus de lui) ou si le joker B est en avant dernière position, alors le déplacer en position 2 (une carte au dessus de lui). Celà revient à considérer que le jeu de carte fait une boucle sur lui-même.

Exemple : 2,B,6,3,A,4,5,1,7,8,...,9

Etape 3 : Faire une triple coupe au niveau des jokers (les jokers et toutes les cartes entre eux ne bougent pas mais les groupes de cartes avant et après s'échangent, même si un groupe est vide)

Exemple : 4,5,1,7,8,...,9,B,6,3,A,2

Etape 4 : Couper après la Nième carte où N est le numéro correspondant à la carte du dessous de la pile, tout en laissant la dernière carte à sa place. Si la dernière carte est un joker, ne rien changer à cette étape.

Exemple : 1,7,8,...9,B,6,3,A,4,5,2

Etape 5 : Noter le numéro X de la carte en position N+1 où N est est le numéro correspondant à la carte du dessus de la pile (qui est en position 1). X est le code généré (le jeu n'est pas mélangé à cette étape).

Exemple : 1,7,8,...9,B,6,3,A,4,5,2 Le premier code est 7

Répéter les étapes 1 à 5 pour obtenir le code suivant.

Comment reconnaitre le chiffre Solitaire ?

Un message codé par Solitaire a un indice de coincidence proche de l'aléatoire.

Toutes références à des jeux de cartes, au bridge, au jeu du Solitaire, ou Freecell ou encore au livre Cryptonomicon et son auteur Bruce Schneier sont des indices.

Quelles sont les variantes du chiffre Solitaire ?

Le jeu de carte pourrait être codé en nombres de n'importe quelle autre manière à condition que l'émetteur et le récepteur s'entendent sur la méthode.

La position originale du jeu de carte est meilleure si elle est parfaitement aléatoire, mais il est possible d'en générer une à partir d'un mot clé. Bruce Schneier décrit une méthode de mélange du jeu de carte basée sur un mot clé en le codant comme à l'étape 1 du chiffrement. Ensuite, il recommande de pratiquer un mélange du jeu de carte identique à l'algorithme du solitaire mais en replaçant l'étape 5 par une nouvelle étape 4 où la coupe est en position M avec M le code d'une lettre du mot clé. Répéter toutes les étapes ainsi pour chaque lettre.

Optionnellement, les 2 dernières lettres du mot clé (leurs codes $ c1 $ et $ c2 $) peuvent être utilisées pour déplacer les jokers respectivement après la carte en position $ c1 $ pour le joker A et après la carte en position $ c2 $ pour le joker B.

Quand Solitaire a-t-il été inventé ?

Neal Stephenson décrit l'algorithme du Solitaire dans Cryptonomicon, un roman de science-fiction paru en 1999. L'algorithme a été créé par Bruce Schneier, consultant en cryptographie pour ce livre.

Code source

dCode se réserve la propriété du code source du script Chiffre Solitaire (Schneier) en ligne. Sauf code licence open source explicite (indiqué Creative Commons / gratuit), tout algorithme, applet, snippet ou logiciel (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toute fonction (convertir, résoudre, décrypter, encrypter, déchiffrer, chiffrer, décoder, traduire) codé en langage informatique (PHP, Java, C#, Python, Javascript, Matlab, etc.) dont dCode a les droits ne sera pas cédé gratuitement. Pour télécharger le script en ligne Chiffre Solitaire (Schneier) pour un usage hors ligne, PC, iPhone ou Android, demandez un devis sur la page de contact !

Questions / Commentaires


dCode aime toutes les remarques et commentaires pertinents, pour avoir une réponse, laisser un email (non publié) ! C'est grâce à vous que dCode a le meilleur outil de Chiffre Solitaire (Schneier), Merci.


Source : https://www.dcode.fr/chiffre-solitaire-schneier
© 2019 dCode — La 'boite à outils' indispensable qui sait résoudre tous les jeux / énigmes / géocaches. dCode
Un problème ?