Exemples de chiffrement des collines et tutoriels

Apprenez le chiffrement de Hill avec des exemples étape par étape pour les utilisateurs débutants, intermédiaires et avancés.

Chiffrement 2×2 de base

2×2

C'est l'exemple le plus simple du chiffrement de Hill avec une matrice 2×2. Chaque paire de lettres est chiffrée comme un vecteur.

Texte clair
HELP
Texte chiffré
HIAT
Matrice clé (K)
33
25

Décryptage de base 2×2

2×2

Le déchiffrement nécessite le calcul de la matrice inverse. Le même processus s'applique à tous les blocs.

Texte clair
HELP
Texte chiffré
HIAT
Matrice clé (K)
33
25

Prêt à s'entraîner ?

Essayez de chiffrer et de déchiffrer vos propres messages avec l'outil de chiffrement Hill.

Exemples de chiffrement de colline - Apprendre étape par étape

Maîtriser le chiffrement de Hill à l'aide d'exemples complets étape par étape qui passent du simple chiffrement de matrice 2x2 aux implémentations avancées 3x3 et aux techniques de cryptoanalyse. Ces exemples fournissent des calculs complets, démontrant chaque étape du processus de chiffrement et de déchiffrement. Suivez séquentiellement pour construire la compréhension, ou sautez directement à des sujets spécifiques qui vous intéressent. Tous les exemples peuvent être vérifiés à l'aide de nos outils Hill encoder et decoder.

Exemple 1: Chiffrement de base 2x2 Hill

Cet exemple de base démontre le chiffrement de "HELP" à l'aide d'une simple matrice de touches 2x2, parfaite pour comprendre le noyau Les principes du chiffrement des collines.

Configuration du problème

Plaintext: HELP Matrix clé:

K = [[3, 3],
     [2, 5]]

*Étape 1: Vérifier que la matrice des clés est valide *

Calculer le déterminant: det(K) = (3 × 5) - (3 × 2) = 15 - 6 = 9

Vérifiez la coprimalité avec 26: 9 partage aucun facteur commun avec 26 (9 = 32, 26 = 2 × 13). Depuis GCD(9, 26) = 1, c'est une matrice de clés valide.

Étape 2: Convertir le texte en nombres

En utilisant la cartographie standard A=0, B=1,..., Z=25:

  • H = 7
  • E = 4
  • L = 11
  • P = 15

**Étape 3: Vecteurs en texte en clair

Séparer le texte en blocs de 2 lettres (apparier la taille de la matrice 2x2):

  • Case 1: HE = [7, 4]
  • Case 2: LP = [11, 15]

*Étape 4: Chiffrer le premier bloc (HE) *

Multipliez la matrice clé par le vecteur de texte simple:

[[3, 3],     [7]     [3×7 + 3×4]     [21 + 12]     [33]
 [2, 5]]  ×  [4]  =  [2×7 + 5×4]  =  [14 + 20]  =  [34]

Étape 5: Appliquer le module 26

[33, 34] mod 26 = [7, 8]

Étape 6: Convertir en lettres

[7, 8] = [H, I]

*Étape 7: chiffrer le deuxième bloc (LP) *

Multipliez la matrice clé par le deuxième vecteur de texte simple:

[[3, 3],     [11]     [3×11 + 3×15]     [33 + 45]     [78]
 [2, 5]]  ×  [15]  =  [2×11 + 5×15]  =  [22 + 75]  =  [97]

Appliquer le module 26:

[78, 97] mod 26 = [0, 19]

Convertir en lettres: [0, 19] = [A, T]

Résultat final: HELP → HIAT

Cet exemple de chiffrement de colline 2x2 montre comment la multiplication de matrices transforme systématiquement le texte en clair. Essayez cet exemple vous-même dans notre Hill encoder pour voir les calculs en temps réel.

Exemple 2: Décryptage de base du chiffrement 2x2 Hill

Déchiffrer le chiffrement "HIAT" à "HELP" en utilisant la matrice inverse, démontrant le processus de déchiffrement complet étape par étape.

