3OS PM – 29 janvier 2015 Nom : . . . . . . . . . . . . . . . . . . . . . . . .
Exercice 3 (6 points)
Le fichier Ex3.txt contient deux nombres premiers pet q.
On choisit e = 5 qui satisfait la condition gcd(e, ϕ(n)) = 1, o`u n=p·q. On dispose ainsi
d’une cl´e publique (n, e).
a) Dans un fichier Nom_Ex3.py, construire la cl´e priv´ee (n, d). Afficher `a la console
la valeur de d.
b) Coder le message suivant (pr´esent dans Ex3.txt) `a l’aide de la cl´e publique (n, e)
et l’afficher `a la console.
1212121212121212121212121212121212121212121212121212121212
c) D´ecoder le message suivant (pr´esent dans Ex3.txt) `a l’aide de la cl´e priv´ee (n, d)et
l’afficher `a la console.
552286272664186788564631857984700455907472476279585940597060
910032345859983744925615546127492663685334316976853156087392
492286054148756451673574970807904348821305159693448433784514
720609801829221010443718208244525608679557226563996106232420
213674414386740893281348305724265811795219709375
Exercice 4 (6 points)
Le chiffrement d’un message mest possible `a partir de la cl´e publique (n, e).
Voici une fonction codage_rsa qui permet de chiffrer un message m.
1 def codage_rsa(m, n, e):
2 return pow(m, e, n)
Le d´echiffrement d’un message chiffr´e xest possible `a l’aide de la cl´e priv´ee (n, d).
Voici une fonction decodage_rsa qui permet de d´echiffrer un message x.
1 def decodage_rsa(x, n, d):
2 return pow(x, d, n)
Le fichier Nom_Ex4.py contient ces deux fonctions, deux nombres premiers pet qainsi
que la valeur de e.
Le fichier Nom_Ex4.py contient ´egalement un message met un message cod´e x.
En utilisant les fonctions codage_rsa et decodage_rsa qui remplacent l’exponentiation
modulaire pr´esente dans les diff´erents codes, compl´eter le fichier Nom_Ex4.py pour :
a) D´eterminer la valeur de d, puis afficher sa valeur `a la console.
b) Coder le message m`a l’aide de la cl´e publique (n, e) et afficher ce message cod´e `a
la console.
c) D´ecoder le message cod´e x`a l’aide de la cl´e priv´ee (n, d) et afficher ce message
d´ecod´e `a la console.
sv – Gymnase de Burier 2