Université Rennes 1 Département de Mathématiques Année 2016-2017 M1, module Crypto Feuille d'exercices Cryptographie historique (1) Soit w une chaîne de caractères sur l'alphabet {A, B, · · · , Z}. On choisit 2 clés k0 et k1 pour le chirement de César. Pour chirer, on renverse l'ordre de la chaîne de caractères w puis on encode les symboles dont l'indice dans la chaîne renversée est impair en utilisant k0 et ceux dont l'indice est pair en utilisant k1 (on décalera toujours vers la droite et les indices commencent à 1). (a) On choisit k0 = 3 et k1 = 5. Chirer "VIVELESSCHTROUMPFS" et déchirer "OJPFJWDLDSRNWSHYWF". (b) Déterminer les espaces P, C, K, E et D et montrer que cette procédure dénit un cryptosystème . (2) Chirement par permutation (ou transposition). Dans un chirement par permutation, on groupe le texte clair en blocs de n caractères, et on applique à chaque bloc la même permutation e des nombres de 0 à n − 1. Autrement dit, le texte chiré correspondant au texte clair p0 p1 · · · pn−1 est pe(0) pe(1) · · · pe(n−1) . Il s'agit donc de mélanger les lettres de chaque bloc. Soit e la permutation suivante 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20 4 8 18 19 6 10 9 1 16 2 12 5 0 15 7 3 13 17 14 11 (a) Soit p ="onvachirercetexteci" un bloc de taille 21 du texte clair. Appliquer à ce bloc le chirement par permutation avec la clé e. (b) Donner la clé de déchirement. (c) Déchirer le bloc chiré c ="tiéenfocéecrfdtrhemcr". (d) Peut on monter une attaque par analyse de fréquence sur un tel système ? (3) Montrer que la fonction de chirement d'un cryptosystème est toujours injective. Donner un exemple où elle n'est pas surjective. (4) Chirement ane. (a) On considère la fonction de chirement E : Z/26Z → Z/26Z x 7→ 11x + 7 mod 26 Expliciter la fonction de déchirement. (b) Le message suivant, chiré à l'aide d'un chirement ane (où a est codé par 0 et z par 25), est intercepté 2 Trouver la clé de chirement. On rappelle les fréquences d'apparition dans la langue française. (5) Chirement de Hill. Un chirement de Hill est un chirement ane par bloc y = Ax + b où b est le vecteur nul. (a) Rappeler comment casser un chirement de Hill dont la taille des blocs vaut 2. (b) On se place sur l'alphabet classique représenté par Z/26Z. Sachant que RIEN est chiré en TOUT, retrouver la matrice A utilisée pour le chirement. (6) Utiliser le carré de Vigenère vu en cours pour chirer "polyalphabetique" à l'aide de la clé "venus".