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.