Outil pour décoder le chiffrement Skip (par saut) consistant à réordonner les lettres d'un message en sélectionnant celles-ci par saut de N caractères.
Chiffre par Saut (Skip) - dCode
Catégorie(s) : Chiffrement par Transposition
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 par saut (aussi appelé Skip Cipher) est un chiffrement par transposition qui réordonne les lettres d'un message en extrayant une lettre tous les $ n $ caractères (en faisant des sauts de $ n $ caractères, ou en ignorant $ n-1 $).
Définir la taille du saut $ s $, extraire la première lettre du message, puis faire des saut de $ s $ caractères. Lorsque la fin du message est atteint, reprendre au début (faire une boucle).
Exemple : Le message DCODE se chiffre avec un saut de $ 3 $ et en commençant par la première lettre : D puis $ 3 $ lettres plus loin D puis, arrivé à la fin du message, continuer le décompte en revenant au début pour obtenir C, puis E, puis revenir au début une dernière fois pour la dernière lettre O. Le message chiffré est DDCEO
Une autre méthode (au résultat identique) est de considérer une suite infinie de message accolés et d'en extraire les caractères par saut de $ n $.
Exemple : DCODE devient par cette méthode et des sauts de $ 3 $ : DDCEO
DCODEDCODEDCO… | D--D--C--E--O |
Pour que le chiffrement fonctionne, il est nécessaire d'utiliser une valeur de saut qui ne soit pas premier avec la longueur du message (voir ci-après).
Le déchiffrement nécessite la connaissance de la valeur $ s $ du saut.
Etape 1 : créer un tableau vide numéroté de $ 0 $ à $ N-1 $ avec $ N $ la longueur du message.
Etape 2 : prendre la $ i $-ème lettre du message chiffré et la placer dans le tableau en position $ (i-1) \times s \mod N $
Le message clair est le contenu du tableau après avoir placé les $ N $ lettres du message.
Exemple : Déchiffrer le message DDCEO (5 lettres) codé avec un saut de $ 3 $
Etape 1 : création du tableau : [0][1][2][3][4]
Etape 2 : la lettre D en position $ 1 $ du message se place en position $ (1-1) \times 3 = 0 $ dans le tableau : [D][_][_][_][_]
Etape 2 : la lettre D en position $ 2 $ du message se place en position $ (2-1) \times 3 = 3 $ dans le tableau : [D][_][_][D][_]
etc. jusqu'à obtenir [D][C][O][D][E] qui est le message clair.
Afin que le chiffrement fonctionne, le saut doit être un nombre premier avec $ N $ (le nombre de caractères du message), c'est-à-dire qu'il ne partage aucun diviseur, sinon le chiffrement va boucler sur lui-même et ne message chiffré ne contiendra jamais toutes les lettres du message clair.
Exemple : SKIP (longueur $ 4 $) ne peut pas être chiffré avec une valeur comme $ 2 $ ($ 2 $ et $ 4 $ ne sont pas premiers entre eux) sinon le message chiffré serait SISI (les lettres K et P n'apparaitront jamais)
Le message est constitué des lettres du message clair mais dans un autre ordre (propriété des chiffrement par transposition), l'indice de coincidence du chiffrement skip est identique au message clair.
La première lettre du message chiffré est la première lettre du message si la position de départ est 1.
Utiliser la fonction de recherche par Bruteforce proposée sur dCode qui va tenter toutes les valeurs de saut possible (premiers avec N la longueur du texte)
La position de départ du chiffrement peut être modifiée, en commençant en position $ i $ le message est légèrement modifié.
La prise en compte de la ponctuation influe beaucoup sur le message (mais complique le chiffrement/déchiffrement manuel)
dCode se réserve la propriété du code source pour "Chiffre par Saut (Skip)". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Chiffre par Saut (Skip)", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Chiffre par Saut (Skip)" (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 par Saut (Skip)" 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 par Saut (Skip)" 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 par Saut (Skip) sur dCode.fr [site web en ligne], consulté le 21/12/2024,