Ts specialite ds 5 bac blanc le chiffrement de hill
Transcription
Ts specialite ds 5 bac blanc le chiffrement de hill
Le Chiffrement de S. Hill (Lester S. Hill (1891-1961)) Le chiffrement de Hill est un chiffrement polygraphique, c’est-à-dire que l’on ne (dé)chiffre pas les lettres les une après les autres, mais par paquets, ici de deux lettres. Exemple pour coder le mot MATHEMATIQUE, on scinde en bloc de deux lettres : MA TH EM AT IQ UE On remplace les lettres par leur rang dans l’alphabet en partant de 0 : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Les lettres 𝑥𝑘 𝑒𝑡 𝑥𝑘+1 sont codées en 𝑦𝑘 , 𝑦𝑘+1 tels que 𝑦 = 𝑎 × 𝑥𝑘 + 𝑏 × 𝑥𝑘+1 (𝑆) { 𝑘 . Ou 𝑎, 𝑏, 𝑐 et 𝑑 sont des entiers naturels donnés. 𝑦𝑘+1 = 𝑐 × 𝑥𝑘 + 𝑑 × 𝑥𝑘+1 Le rang des lettres codées est 𝑟𝑘 ≡ 𝑦𝑘 [26] et 𝑟𝑘+1 ≡ 𝑦𝑘+1 [26] 𝑦 ≡ 𝑟𝑘 [26] On pose (𝑦𝑦𝑘 ) ≡ (𝑟𝑟𝑘 ) [26] ⟺ { 𝑘 𝑘+1 𝑘+1 𝑦𝑘+1 ≡ 𝑟𝑘+1 [26] 1. chiffrement de Hill a. Montrer que le système (𝑆) est équivalent à une relation matricielle 𝑌 = 𝐴𝑋 dont on précisera les matrices 𝑋 , 𝐴 et 𝑌. b. Avec la clef de cryptage 𝑎 = 9 , 𝑏 = 4 , 𝑐 = 5 𝑒𝑡 𝑑 = 7. Vérifier que le mot « NOEL » se code en « RHCT » et coder le mot « MATH ». 2. a. Déterminer la matrice de cryptage 𝐴 correspondant à la clef : 𝑎 = 9 , 𝑏 = 4 , 𝑐 = 5 𝑒𝑡 𝑑 = 7 . b. la matrice 𝐴 est elle inversible ? Justifier votre réponse. c. déterminer la matrice inverse 𝐴−1 de 𝐴, d. la matrice 𝐴−1 permet-elle de décoder un message, c’est-à-dire determiner (𝑥𝑥𝑘 ) quand 𝑘+1 on connait (𝑦𝑦𝑘 ) 𝑘+1 ? Justifier votre réponse 3. Décryptage du chiffrement de Hill On se propose déterminer la matrice 𝐵 telle que 𝑥𝑘 𝑦𝑘 ( ) ≡ 𝐵( ) [26] 𝑥𝑘+1 𝑦𝑘+1 𝐵 est la matrice de décryptage a. Montrer l’existence d’un couple d’entiers relatifs (𝑢, 𝑣) tel que : (𝐸1 ) 43𝑢 − 26𝑣 = 1 b. Déterminer, à l’aide de l’algorithme d’Euclide, un couple (𝑢0 , 𝑣0 ) vérifiant l’égalité de Bezout(𝐸1 ). c. Déterminer tous les couples d’entiers relatifs (𝑢, 𝑣) vérifiant (𝐸1 ). d. Déterminer, le plus petit inverse positif de 43 modulo 26, c’est-à-dire l’entier 𝑎 tel que 43𝑎 ≡ 1 [26]. 7 −4 e. Déterminer la matrice 23 ( ) 𝑚𝑜𝑑𝑢𝑙𝑜 26 . En déduire la matrice B de −5 9 décryptage. f. Décoder le message « VZ VK UB KH JN ». 4. Avec la clef de cryptage𝑎 = 3 , 𝑏 = 2 , 𝑐 = 5 𝑒𝑡 𝑑 = 7, a. La matrice 𝐴 de cryptage est-elle inversible (dans l’ensemble des matrices réelles). b. A est-elle inversible modulo 26 ? c. Quelle conclusion peut-on faire sur l’utilisation de cette clef ? 5. BONUS ! Attaque du chiffrement de Hill. Les deux bigrammes les plus fréquents dans la langue française sont pour 100 000 bigrammes : Bigrammes Nombres ES DE 3318 2409 Comme pour l’attaque du chiffrement affine pensez- vous possible d’utiliser cette statistique pour attaquer un texte crypté à l’aide du chiffrement de Hill par bloc de deux caractères. Justifier votre réponse Correction 1. chiffrement de Hill a. Montrer que le système (𝑆) est équivalent à une relation matricielle 𝑌 = 𝐴𝑋 dont on précisera les matrices 𝑋 , 𝐴 et 𝑌. 𝑦𝑘 𝑦 = 𝑎 × 𝑥𝑘 + 𝑏 × 𝑥𝑘+1 𝑎 ⟺ ( )=( { 𝑘 𝑦𝑘+1 = 𝑐 × 𝑥𝑘 + 𝑑 × 𝑥𝑘+1 𝑐 𝑦𝑘+1 𝑎 Avec 𝑌 = (𝑦𝑦𝑘 ) , 𝐴 = ( 𝑘+1 𝑐 𝑥𝑘 𝑏 ) (𝑥 ) ⟺ 𝑌 = 𝐴𝑋 𝑑 𝑘+1 𝑥𝑘 𝑏 ) 𝑒𝑡 𝑋 = (𝑥 ) 𝑑 𝑘+1 b. Avec la clef de cryptage 𝑎 = 9 , 𝑏 = 4 , 𝑐 = 5 𝑒𝑡 𝑑 = 7. Vérifier que le mot « NOEL » se code en « RHCT » et coder le mot « MATH ». 𝑦 = 9 × 13 + 4 × 14 = 173 𝑒𝑡 173 ≡ 17 [26] . Donc NO se code { 1 𝑦2 = 5 × 13 + 7 × 14 = 163 𝑒𝑡 163 ≡ 7 [26] en RH 𝑥𝑘 𝑦𝑘 N 13 17 R O 14 7 H E 4 2 C L 11 19 T 𝑦 = 9 × 4 + 4 × 11 = 80 𝑒𝑡 18 ≡ 2 [26] . , Donc EL se code en CT { 3 𝑦4 = 5 × 4 + 7 × 11 = 97 𝑒𝑡 97 ≡ 19 [26] De même M 12 𝑥𝑘 4 𝑦𝑘 E 𝑀𝐴𝑇𝐻 se code en EIRO A 0 8 I T 19 17 R H 7 14 O A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2. a. Déterminer la matrice de cryptage 𝐴 correspondant à la clef : 𝑎 = 9 , 𝑏 = 4 , 𝑐 = 5 𝑒𝑡 𝑑 = 7 . 9 4 D’après 1a La matrice de cryptage est 𝐴 = ( ) 5 7 b. la matrice 𝐴 est elle inversible ? Justifier votre réponse. Le determinant 𝑑 de la matrice 𝐴 est = 9 × 7 − 5 × 4 = 63 − 20 = 53 , or 𝑑 est non nul donc 𝐴 est inversible C. déterminer la matrice inverse 𝐴−1 de 𝐴, 7 −1 𝐴 = 1 7 ( 53 4 5 − 53 −5 ) = (53 4 9 ) 9 53 53 d. la matrice 𝐴−1 permet-elle de décoder un message, c’est-à-dire determiner (𝑥𝑥𝑘 ) 𝑘+1 quand on connait (𝑦𝑦𝑘 ) 𝑘+1 ? Justifier votre réponse 𝐴−1 est une matrice à coefficients réels non entiers, le produit 𝐴−1 (𝑦𝑦𝑘 ) n’est pas un 𝑘+1 vecteur a composantes entières, il ne permet pas de déterminer (𝑥𝑥𝑘 ) 𝑘+1 . 3. Décryptage du chiffrement de Hill On se propose déterminer la matrice 𝐵 telle que 𝑥𝑘 𝑦𝑘 ( ) ≡ 𝐵( ) [26] 𝑥𝑘+1 𝑦𝑘+1 𝐵 est la matrice de décryptage e. Montrer l’existence d’un couple d’entiers relatifs (𝑢, 𝑣) tel que : (𝐸1 ) 43𝑢 − 26𝑣 = 1 Les entiers relatifs 43 et 26 sont premiers entre eux , en effet 43 est premier car non divisibles par 2, 3, 5 , et 26 = 2 × 13. Donc d’aprés le théorème de Bezout il existe deux entiers relatifs 𝑢 et 𝑣 tels que, f. 43𝑢 + 23𝑣 = 1 en remplaçant 𝑣 par – 𝑣 on obtient (𝐸1 ) 43𝑢 − 26𝑣 = 1 Déterminer, à l’aide de l’algorithme d’Euclide, un couple (𝑢0 , 𝑣0 ) vérifiant l’égalité de Bezout(𝐸1 ). Algorithme d’Euclide : En posant 𝑎 = 43 et 𝑏 = 26 43 = 26 × 1 + 17 17 = 𝑎 − 𝑏 26 = 17 × 1 + 9 9 = 𝑏 − (𝑎 − 𝑏) = 2𝑏 − 𝑎 17 = 9 × 1 + 8 8 = 𝑎 − 𝑏 − (2𝑏 − 𝑎) = 2𝑎 − 3𝑏 9=8×1+1 1 = 2𝑏 − 𝑎 − (2𝑎 − 3𝑏) = 5𝑏 − 3𝑎 Donc 1 = −3 × 43 + 5 × 26 = (−3) × 43 − (−5) × 26 on trouve dinc (𝑢0 , 𝑣0 ) = (−3, −5) g. Déterminer tous les couples d’entiers relatifs (𝑢, 𝑣) vérifiant (𝐸1 ). Soit (𝑢, 𝑣) une solution de (𝐸1 ) de 43𝑢 − 26𝑣 = 1 et de 43𝑢0 − 26𝑣0 = 1, on obtient par oustraction membre à membre 43(𝑢 − 𝑢0 ) − 26(𝑣 − 𝑣0 ) = 0 ⟺ 43(𝑢 − 𝑢0 ) = 26(𝑣 − 𝑣0 ) (∗) 43(𝑢 − 𝑢0 ) = 26(𝑣 − 𝑣0 ) Or si { on a , d’après le théorème de Gauss , 43 43 𝑒𝑡 26 𝑠𝑜𝑛𝑡 𝑝𝑟𝑒𝑚𝑖𝑒𝑟𝑠 𝑒𝑛𝑡𝑟𝑒 𝑒𝑢𝑥 divise 𝑣 − 𝑣0 . Donc , il existe un entier relatif 𝑘 tel que 𝑣 − 𝑣0 = 43𝑘 . De plus en remplaçant dans (∗) on a 43(𝑢 − 𝑢0 ) = 26 × 43𝑘 ⟺ 𝑢 − 𝑢0 = 26𝑘 Donc les solutions de (𝐸1 ) sont dans { (𝑢0 + 26𝑘, 𝑣0 + 43𝑘), 𝑘 ∈ ℤ } Réciproquement les entiers (𝑢0 + 26𝑘, 𝑣0 + 43𝑘) , 𝑘 ∈ ℤ sont tous solution de (𝐸1 ) Donc les solutions de (𝐸1 ) sont 𝑆 = { (𝑢0 + 26𝑘, 𝑣0 + 43𝑘), 𝑘 ∈ ℤ } h. Déterminer, le plus petit inverse positif de 43 modulo 26, c’est-à-dire l’entier 𝑎 tel que 43𝑎 ≡ 1 [26]. Pour 𝑘 = 0 on trouve (𝑢, 𝑣) = (−3, −5) i. j. Pour 𝑘 = 1 on trouve (𝑢, 𝑣) = (23 , 38) La suite (𝑢0 + 26𝑘)𝑘 etant croissante (suite arithmétique de raison 26) , Le plus petit entier positif 𝑢 est 23. Or comme 43𝑢 − 26𝑣 = 1 ⇒ 43𝑢 ≡ 1 [26] 23 est bien le plus petit enverse positif de 43 modulo 26. 7 −4 Déterminer la matrice 23 ( ) 𝑚𝑜𝑑𝑢𝑙𝑜 26 . En déduire la matrice B de −5 9 décryptage. 7 −4 161 −92 5 12 23 ( )≡( )≡ ( ) [26] −5 9 −115 207 15 25 5 12 𝐵=( ) est bien l’inverse de 𝐴 modulo 26 en effet : 15 25 7 −4 9 4 1 0 1 0 𝐵𝐴 ≡ 23 ( )( ) ≡ 23 × 43 ( )≡( ) [26] −5 9 5 7 0 1 0 1 Décoder le message « VZ VK UB KH JN ». 21 5 12 21 15 Le bloc VZ correspond à (𝑦𝑦𝑘 ) = ( ) or 𝐵 (𝑦𝑦𝑘 ) = ( ) ( ) ≡ ( ) [26] 𝑘+1 𝑘+1 25 15 25 25 4 Il se décrypte en PE. On procède de même pour lesquatres autre blocs suivants : Texte codé 𝑦𝑘 𝑥𝑘 V Z V K 21 25 21 1081 2760 2461 U B K H J 10 20 1 10 7 -345 3128 -2093 966 299 N 9 13 253 1656 𝑥𝑘 (26) 15 4 17 19 8 13 4 13 19 18 Texte clair P E R T I N E N T S Ainsi VZ VK UB KH JN se décrpte en PERTINENTS. 4. Avec la clef de cryptage 𝑎 = 3 , 𝑏 = 2 , 𝑐 = 5 𝑒𝑡 𝑑 = 7, a. La matrice 𝐴 de cryptage est-elle inversible (dans l’ensemble des matrices réelles). 3 2 𝐴=( ) or det 𝐴 = 3 × 7 − 5 × 2 = 21 − 10 = 11, det 𝐴 ≠ 0 , 𝐴 est donc 5 7 inversible. b. A est-elle inversible modulo 26 ? 11 et 26 sont premiers donc 𝐴 est inversible modulo 26 c. Quelle conclusion peut-on faire sur l’utilisation de cette clef ? Elle est utilisable. d. BONUS ! Attaque du chiffrement de Hill. Les deux bigrammes les plus fréquents dans la langue française sont pour 100 000 bigrammes : Bigrammes Nombres ES DE 3318 2409 Comme pour l’attaque du chiffrement affine pensez- vous possible d’utiliser cette statistique pour attaquer un texte crypté à l’aide du chiffrement de Hill par bloc de deux caractères. Justifier votre réponse Dans le texte clair, le bigramme ES à une chance sur deux de se situer à un rang pair. En supposant que la cryptage démarre a un rang pair, la fréquence d’apparition du bigramme crypté ES sera en théorie la moitié de celle de la langue française. Dans la mesure ou le texte est suffisament long cela suffit pour pouvoir être repérée et permettre des hypothèses pour le décryptage. Ainsi l’attaque par analyse des fréquences est parfaitement possible.