examen

Transcription

examen
RICM 4 – 2013-14 – CRYPTOGRAPHIE – D. Duval
Contrôle du 14 novembre 2013
Durée : 1h30. Documents autorisés.
Les parties I et II sont indépendantes.
Barême approximatif : I : 12 points, II : 8 points.
La note tiendra compte de la qualité de la rédaction.
I
Dans cette partie on considère le protocole cryptographique suivant (où “||” désigne la
concaténation).
– Choix des paramètres. Les paramètres suivants sont publics :
– un grand nombre premier p,
– un entier g ∈ {1, . . . , p − 1} qui est une racine primitive modulo p,
– une fonction de hachage cryptographique H : {0, 1}∗ → {0, . . . , p − 2}.
– Génération des clés.
– Alice choisit une clé privée x ∈ {0, . . . , p − 2},
– elle calcule sa clé publique y = g x (mod p).
– Signature. Le message clair m qu’Alice veut transmettre à Bob est un mot binaire de
longueur quelconque.
– Alice choisit aléatoirement k ∈ {0, . . . , p − 2},
– elle calcule r = g k (mod p),
– elle calcule e = H(m||r).
– elle calcule s = (k − x × e) (mod p − 1).
La signature d’Alice est la paire (s, e).
Elle envoie à Bob le message m et la signature (s, e).
– Vérification. Bob reçoit le message m et la signature (s, e).
– Bob calcule r0 = g s × y e (mod p),
– puis il calcule e0 = H(m||r0 ).
Bob accepte la signature si et seulement si e0 = e.
1. Attention. Dans cette question, afin de pouvoir faire tous les calculs à la main, on
utilise une petite valeur de p. En réalité, il faudrait utiliser une grande valeur de p
pour assurer la sécurité. Mais vous devez faire TOUS les calculs de façon détaillée
en utilisant des méthodes qui peuvent être généralisées aux grands nombres de la
cryptographie.
On choisit p = 17 et g = 3. La fonction H : {0, 1}∗ → {0, . . . , 15} est obtenue de la
façon suivante : étant donné un mot binaire u, on découpe u en blocs de 4 bits (en
complétant avec des ’0’ à la fin si sa longueur n’est pas un multiple de 4) puis on
fait le ou exclusif bit à bit de tous les blocs, cela fournit un mot binaire v de 4 bits,
et enfin on définit H(u) comme l’entier qui a pour écriture binaire v.
(a) Alice choisit x = 5, calculez y.
(b) Pour envoyer le message m = 11100001 Alice choisit k = 7. Faites le calcul de
la signature (à la place d’Alice).
(c) En supposant qu’il n’y a pas eu de “piratage” pendant la transmission, faites
la vérification (à la place de Bob).
2. Supposons maintenant que p a 48 décimales. Approximativement :
(a) Combien faut-il d’octets pour écrire p en binaire ?
(b) Combien faut-il d’octets pour écrire la signature d’Alice ?
3. Vérifiez que, si le protocole est exécuté sans “piratage”, alors Bob doit bien trouver
que e = e0 .
4. Ce protocole assure-t-il (justifiez vos réponses) :
(a) la confidentialité du message transmis ?
(b) l’authentification de l’expéditeur ?
(c) l’intégrité du message ?
5. Quelle est la propriété de complexité sur laquelle repose la sécurité de ce protocole
(répondre en moins d’une ligne) ?
II
Dans cette partie on considère le cryptosystème RSA.
1. Rappelez la propriété de complexité sur laquelle repose la sécurité du cryptosystème
RSA (répondre en moins d’une ligne).
2. Bob a pour clé publique (N, e). Alice chiffre un message pour le transmettre à
Bob, pour cela elle exprime ce message comme un nombre m ∈ {0, 1, . . . , N − 1}.
Supposons que m est inférieur à la racine e-ème de N . Expliquez comment dans ce
cas Ève peut facilement calculer m.
3. Faisons les hypothèses suivantes :
(a) Bob, Clara et David ont le même exposant public, c’est-à-dire que leurs clés
sont respectivement (NB , e), (NC , e) et (ND , e) pour une même valeur de e.
(b) Les modules NB , NC et ND ont 2048 bits.
(c) L’exposant public e a moins de 20 bits.
(d) Il n’y a pas de facteur commun à NB et NC , ni à NB et ND , ni à NC et ND .
(e) Alice envoie le même message m à Bob, Clara et David.
Est-ce que ces hypothèses vous semblent vraisemblables ?
4. Supposons que les clés de Bob, Clara et David sont respectivement (NB , 3), (NC , 3)
et (ND , 3). Expliquez comment dans ce cas Ève peut facilement calculer m.