Essayez le Chiffre à Quatre Carrés

Utilisez les outils ci-dessous pour chiffrer ou déchiffrer un message :

Chiffrer

Résultat:

Déchiffrer

Résultat:

Matrices Générées

Moments merveilleux de l'histoire

Le Chiffre à Quatre Carrés : Contexte Historique et Principes de Chiffrement

Le Chiffre à Quatre Carrés est une méthode de chiffrement symétrique inventée par le Français Félix Delastelle (1840-1902) et fait partie de la cryptographie moderne. Cette méthode de chiffrement crypte les lettres par paires en utilisant quatre matrices de 5×5, chacune contenant 25 lettres. En général, la lettre Q est omise, ou I et J sont considérées comme la même lettre. Alternativement, la méthode peut être adaptée pour utiliser des matrices de 6×6 pour inclure 10 chiffres.

Pendant le processus de chiffrement, deux mots anglais sont choisis comme clés, tels que "example" et "keyword." Après avoir supprimé les lettres en double, les lettres restantes sont placées dans l'ordre dans les matrices. Ces deux matrices sont placées dans les coins supérieur droit et inférieur gauche, tandis que les coins supérieur gauche et inférieur droit utilisent la séquence de A à Z pour former les matrices, créant ainsi la matrice du Chiffre à Quatre Carrés.

Pour chiffrer un message, les lettres sont séparées en paires, comme "hello world" devenant "he ll ow or ld". En fonction des positions dans les matrices, les lettres chiffrées correspondantes sont trouvées. Par exemple, le processus de chiffrement pour "he" implique de trouver la position de "h" dans la matrice en haut à gauche et "e" dans la matrice en bas à droite. Ensuite, dans la matrice en haut à droite, la lettre dans la même ligne que "h" et la même colonne que "e" est localisée, et dans la matrice en bas à gauche, la lettre dans la même colonne que "h" et la même ligne que "e" est trouvée. Ces deux lettres forment le texte chiffré.

La faiblesse du Chiffre à Quatre Carrés réside dans le cas où deux lettres sont dans la même colonne, les lettres originales sont utilisées, ce qui peut exposer environ 20 % du contenu. De plus, étant donné qu'il s'agit d'une méthode de chiffrement symétrique, elle est facilement cassée par des comparaisons enregistrées, entraînant une faible sécurité. Un autre problème est qu'elle ne peut chiffrer qu'un nombre pair de caractères. S'il y a un nombre impair, le dernier caractère restant ne peut pas être chiffré, et utiliser le caractère original ou un remplissage rend le texte chiffré plus vulnérable à l'exposition.

En tant que partie de la cryptographie classique, bien que le Chiffre à Quatre Carrés ne corresponde pas à la sécurité des algorithmes de chiffrement modernes, sa simplicité et sa signification historique ont inspiré les méthodes de chiffrement modernes.

Guide étape par étape pour le chiffrement avec le Chiffre à Quatre Carrés

Voici un guide détaillé pour chiffrer en utilisant le Chiffre à Quatre Carrés, avec les mots-clés "Four" et "Cipher" et le texte en clair "Hello World".

Étape 1 : Préparation

  • Choisir les mots-clés
    • clé1 = "Four"
    • clé2 = "Cipher"
  • Préparer le texte en clair
    • Le texte en clair est "Hello World".
  • Convertir le texte en clair en un format approprié pour le chiffrement
    • Convertir en lettres majuscules et remplacer la lettre J par I : Hello World -> HELLOWORLD
    • Supprimer les caractères non alphabétiques : HELLOWORLD
    • Si la longueur du texte en clair est impaire, ajouter le caractère X à la fin.

Étape 2 : Générer les carrés de lettres

Utilisez les mots-clés pour générer quatre carrés de lettres 5x5. L'alphabet omet généralement la lettre J, utilisant I à la place.