Configuration du problème

Ciphertext: HIAT Matrice originale des clés:

K = [[3, 3],
     [2, 5]]

Étape 1: Calculer la matrice inverse

Premièrement, trouver le déterminant (déjà calculé): det(K) = 9

*Étape 2: Trouver l'inverse modulaire du déterminant *

Nous devons trouver un nombre x tel que (9 × x) 1 (mod 26).

Valeurs d'essai:

  • 9 × 1 = 9 (mod. 26) = 9
  • 9 × 2 = 18 (mod. 26) = 18
  • 9 × 3 = 27 (mod. 26) = 1 ✓

Par conséquent, det−1 = 3

Étape 3: Calculer la matrice adjugée

Pour une matrice 2x2 [[a, b], [c, d]], l'adjugué est [[d, -b], [-c, a]]:

adj(K) = [[5, -3],
          [-2, 3]]

Appliquer le mod 26 aux valeurs négatives (-3 mod 26 = 23, -2 mod 26 = 24):

adj(K) = [[5, 23],
          [24, 3]]

Étape 4: Calculer la matrice inverse

Multipliez l'inverse déterminant par la matrice adjuguée:

K⁻¹ = 3 × [[5, 23],     [[15, 69],     [[15, 17],
            [24, 3]]  =   [72, 9]]  ≡   [20, 9]] (mod 26)

Vérification: K × K−1 devrait égaler la matrice d'identité [[1,0],[0,1]] mod 26.

Étape 5: Convertir le chiffre en nombres

  • H = 7
  • I = 8
  • A = 0
  • T = 19

Blocs de formulaires: [7, 8] et [0, 19]

*Étape 6: Décrypter le premier bloc (HI) *

[[15, 17],     [7]     [15×7 + 17×8]     [105 + 136]     [241]
 [20, 9]]   ×  [8]  =  [20×7 + 9×8]   =  [140 + 72]   =  [212]

Appliquer le module 26:

[241, 212] mod 26 = [7, 4] = [H, E]

*Étape 7: Décrypter le deuxième bloc (AT) *

[[15, 17],     [0]      [15×0 + 17×19]     [0 + 323]     [323]
 [20, 9]]   ×  [19]  =  [20×0 + 9×19]   =  [0 + 171]  =  [171]

Appliquer le module 26:

[323, 171] mod 26 = [11, 15] = [L, P]

Résultat final: HIAT → HELP

Cet exemple de déchiffrement du chiffrement de colline montre comment la matrice inverse inverse inverse parfaitement le chiffrement. Pratiquez ceci dans notre Décodeur de chiffrement Hill avec visualisation étape par étape.

Exemple 3: Chiffrement de matrice 3x3

Cet exemple avancé démontre le cryptage avec une matrice 3x3, qui fournit une sécurité plus forte grâce à une meilleure diffusion et un espace clé plus grand.

Configuration du problème

Plaintext: ACT Matrix clé:

K = [[6, 24, 1],
     [13, 16, 10],
     [20, 17, 15]]

Étape 1: Vérifier le déterminant

Pour une matrice 3x3, calculez en utilisant l'expansion du cofacteur:

det(K) = 6(16×15 - 10×17) - 24(13×15 - 10×20) + 1(13×17 - 16×20)
       = 6(240 - 170) - 24(195 - 200) + 1(221 - 320)
       = 6(70) - 24(-5) + 1(-99)
       = 420 + 120 - 99
       = 441

Appliquer le mod 26: 441 mod 26 = 25

Vérifier la coprimalité: GCD(25, 26) = 1 ✓ Clé valide

Étape 2: Convertir le texte en nombres

A = 0, C = 2, T = 19

Vecteur de forme: [0, 2, 19]

Étape 3: Effectuer la multiplication des matrices

[[6, 24, 1],      [0]      [6×0 + 24×2 + 1×19]      [0 + 48 + 19]      [67]
 [13, 16, 10]  ×  [2]   =  [13×0 + 16×2 + 10×19]  =  [0 + 32 + 190]  =  [222]
 [20, 17, 15]]    [19]     [20×0 + 17×2 + 15×19]    [0 + 34 + 285]     [319]

