Cryptographie historique. - Université de Rennes 1

publicité
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".
Téléchargement