Fonction pour générer les carrés de lettres

                
                function createSquare(keyword) {
                    let alphabet = "ABCDEFGHIKLMNOPQRSTUVWXYZ";
                    let used = {};
                    let square = "";
                    keyword = keyword.toUpperCase().replace(/J/g, 'I');
                    for (let i = 0; i < keyword.length; i++) {
                        if (!used[keyword[i]]) {
                            used[keyword[i]] = true;
                            square += keyword[i];
                        }
                    }
                    for (let i = 0; i < alphabet.length; i++) {
                        if (!used[alphabet[i]]) {
                            square += alphabet[i];
                        }
                    }
                    return square;
                }
                
            

Générer 4 carrés de lettres

Carré 1 (square1) et Carré 4 (square4) utilisant clé1 = "FOUR" :

                
                F O U R A
                B C D E G
                H I K L M
                N P Q S T
                V W X Y Z
                
            

Carré 2 (square2) et Carré 3 (square3) utilisant clé2 = "CIPHER" :

                
                C I P H E 
                R A B D F
                G K L M N
                O Q S T U
                V W X Y Z
                
            

Étape 3 : Processus de chiffrement

Divisez le texte en clair en paires de lettres et chiffrez chaque paire. Exemple de texte en clair : HELLOWORLD.

Diviser le texte en clair

HELLOWORLD -> HE LL OW OR LD

Chiffrer chaque paire de lettres

Utilisez la fonction suivante pour trouver la position des lettres dans les carrés :

                
                    function findPosition(square, char) {
                        let index = square.indexOf(char);
                        let row = Math.floor(index / 5);
                        let col = index % 5;
                        return [row, col];
                    }
                
            

Chiffrez chaque paire de lettres étape par étape :

  • Chiffrer la paire "HE"
    • H est à la position (2, 0) dans square1
    • E est à la position (1, 3) dans square4
    • Prendre (2, 3) de square2 -> M
    • Prendre (1, 0) de square3 -> R
    • Résultat : HE -> MR
  • Chiffrer la paire "LL"
    • L est à la position (2, 3) dans square1
    • L est à la position (2, 3) dans square4
    • Prendre (2, 3) de square2 -> M
    • Prendre (2, 3) de square3 -> M
    • Résultat : LL -> MM
  • Chiffrer la paire "OW"
    • O est à la position (0, 1) dans square1
    • W est à la position (4, 1) dans square4
    • Prendre (0, 1) de square2 -> I
    • Prendre (4, 1) de square3 -> W
    • Résultat : OW -> IW
  • Chiffrer la paire "OR"
    • O est à la position (0, 1) dans square1
    • R est à la position (0, 3) dans square4
    • Prendre (0, 3) de square2 -> H
    • Prendre (0, 1) de square3 -> I
    • Résultat : OR -> HI
  • Chiffrer la paire "LD"
    • L est à la position (2, 3) dans square1
    • D est à la position (1, 2) dans square4
    • Prendre (2, 2) de square2 -> L
    • Prendre (1, 3) de square3 -> D
    • Résultat : LD -> LD

Texte chiffré final

Combinez les paires de lettres chiffrées. Le texte chiffré pour HELLOWORLD est : MRMMIWHILD

Comparaison du Chiffre à Quatre Carrés, du Double Chiffre Playfair et du Chiffre Playfair

Similarités

  • Chiffres de Substitution Polygraphique
    • Le Chiffre à Quatre Carrés, le Double Chiffre Playfair et le Chiffre Playfair sont tous des chiffres de substitution polygraphique. Cela signifie qu'ils utilisent des paires ou des groupes de lettres comme unité de base pour le chiffrement et le déchiffrement, plutôt que des lettres simples.
  • Matrices de Lettres
    • Les trois systèmes de chiffrement utilisent des matrices de lettres pour le chiffrement et le déchiffrement. Chaque méthode repose sur les positions des lettres dans ces matrices pour effectuer des substitutions ou des transformations.
  • Objectif
    • L'objectif de la conception de ces chiffres est d'améliorer la sécurité des chiffres de substitution de lettres simples traditionnels en augmentant la complexité du chiffrement, empêchant ainsi les attaques par analyse de fréquence simple.

Différences