Étape 4: Appliquer le modulo 26

[67, 222, 319] mod 26 = [15, 14, 7]

Étape 5: Convertir en lettres

[15, 14, 7] = [P, O, H]

Résultat final: ACT → POH

Cet exemple de chiffrement 3x3 montre une complexité et une sécurité accrues. La matrice 3x3 traite trois lettres simultanément, fournissant une meilleure diffusion que les matrices 2x2. Utilisez notre calculatrice de matrice pour vérifier ces calculs complexes.

Exemple 4: Conversion de mots clés en matrice

Apprenez comment convertir un mot-clé mémorable en un mot-clé valide La matrice clé de chiffrement Hill, rendant la gestion clé plus pratique.

Problème: Convertir le mot clé "HILL" en une matrice 2x2

*Étape 1: Écrire le mot clé *

Mot-clé: H I L L

Étape 2: Convertir les lettres en nombres

  • H = 7
  • I = 8
  • L = 11
  • L = 11

Étape 3: Remplir la matrice par lignes

K = [[7, 8],
     [11, 11]]

Étape 4: Valider la matrice des clés

Calculer le déterminant:

det(K) = (7 × 11) - (8 × 11) = 77 - 88 = -11

Appliquer le mod 26: -11 mod 26 = 15

Vérifier la coprimalité: GCD(15, 26) = 1 ✓ Clé valide

Le mot clé "HILL" produit une matrice de chiffrement valide.

Manipulation de différentes longueurs de mots clés

*Mot-clé plus court que nécessaire (p. ex. "HI" pour 2x2) *

Si le mot-clé a moins de n2 lettres, pad avec des lettres supplémentaires de l'alphabet:

  • Mot-clé: HI
  • Ajouter: AB
  • Matrice: [[7, 8], [0, 1]]

*Mot-clé plus long que nécessaire (p. ex. "HILLCIPHER" pour 2x2) *

Ne prenez que les premières lettres n2:

  • Mot-clé: HILLCIPHER
  • Utilisation: HILL
  • Matrice: [[7, 8], [11, 11]]

Pour les matrices 3x3

Il faut 9 lettres. Exemple de mot clé: "CRYPTOGRA":

K = [[2, 17, 24],
     [15, 19, 14],
     [6, 17, 0]]

N'oubliez pas de toujours valider la matrice résultante avant utilisation. Notre calculateur de chiffrement Hill gère automatiquement la conversion de mot-clé à la matrice avec validation.

Exemple 5: Plaintext connu Attaque

Cet exemple démontre la vulnérabilité critique du chiffrement Hill, montrant comment un attaquant peut récupérer la clé secrète avec des paires minimales connues de caractères simples.

Scénario d'attaque

Cinéma intercepté: "APADJ" Texte clair connu: Les 4 premiers caractères du texte en clair sont "HELL"

Configuration de l'attaque

Informations connues:

  • Blocs de texte simple: HE, LL → [7,4], [11,11]
  • Chiffre correspondant: AP, AD → [0,15], [0,3]

Processus d'attaque

Étape 1: Construire la matrice de texte en clair P

P = [[7, 11],
     [4, 11]]

Chaque colonne représente un bloc de texte simple.

Étape 2: Construire la matrice de chiffrement C

C = [[0, 0],
     [15, 3]]

Chaque colonne représente le bloc de chiffrement correspondant.

*Étape 3: Configurer l'équation *

Nous savons que C = K × P (mod 26), donc K = C × P−1 (mod 26)

Étape 4: Calculer P-1

Trouver un déterminant: det(P) = (7 × 11) - (11 × 4) = 77 - 44 = 33 ↓ 7 (mod 26)

Trouver l'inverse modulaire de 7 mod 26: 7−1 = 15 (depuis 7 × 15 = 105.

Calculer l'adjudicataire: adj(P) = [[11, -11], [-4, 7]]

Calcul inverse:

