Outil pour déchiffrer/chiffrer par substitution homophonique, le chiffre homophonique consiste à remplacer chaque lettre de l'alphabet par plusieurs substituts de manière à empêcher la cryptanalyse par analyse des fréquences.
Chiffre Homophonique - dCode
Catégorie(s) : Chiffrement par Substitution Homophonique
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 homophonique est un chiffrement par substitution qui utilise une table de correspondance entre les lettres/caractères du message clair et une ou plusieurs lettres/chiffres/groupes de caractères.
En conséquence, une même lettre pourra avoir plusieurs chiffrements possibles et un même message aura éventuellement plusieurs versions chiffrées.
Le chiffre homophonique aide à masquer la fréquence des lettres utilisées dans un message, rendant ainsi l'analyse fréquentielle plus difficile pour un cryptanalyste.
Pour utiliser le chiffre homophonique, l'utilisateur doit d'abord définir un tableau de correspondance entre les caractères du texte clair et un ou plusieurs symboles pour chaque caractère.
Pendant le processus de chiffrement, choisir aléatoirement parmi ces symboles chaque fois qu'un caractère spécifique doit être encodé. Cela assure que le même caractère ne soit pas toujours représenté par le même symbole dans le texte chiffré.
Exemple : En utilisant la nomenclature A(45,96,17), B(37,60), C(05,88), il est possible de coder ABC comme 45,60,88 ou 96,60,05 ou 96,37,05 etc.
Pour maximiser la sécurité du chiffrement, il est malin d'utiliser un nombre de correspondances par lettre proportionnel à la fréquence de la lettre dans la langue du message clair, et veiller à sélectionner un remplacement dans la liste de manière aléatoire.
Utiliser la table de correspondance pour transformer chaque caractère/groupe de caractères du message clair.
Exemple : 34,25,10 a été codé avec les correspondances multiples : A(87,34,11), B(25,80), C(10,55), le message clair est ABC
En prenant 100 nombres, la correspondance idéale est environ égale à la fréquence de chaque lettre dans la langue française (exprimée en pourcentage arrondi à l'unité)
E | 16 | P | 3 |
---|---|---|---|
A | 8 | G | 1 |
S | 7 | V | 1 |
I | 7 | B | 1 |
N | 7 | F | 1 |
T | 7 | Q | 1 |
R | 6 | H | 1 |
L | 6 | X | 1 |
U | 6 | J | 1 |
O | 5 | Y | 1 |
D | 4 | K | 1 |
C | 3 | W | 1 |
M | 3 | Z | 1 |
En utilisant 50 nombres, diviser environ les quantités par 2.
Utiliser les pièces d'un jeu de Scrabble est une bonne idée.
Bien réalisé, la fréquence des caractères d'un message chiffré homophoniquement est proche de celle d'un texte parfaitement aléatoire, son indice de coincidence aussi.
Afin de simplifier le travail du récepteur du message, il est courant d'utiliser des groupes de chiffres/lettres de longueur fixe (2 ou 3 chiffres).
Si le tableau de correspondance est accessible, le chiffre devient un système de substitution classique.
Utiliser un chiffre homophonique rend le texte chiffré plus résistant aux méthodes d'analyse fréquentielle.
En cryptographie, dissimuler la fréquence des lettres d'un texte aide à protéger contre les tentatives de déchiffrement qui exploitent ces informations.
Si les correspondances sont proportionnelles à la fréquence des caractères dans la langue du message clair, alors il est impossible d'utiliser les techniques d'analyse des fréquences ou d'indice de coïncidence.
A partir d'une portion de texte connu ou supposé, il est possible de deviner quelques correspondances des caractères mais c'est souvent insuffisant pour déchiffrer tout le message.
dCode se réserve la propriété du code source pour "Chiffre Homophonique". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Chiffre Homophonique", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Chiffre Homophonique" (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 Homophonique" 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 Homophonique" 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 Homophonique sur dCode.fr [site web en ligne], consulté le 21/12/2024,