Outil pour déchiffrer/chiffrer avec Vic. Le chiffre Vic (du nom d'un espion soviétique nommé Victor) est un chiffre rattaché aux Nihilistes, combinant plusieurs techniques de cryptographies.
Chiffre VIC - dCode
Catégorie(s) : Chiffrement par Substitution, GRID_CIPHER
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 ? Écrire à dCode !
Le chiffrement VIC est un chiffrement de substitution avec un surchiffrement utilisant une transposition, nommé d'après un espion appelé Victor.
Le chiffrement Vic débute par la création d'une grille appelée Damier ou Echiquier (Straddling checkerboard en anglais) à partir d'un alphabet désordonné (voir ci après comment générer la grille).
Exemple : La grille suivante (avec les chiffres 2 et 6 et un alphabet désordonné à l'envers complété de . et /)
\ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|
. | / | ␣ | Z | Y | X | ␣ | W | V | U | |
2 | T | S | R | Q | P | O | N | M | L | K |
6 | J | I | H | G | F | E | D | C | B | A |
Chaque caractère est alors associé à ses coordonnées (ligne, colonne), ainsi le message clair peut alors être codé numériquement en suivant ces associations.
Exemple : Le texte VICTOR se code 8,61,67,20,25,22 ou 86167202522 (par concaténation)
Le chiffre Vic peut s'arrêter là, mais un surchiffrement est possible en utilisant une clé numérique qui sera additionnée, chiffre après chiffre, modulo 10.
Exemple : La clé 0248 est utilisée, le code surchiffré devient 88547240546 via le calcul :
Message codé | 8 | 6 | 1 | 6 | 7 | 2 | 0 | 2 | 5 | 2 | 2 |
Clé (répétée) | 0 | 2 | 4 | 8 | 0 | 2 | 4 | 8 | 0 | 2 | 4 |
Addition (mod 10) | 8 | 8 | 5 | 4 | 7 | 4 | 4 | 0 | 5 | 4 | 6 |
Une dernière étape, optionnelle, est de convertir les chiffres obtenus en lettres, via l'échiquier/grille.
Si le dernier chiffre correspond à un identifiant de ligne de la grille, alors ajouter un autre chiffre aléatoirement pour rendre cette dernière étape possible. La conséquence est que le message décodé aura une lettre supplémentaire superflue.
Exemple : 8 => V, 5 => X, etc. (le dernier chiffre 6 n'existe pas, mais, par exemple, 60 existe) pour obtenir le message final VVXYWYY.XYJ
Le déchiffrement Vic nécessite de connaitre la grille (ou échiquier) utilisée lors du chiffrement.
Exemple :
\ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|
P | ␣ | I | A | ␣ | B | C | D | E | F | |
1 | G | H | J | K | L | M | N | O | Q | R |
4 | S | T | U | V | W | X | Y | Z | . | / |
Le message chiffré peut avoir une forme numérique ou alphabétique (selon les étapes optionnelles sélectionnées lors du chiffrement).
Si le message est alphabétique, alors le convertir en numérique via la grille (coordonnées ligne, colonne) sinon ignorer cette étape
Exemple : Le message DMPBDBFEU est alors traduit en 71505759842
Si le chiffrement à utilisé une clé numérique, alors la soustraire chiffre après chiffre, via une soustraction modulo 10.
Exemple : La clé 314 a été utilisée, le résultat de la soustraction est alors 40247328417 via le calcul :
Message codé | 7 | 1 | 5 | 0 | 5 | 7 | 5 | 9 | 8 | 4 | 8 |
Clé (répétée) | 3 | 1 | 4 | 3 | 1 | 4 | 3 | 1 | 4 | 3 | 1 |
Soustraction (mod 10) | 4 | 0 | 1 | 7 | 4 | 3 | 2 | 8 | 4 | 1 | 7 |
Transcrire le code numérique en lettres via la grille en utilisant les coordonnées (ligne, colonne) pour obtenir le message clair.
Exemple : 40 => S, 17 => O, 43 => V, 2 => I, 8 => E, 41 => T, 7 => D soit SOVIET (+D, la dernière lettre étant un résidu)
La grille/le damier contient un alphabet de 28 caractères sur 3 lignes et 10 colonnes repérées par des coordonnées numériques. Par défaut, les 28 caractères sont ABCDEFGHIJKLMNOPQRSTUVWXYZ ainsi que les caractères . (point) et / (slash, barre oblique) dans un ordre aléatoire ou prédéfini (se référer à la génération d'alphabets désordonnés). Les coordonnées des colonnes vont de 0 à 9 (0,1,2,3,4,5,6,7,8,9) et les coordonnées des lignes vont de 0 à 2 (0,1,2), mais il est courant de ne pas afficher le 0 et d'utiliser 2 autres chiffres à la place de 1 et 2 pour complexifier le chiffrement. La grille est remplie avec les 28 caractères, soit 1 caractère par case sauf aux coordonnées 0,1 et 0,2 (où 0,x sont les chiffres choisis précédemment pour les numéros de ligne).
Exemple : L'alphabet AZERTYUIOPQSDFGHJKLMWXCVBN./ combiné aux chiffres 3 et 7 permettent de créer la grille
\ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|
A | Z | E | ␣ | R | T | Y | ␣ | U | I | |
3 | O | P | Q | S | D | F | G | H | J | K |
7 | L | M | W | X | C | V | B | N | . | / |
Cette grille permet de générer des associations entre nombres (coordonnée ligne, colonne) et caractères, ces associations sont utilisées pour le chiffrement et le déchiffrement.
Exemple : Z est associé à 1 (les caractères de la première ligne sont associées à un chiffre), B est associé à 76 (les caractères des autres lignes ont 2 chiffres)
Un message chiffré par Vic est soit numérique soit alphabétique (+ les 2 caractères . et /).
Si le message est numérique et sans clé, il contient 2 chiffres qui ont une fréquence d'apparition supérieure aux autres (les 2 chiffres de la grille).
Si le message est alphabétique, il contient 8 caractères avec une fréquence supérieure aux autres (ceux de la première ligne de la grille).
L'histoire de ce chiffre est en parti lié à un microfilm trouvé dans une pièce de monnaie par un livreur de journaux à Brooklyn qui n'avait jamais été déchiffré jusqu'à ce qu'un espion russe, du nom de Reino Häyhänen, décrive le système de chiffrement au FBI. Toute référence à un microfilm, New York ou à un livreur de journaux est un indice.
La connaissance de la grille est quasiment indispensable, le nombre de possibilités de grille est de l'ordre de 10^30. L'attaque par brute force est donc déconseillée, sauf si la grille est générée à partir d'un mot clé courant.
La clé peut être bruteforcée si elle est courte, le nombre de tentative est 10^(taille de la clé).
Le chiffre Vic dispose de plusieurs étapes optionnelles, en fonction de leur application, les résultats peuvent être différents.
Le chiffre Vic étant d'origine russe, il est souvent associé au chiffre des nihilistes dont il est lui-même considéré comme une variante.
L'usage de Vic est avéré dans les années 1950, ses premières traces datent de 1953 chez les renseignements américains qui l'ont associé à l'espion russe (Union soviétique) Reino Häyhänen, connu sous le nom de Victor.
dCode se réserve la propriété du code source pour "Chiffre VIC". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Chiffre VIC", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Chiffre VIC" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou les données, en téléchargement, script, ou les accès API à "Chiffre VIC" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.
Le copier-coller de la page "Chiffre VIC" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous créditez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
Chiffre VIC sur dCode.fr [site web en ligne], consulté le 21/12/2024,