P⁻¹ = 15 × [[11, 15],     [[165, 225],     [[9, 17],
             [22, 7]]  =   [330, 105]]  ≡   [18, 1]] (mod 26)

Étape 5: Récupérer la matrice clé

K = C × P⁻¹ (mod 26)

K = [[0, 0],     [[9, 17],     [[0, 0],
     [15, 3]] ×   [18, 1]]  =   [189, 258]]

Appliquer le mod 26:

K = [[0, 0],
     [7, 24]]

*Étape 6: Chiffrer le reste du chiffre *

Avec la clé récupérée, calculez K−1 et déchiffrez le caractère final "J" pour déterminer le texte en clair complet.

Importance de l'éducation

Cet exemple connu d'attaque en texte plat démontre pourquoi le chiffre de Hill n'est pas adapté aux communications sécurisées modernes. Seuls 4 caractères (2 blocs pour 2x2) de paires connues de texte simple-ciphertext sont suffisants pour briser complètement le chiffre. L'attaque fonctionne parce que le chiffrement de Hill est entièrement linéaire, créant un système solvable d'équations linéaires.

Pour les matrices 3x3, vous auriez besoin de 9 caractères connus (3 blocs) pour effectuer la même attaque. Essayez cette méthode d'attaque dans le mode d'attaque de notre decoder connu-plaintext pour la voir en action.

Mathématique Plongée profonde

Méthodes de calcul des déterminants

2x2 Formule de détermination

Pour la matrice [[a,b],[c,d]]:

det(K) = ad - bc

