Security Web
2020/2021
P.Lafourcade
TP2 : RSA / OAEP
Exercise 1 (RSA (12 points)) Nous rappelons le chiffrement RSA.
• Clef Publique : (n, e), o` u n = pq, Φ(n) = (p − 1)(q − 1) et pgcd(e, Φ(n)) = 1.
• Clef Priv´ ee : d, telle que d.e = 1 mod Φ(n)
• Chiffrement de M : c = M e mod n
• D´ echiffrement de c: M = c d mod n
1. (2 point) Faites les calculs suivants. Soit p = 3, q = 7, calculer n et Φ(n) = (p −1)(q −1).
Soit e = 5, chiffrer le message M = 2.
Soit d = 5, d´ echiffrer le chiffr´ e c = 3.
2. (3 points) En utilisant la biblioth` eque GMP 1 coder le chiffrement de RSA pour une taille de clef donn´ ee (512, 1024, 2048, 4096).
3. (3 points) Coder le d´ echiffrement de RSA.
4. (4 point) Chiffrer le maximum de message al´ eatoires pour les clefs 512, 1024, 2048 et 4096 bits en 10 secondes et comparer avec RSA de la commande openssl speed rsa et avec AES de la commande openssl speed aes.
Exercise 2 (OAEP-RSA simplifi´ e(8 points))
Soit la fonction de hachage SHA-256: {0, 1} 256 → {0, 1} 256 . Pour calculer le chiffr´ e OAEP- RSA c = E pk (m, r) du message m ∈ {0, 1} 256 , et r ← {0, 1} 256 il faut faire:
• s = m⊕ SHA256(r)
• t = r⊕ SHA256(s)
et calculer c = f (s||t), o` u la fonction f est le chiffrement de RSA et || la concatenation.
• (1 point) Donner la fonction de d´ echiffrement associ´ ee.
• (7 points) En utilisant GMP et openssl coder le chiffrement et le d´ echiffrement de cette version de RSA-OAEP.
1