Chiffre à Quatre Carrés

  • Matrices de Lettres : Utilise quatre matrices de lettres 5x5.
  • Unité de Chiffrement : Traite deux lettres à la fois.
  • Étapes :
    • Quatre matrices de lettres : Deux matrices sont générées à partir de mots-clés, et les deux autres sont généralement en ordre alphabétique standard.
    • Divisez le texte en clair en paires de lettres.
    • Trouvez la position de chaque paire de lettres dans deux matrices différentes, puis trouvez les lettres chiffrées correspondantes dans les deux autres matrices.
  • Complexité : Augmente la complexité et la sécurité en utilisant plus de matrices par rapport au Chiffre Playfair.

Double Chiffre Playfair

  • Matrices de Lettres : Utilise deux matrices de lettres 5x5.
  • Unité de Chiffrement : Traite deux lettres à la fois.
  • Étapes :
    • Deux matrices de lettres sont générées à partir de mots-clés différents.
    • Divisez le texte en clair en paires de lettres.
    • Utilisez la première matrice pour trouver la position de la première lettre, et la seconde matrice pour trouver la position de la seconde lettre, puis substituez les lettres selon les règles.
  • Complexité : Ajoute de la complexité et de la sécurité en introduisant une seconde matrice par rapport au Chiffre Playfair simple.

Chiffre Playfair

  • Matrices de Lettres : Utilise une matrice de lettres 5x5.
  • Unité de Chiffrement : Traite deux lettres à la fois.
  • Étapes :
    • Une matrice de lettres est générée à partir d'un mot-clé.
    • Divisez le texte en clair en paires de lettres.
    • Remplacez les lettres en fonction de leur relation positionnelle (même ligne, même colonne ou différentes lignes et colonnes).
  • Complexité : Augmente la complexité par rapport aux chiffres de substitution de lettres simples, mais est moins complexe que les Chiffres Double Playfair et à Quatre Carrés.

Tableau de Comparaison

Caractéristique Chiffre à Quatre Carrés Double Chiffre Playfair Chiffre Playfair
Nombre de Matrices de Lettres 4 2 1
Unité de Chiffrement Deux lettres à la fois Deux lettres à la fois Deux lettres à la fois
Mots-clés Deux mots-clés Deux mots-clés Un mot-clé
Complexité Élevée Moyenne Basse
Règles de Chiffrement Utilise quatre matrices pour trouver les substitutions Utilise deux matrices pour trouver les substitutions Utilise une matrice pour trouver les substitutions

Transposition et Substitution

Le Traité Élémentaire de Cryptographie de Félix Delastelle explore en profondeur les méthodes de transposition et de substitution en cryptographie. La transposition implique de modifier les positions des lettres dans le texte en clair pour chiffrer le message. Par exemple, inverser l'ordre des lettres, comme dans le cas de "Paul est parti pour Lyon" devenant "NOYLRUOPITRAPTSELUAP". Une autre méthode est le regroupement, où le texte en clair est disposé dans une forme prédéterminée, puis les lettres sont extraites dans un ordre convenu pour former le texte chiffré.

Original en français:
"L'inversion consiste à transposer ou déplacer les lettres du texte clair suivant une méthode convenue entre les correspondants, de telle sorte qu'il soit facile aux initiés de rétablir l'ordre primitif."

Original en français:
Le renversement s'effectue en écrivant les lettres du clair en sens inverse de l'ordre normal, la dernière lettre devenant la première, l'avant-dernière la seconde, l'antépénultième la troisième, etc. Exemple: "Paul est parti pour Lyon" s'écrira "NOYLRUOPITRAPTSELUAP". Le renversement peut s'appliquer soit au texte entier, soit successivement à chaque mot ou à des groupes d'un nombre de lettres convenu. La phrase ci-dessus, divisée en deux groupes de dix lettres, donnerait: "RAPTSELUAPNOYLRUOPIT". Et en quatre groupes de cinq lettres: "ELUAPRAPTSUOPITNOYLR".

Original en français:
"De nombreux systèmes ont été imaginés dans ce but: 1 Renversement des lettres; 2 Groupements divers; 3 Carrés et grilles; 4 Méthodes diverses."

Original en français:
"Il est évident que le renversement ne donne aucune sécurité au point de vue du secret, les dépêches écrites dans ce système ne résistant pas à un examen un peu sérieux."