Exemple avec [[3,3],[2,5]:

det = (3 × 5) - (3 × 2) = 15 - 6 = 9

Appliquer mod 26: 9 mod 26 = 9

3x3 Déterminant utilisant l'expansion du cofacteur

Pour la matrice [[a,b,c],[d,e,f],[g,h,i]]:

det(K) = a(ei - fh) - b(di - fg) + c(dh - eg)

Exemple avec [[6,24,1],[13,16,10],[20,17,15]]:

det = 6(16×15 - 10×17) - 24(13×15 - 10×20) + 1(13×17 - 16×20)
    = 6(240-170) - 24(195-200) + 1(221-320)
    = 6(70) - 24(-5) + 1(-99)
    = 420 + 120 - 99
    = 441 ≡ 25 (mod 26)

Calcul inverse modulaire

Définition: L'inverse modulaire a−1 mod n est un nombre x tel que (a × x) 1 (mod n)

** Méthode d'algorithme euclidienne étendue**

Pour trouver 9−1 mod 26:

  1. Appliquer l'algorithme:

    • 26 = 2 × 9 + 8
    • 9 = 1 × 8 + 1
    • 8 = 8 × 1 + 0
  2. Substitut arrière pour exprimer 1 comme une combinaison linéaire:

    • 1 = 9 - 1 × 8
    • 1 = 9 - 1 × (26 - 2 × 9)
    • 1 = 3 × 9 - 1 × 26
  3. Par conséquent: 9−1 ↓ 3 (mod 26)

Modulaire commun Inversations mod 26

Tableau de référence rapide:

  • 1⁻¹ = 1
  • 3⁻¹ = 9
  • 5⁻¹ = 21
  • 7⁻¹ = 15
  • 9⁻¹ = 3
  • 11⁻¹ = 19
  • 15⁻¹ = 7
  • 17⁻¹ = 23
  • 19⁻¹ = 11
  • 21⁻¹ = 5
  • 23⁻¹ = 17
  • 25⁻¹ = 25

Nombres sans module inverse mod 26: 2, 4, 6, 8, 10, 12, 13, 14, 16, 18, 20, 22, 24 (tous partagent des facteurs communs avec 26)

Calcul de la matrice adjugée

2x2 Formule adjudicataire

Pour la matrice [[a,b],[c,d]]:

adj(K) = [[d, -b],
          [-c, a]]

Exemple avec [[3,3],[2,5]:

adj(K) = [[5, -3],
          [-2, 3]]

Appliquer le mod 26 aux valeurs négatives:

adj(K) = [[5, 23],
          [24, 3]]

3x3 Formule adjudicataire

L'adjugué est la transposition de la matrice du cofacteur. Chaque cofacteur est calculé par:

  1. Supprimer la ligne et la colonne de l'élément
  2. Calculer le déterminant de la matrice 2x2 restante
  3. Appliquez le motif de signe: [[+,-,+],[-,+,-],[+,-,+]]

Ce processus est complexe pour les matrices 3x3. Utilisez notre calculatrice matrix pour calculer automatiquement les matrices adjuguées 3x3.

Problèmes pratiques avec les solutions

Problème 1: Chiffrer avec la matrice 2x2

Don:

  • Clé: [[5, 8], [17, 3]]
  • Texte clair: "COLD"

Recherche: Chiffre

Cliquez pour révéler la solution

Solution:

  1. Vérification de la clé: det = (5×3) - (8×17) = 15 - 136 = -121 φ 9 (mod. 26)

  2. Convertir: C=2, O=14, L=11, D=3

  3. Blocs: [2,14], [11,3]

  4. Chiffrer le bloc 1:

    • [[5,8],[17,3]] × [2,14] = [122, 76] [18, 24] = [S, Y]
  5. Chiffrer le bloc 2:

    • [[5,8],[17,3]] × [11,3] = [79, 196]

Réponse: COLD → SYBO

Problème 2: Trouver une matrice inverse

Given: matrice clé [[3,2],[5,7]

Retrouver: matrice inverse mod 26

Cliquez pour révéler la solution

Solution:

  1. det = (3×7) – (2×5) = 21-10 = 11

  2. det−1: Trouver x où 11 x 1 (mod 26)

    • (mod. 26)
    • 1 = 19
  3. (mod. 26)

  4. K−1 = 19 × [[7,24],[21,3]] = [[133,456],[399,57]]

Réponse: K−1 = [[3,14],[9,5]]

Problème 3: Décrypter avec la matrice 3x3

Don:

  • Clé: [[2,4,5],[9,2,1],[3,17,7]]
  • Chiffre: "XYZ"

Recherche: texte en clair

Cliquez pour révéler la solution

Solution: Ce problème nécessite le calcul de la matrice inverse 3x3, qui implique des calculs complexes de cofacteur. Le déterminant est 111 = 7 (mod 26) et 7 à 1 = 15 (mod 26). En utilisant le calcul complet de la matrice adjuguée et en appliquant l'inverse aux vecteurs [23,24,25], vous pouvez déchiffrer le chiffrement. Utilisez notre Décodeur de chiffrement Hill pour vérifier automatiquement ce décryptage 3x3.

Problème 4: Déterminer la validité de la matrice

[[2,3],[4,5]]

Trouver: Est-ce une clé de chiffrement Hill valide?

Cliquez pour révéler la solution

Solution:

  1. Calculer le déterminant: det = (2×5) - (3×4) = 10 - 12 = -2 -

  2. Vérifier la coprimalité: GCD(24, 26) = 2

Réponse: Invalide. Le déterminant 24 partage un facteur commun (2) avec 26, ce qui rend la matrice non réversible mod 26. Choisissez une matrice différente.

Problème 5: Défi avancé

Don: Vous avez intercepté le chiffre "KQOWEFVJP" et savez qu'il était chiffré avec un 3x3 Chiffre de la colline. Vous avez découvert que les trois premières lettres de texte en clair sont "THE".

Trouver: Pouvez-vous récupérer la clé et déchiffrer le message complet?

Cliquez pour révéler la solution

Aperçu: Vous avez besoin de 9 lettres (3 blocs) pour une attaque complète 3x3. Avec un seul bloc connu, vous ne pouvez pas déterminer uniquement la matrice clé 9 éléments. Vous auriez besoin de deux blocs plus connus pour effectuer l'attaque avec succès. Ceci démontre que 3x3 Les chiffres de Hill nécessitent plus de texte simple connu que 2x2 pour la cryptanalyse.

Foire aux questions

Où puis-je trouver des exemples de chiffrement Hill avec des solutions?

Cette page fournit une information complète Exemples de chiffrement Hill avec des solutions complètes étape par étape, y compris le chiffrement et le déchiffrement 2x2 et 3x3, la conversion de mots-clés en matrice, les démonstrations d'attaques en texte plat connues et des calculs mathématiques détaillés. Tous les exemples comprennent des étapes de vérification et peuvent être testés à l'aide de nos [outils de chiffrement en ligne Hill] (https://caesarcipher.org/ciphers/hill). Pratiquer les problèmes avec les solutions aide à renforcer l'apprentissage par l'application pratique.

Comment résoudre Le chiffrement de Hill pas à pas ?

Pour résoudre Chiffrement de Hill étape par étape: Convertissez chaque lettre en valeur numérique (A=0 à Z=25), formez la matrice de la clé et assurez-vous qu'elle est valide en vérifiant la coprimalité déterminante, divisez le texte en clair en blocs correspondant aux dimensions de la matrice, formez des vecteurs de colonne de chaque bloc, effectuez la multiplication de matrice entre les vecteurs de la clé et du texte en clair, appliquez le module 26 à tous les résultats et convertissez les nombres résultants en lettres. Voir l'exemple 1 ci-dessus pour un passage complet avec chaque calcul montré en détail.

Exemple de chiffrement de colline 2x2 avec solution?

L'exemple 1 montre le chiffrement de "HELP" vers "HIAT" en utilisant la matrice de touches [[3,3],[2,5]], montrant toutes les étapes de multiplication de matrice, les opérations modulo et les conversions. L'exemple 2 montre le processus de déchiffrement inverse de "HIAT" de retour à "HELP", y compris le calcul de matrice inverse à l'aide de méthodes de matrice déterminantes, inverses modulaires et adjuguées. Les deux exemples fournissent chaque étape de calcul en détail, les rendant parfaits pour apprendre les opérations de chiffrement de colline 2x2.

Un exemple de chiffrement de colline 3x3 ?

L'exemple 3 montre le chiffrement de "ACT" à "POH" à l'aide d'une matrice clé 3x3, montrant la méthode d'expansion du cofacteur plus complexe pour le calcul déterminant, la multiplication de matrice 3x3 avec des vecteurs à trois éléments, et les avantages de sécurité accrus des matrices plus grandes. L'exemple du chiffrement des collines 3x3 illustre comment le traitement simultané de trois lettres offre une meilleure diffusion et un espace clé plus grand que les matrices 2x2, mais avec une complexité de calcul accrue.

Exemple de chiffrement de colline avec attaque connue en texte en clair ?

L'exemple 5 montre une attaque complète connue-plaintexte où un attaquant récupère la matrice de clé secrète en utilisant seulement 4 caractères connus (deux blocs) de paires de texte-ciphertextes. L'exemple montre comment construire des matrices de texte en clair et de texte codé, calculer la matrice inverse de texte en clair et multiplier pour récupérer la clé originale. Cet exemple révèle la vulnérabilité fondamentale du chiffre Hill à ce type d'attaque, expliquant pourquoi il est inapproprié pour les communications sécurisées modernes malgré son élégance mathématique.

Comment convertir un mot clé en matrice de chiffrement Hill ?

L'exemple 4 montre le processus complet de conversion du mot clé "HILL" en une matrice 2x2: écrivez les lettres-clés, convertissez chaque lettre à sa valeur numérique (H=7, I=8, L=11, L=11), remplissez la matrice par des lignes pour créer [[7,8],[11,11]], et validez en vérifiant la coprimalité déterminante. L'exemple couvre également le traitement des mots clés plus court ou plus long que nécessaire, et démontre la conversion de mots clés 3x3. Validez toujours la matrice résultante avant l'utilisation pour s'assurer qu'elle est invertible mod 26.

Vérifiez tous ces exemples en utilisant notre [calculateur de chiffrement Hill] (https://caesarcipher.org/ciphers/hill) et pratiquez avec différentes matrices pour construire la maîtrise.