Outil pour chiffrer et déchiffrer des messages avec le chiffre Swagman, un chiffre par transposition utilisant une grille clé.
Chiffre Swagman - dCode
Catégorie(s) : Chiffrement par Transposition, Chiffrement par Grille
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 chiffre Swagman est un chiffre par transposition basé sur un carré latin de taille N. La grille clé contient les nombres de 1 à N, sans répétition dans une même ligne ni dans une même colonne.
Choisir une taille de grille N (généralement comprise entre 4 et 8) et en générer un carré latin contenant les nombres de 1 à N, sans répétition sur une même ligne ou une même colonne.
Exemple : Un carré latin de taille N=4
| 1 | 3 | 2 | 4 |
| 3 | 4 | 1 | 2 |
| 2 | 1 | 4 | 3 |
| 4 | 2 | 3 | 1 |
Le texte est ensuite écrit horizontalement dans un tableau de N lignes et des lettres de remplissage, appelées nulls sont rajoutés pour compléter si nécessaire.
Exemple : Chiffrer le message DCODESWAGMANCIPHER en l'écrivant
| D | C | O | D | E |
| S | W | A | G | M |
| A | N | C | I | P |
| H | E | R | X | X |
Pour chaque colonne, effectuer une permutation des lettres : regarder les nombres présents dans la colonne correspondante de la grille clé et lire les lettres dans l'ordre des nombres.
Exemple : La première colonne est 1,3,2,4, donc les lettres sont : D (ligne 1), A (ligne 3), S (ligne 2) et H (ligne 4), etc. Le tableau devient :
| D | N | A | X | E |
| A | E | O | G | P |
| S | C | R | I | M |
| H | W | C | D | X |
Le tableau est lu par colonnes pour former le texte final chiffré (toutes les séquences de lettres des colonnes sont concaténées).
Exemple : Le message chiffré est : DASHNECWAORCXGIDEPMX
Le déchiffrement de Swagman nécessite la connaissance de la grille (carré latin).
Exemple : Déchiffrer DASHNECWAORCXGIDEPMX avec la grille
| 1 | 3 | 2 | 4 |
| 3 | 4 | 1 | 2 |
| 2 | 1 | 4 | 3 |
| 4 | 2 | 3 | 1 |
— Déterminer les dimensions du rectangle à partir du nombre de lignes N de la grille. Le nombre de colonnes est la longueur du texte chiffré brut divisé par N.
Exemple : Le carré est de taille N=4, le message a 20 lettres, donc le tableau a 5 colonnes.
— Reconstituer le tableau en y copiant le texte en colonnes
Exemple :
| D | N | A | X | E |
| A | E | O | G | P |
| S | C | R | I | M |
| H | W | C | D | X |
— Pour chaque colonne : utiliser la grille clé pour retrouver l'ordre original des lignes et replacer les lettres dans leurs positions correctes.
Exemple :
| D | C | O | D | E |
| S | W | A | G | M |
| A | N | C | I | P |
| H | E | R | X | X |
— Lire ensuite le tableau horizontalement, ligne par ligne, afin de retrouver le texte en clair.
Le chiffre Swagman est un chiffre par transposition : les lettres du texte sont réorganisées, mais elles ne sont pas remplacées. L'indice de coincidence est donc identique au texte clair (les fréquences des lettres restent celles de la langue d'origine).
La présence d'un carré latin comme un sudoku est un indice.
Si la grille clé est inconnue, il est nécessaire de tester différentes valeurs de N, puis essayer de reconstituer le texte, colonne par colonne.
Pour y parvenir, il est possible de vérifier si le résultat contient des mots ou des structures plausibles dans la langue cible. Un texte clair partiellement connu peut aider à reconstruire la grille.
Une grille clé valide pour Swagman est un carré latin de taille NxN. Cela signifie que chaque ligne et chaque colonne contient exactement une fois chaque nombre de 1 à N.
Une manière simple de générer un carré latin est de lister sur la première ligne les nombres par ordre croissant, puis de les décaler circulairement de 1 sur la ligne suivante.
Exemple :
| 1 | 2 | 3 | 4 |
| 2 | 3 | 4 | 1 |
| 3 | 4 | 1 | 2 |
| 4 | 1 | 2 | 3 |
Toute permutation de ligne ou colonne (comme échanger 2 lignes ou 2 colonnes ou plus) ne modifie pas le fait que la grille reste un carré latin.
dCode se réserve la propriété du code source pour "Chiffre Swagman". Tout algorithme pour "Chiffre Swagman", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "Chiffre Swagman" (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 toute base de données, ou accès API à "Chiffre Swagman" ou tout autre élément ne sont pas publics (sauf licence open source explicite). Idem avec le téléchargement pour un usage hors ligne sur PC, mobile, tablette, appli iPhone ou Android.
Rappel : dCode est une ressource éducative et pédagogique, accessible en ligne gratuitement et pour tous.
Le contenu de la page "Chiffre Swagman" ainsi que ses résultats peuvent être copiés et réutilisés librement, y compris à des fins commerciales, à condition de mentionner dCode.fr comme source (Licence de libre diffusion Creative Commons CC-BY).
L'export des résultats est gratuit et se fait simplement en cliquant sur les icônes d'export ⤓ (format .csv ou .txt) ou ⧉ copier-coller.
Pour citer dCode.fr sur un autre site Internet, utiliser le lien :
Dans un article scientifique ou un livre, la citation bibliographique recommandée est : Chiffre Swagman sur dCode.fr [site web en ligne], consulté le 20/05/2026,