Vous êtes sur la page 1sur 128

Cryptographie

à clef
publique

Laurent
Poinsot

Cryptographie
à clef secrète

Arithmétique
Cryptographie à clef publique
modulaire

RSA

Propriété de
déchiffre-
Laurent Poinsot
ment

Algorithme École de l’Air


d’Euclide Université Sorbonne Paris Nord
étendu

1 / 30
Cryptographie
à clef
publique Table des matières
Laurent
Poinsot

Cryptographie
à clef secrète
1 Cryptographie à clef secrète
Arithmétique
modulaire

RSA
2 Arithmétique modulaire
Propriété de
déchiffre-
ment

Algorithme 3 RSA
d’Euclide
étendu

4 Propriété de déchiffrement

5 Algorithme d’Euclide étendu

2 / 30
Cryptographie
à clef
publique Un défaut majeur de la cryptographie à clef secrète est la
Laurent
nécessité pour Alice et Bob de s’échanger la clef secrète qu’ils
Poinsot
emploieront pour leurs communications chiffrées.
Cryptographie
à clef secrète

Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

3 / 30
Cryptographie
à clef
publique Un défaut majeur de la cryptographie à clef secrète est la
Laurent
nécessité pour Alice et Bob de s’échanger la clef secrète qu’ils
Poinsot
emploieront pour leurs communications chiffrées.
Cryptographie
à clef secrète
En pratique, ils se rencontrent physiquement.
Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

3 / 30
Cryptographie
à clef
publique Un défaut majeur de la cryptographie à clef secrète est la
Laurent
nécessité pour Alice et Bob de s’échanger la clef secrète qu’ils
Poinsot
emploieront pour leurs communications chiffrées.
Cryptographie
à clef secrète
En pratique, ils se rencontrent physiquement. Ou alors ils
Arithmétique
modulaire doivent utiliser un canal sûr pour se transmettre la clef.
RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

3 / 30
Cryptographie
à clef
publique Un défaut majeur de la cryptographie à clef secrète est la
Laurent
nécessité pour Alice et Bob de s’échanger la clef secrète qu’ils
Poinsot
emploieront pour leurs communications chiffrées.
Cryptographie
à clef secrète
En pratique, ils se rencontrent physiquement. Ou alors ils
Arithmétique
modulaire doivent utiliser un canal sûr pour se transmettre la clef. En tout
RSA état de cause, ils ne peuvent pas transmettre la clef sur un canal
Propriété de public au risque de voir leur clef être interceptée par un ennemi.
déchiffre-
ment

Algorithme
d’Euclide
étendu

3 / 30
Cryptographie
à clef
publique Un défaut majeur de la cryptographie à clef secrète est la
Laurent
nécessité pour Alice et Bob de s’échanger la clef secrète qu’ils
Poinsot
emploieront pour leurs communications chiffrées.
Cryptographie
à clef secrète
En pratique, ils se rencontrent physiquement. Ou alors ils
Arithmétique
modulaire doivent utiliser un canal sûr pour se transmettre la clef. En tout
RSA état de cause, ils ne peuvent pas transmettre la clef sur un canal
Propriété de public au risque de voir leur clef être interceptée par un ennemi.
déchiffre-
ment

Algorithme Dans la pratique cet échange de clef peut donc être très
d’Euclide
étendu difficile.

3 / 30
Cryptographie
à clef
publique Un défaut majeur de la cryptographie à clef secrète est la
Laurent
nécessité pour Alice et Bob de s’échanger la clef secrète qu’ils
Poinsot
emploieront pour leurs communications chiffrées.
Cryptographie
à clef secrète
En pratique, ils se rencontrent physiquement. Ou alors ils
Arithmétique
modulaire doivent utiliser un canal sûr pour se transmettre la clef. En tout
RSA état de cause, ils ne peuvent pas transmettre la clef sur un canal
Propriété de public au risque de voir leur clef être interceptée par un ennemi.
déchiffre-
ment

Algorithme Dans la pratique cet échange de clef peut donc être très
d’Euclide
étendu difficile. L’objectif des systèmes à clef publique est de rendre la
fonction de déchiffrement DKd impossible à retrouver à partir de
EKe .

3 / 30
Cryptographie
à clef
publique Un défaut majeur de la cryptographie à clef secrète est la
Laurent
nécessité pour Alice et Bob de s’échanger la clef secrète qu’ils
Poinsot
emploieront pour leurs communications chiffrées.
Cryptographie
à clef secrète
En pratique, ils se rencontrent physiquement. Ou alors ils
Arithmétique
modulaire doivent utiliser un canal sûr pour se transmettre la clef. En tout
RSA état de cause, ils ne peuvent pas transmettre la clef sur un canal
Propriété de public au risque de voir leur clef être interceptée par un ennemi.
déchiffre-
ment

Algorithme Dans la pratique cet échange de clef peut donc être très
d’Euclide
étendu difficile. L’objectif des systèmes à clef publique est de rendre la
fonction de déchiffrement DKd impossible à retrouver à partir de
EKe . Ainsi, EKe ou Ke peut être publiée dans un répertoire.

3 / 30
Cryptographie
à clef
publique Un défaut majeur de la cryptographie à clef secrète est la
Laurent
nécessité pour Alice et Bob de s’échanger la clef secrète qu’ils
Poinsot
emploieront pour leurs communications chiffrées.
Cryptographie
à clef secrète
En pratique, ils se rencontrent physiquement. Ou alors ils
Arithmétique
modulaire doivent utiliser un canal sûr pour se transmettre la clef. En tout
RSA état de cause, ils ne peuvent pas transmettre la clef sur un canal
Propriété de public au risque de voir leur clef être interceptée par un ennemi.
déchiffre-
ment

Algorithme Dans la pratique cet échange de clef peut donc être très
d’Euclide
étendu difficile. L’objectif des systèmes à clef publique est de rendre la
fonction de déchiffrement DKd impossible à retrouver à partir de
EKe . Ainsi, EKe ou Ke peut être publiée dans un répertoire.
L’avantage est qu’Alice (ou tout autre personne) peut envoyer
un message à Bob chiffré par EKe sans communication privée
préalable.

3 / 30
Cryptographie
à clef
publique Un défaut majeur de la cryptographie à clef secrète est la
Laurent
nécessité pour Alice et Bob de s’échanger la clef secrète qu’ils
Poinsot
emploieront pour leurs communications chiffrées.
Cryptographie
à clef secrète
En pratique, ils se rencontrent physiquement. Ou alors ils
Arithmétique
modulaire doivent utiliser un canal sûr pour se transmettre la clef. En tout
RSA état de cause, ils ne peuvent pas transmettre la clef sur un canal
Propriété de public au risque de voir leur clef être interceptée par un ennemi.
déchiffre-
ment

Algorithme Dans la pratique cet échange de clef peut donc être très
d’Euclide
étendu difficile. L’objectif des systèmes à clef publique est de rendre la
fonction de déchiffrement DKd impossible à retrouver à partir de
EKe . Ainsi, EKe ou Ke peut être publiée dans un répertoire.
L’avantage est qu’Alice (ou tout autre personne) peut envoyer
un message à Bob chiffré par EKe sans communication privée
préalable. Bob est la seule personne capable de déchiffrer ce
message en utilisant sa clef privée Kd .

3 / 30
Cryptographie
à clef
publique

Laurent Considérons la donnée d’un procédé de déchiffrement, i.e., un


Poinsot
espace de clefs (Ke , Kd ) et des fonctions Ke 7→ EKe ,
Cryptographie Kd 7→ DKd , satisfaisant la propriété suivante :
à clef secrète

Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

4 / 30
Cryptographie
à clef
publique

Laurent Considérons la donnée d’un procédé de déchiffrement, i.e., un


Poinsot
espace de clefs (Ke , Kd ) et des fonctions Ke 7→ EKe ,
Cryptographie Kd 7→ DKd , satisfaisant la propriété suivante :
à clef secrète

Arithmétique
modulaire Étant donné (Ke , Kd ) ∈ K, il est calculatoirement impossible en
RSA pratique d’obtenir Kd à partir de la seule connaissance de la clef
Propriété de
déchiffre-
Ke .
ment

Algorithme
d’Euclide
étendu

4 / 30
Cryptographie
à clef
publique

Laurent Considérons la donnée d’un procédé de déchiffrement, i.e., un


Poinsot
espace de clefs (Ke , Kd ) et des fonctions Ke 7→ EKe ,
Cryptographie Kd 7→ DKd , satisfaisant la propriété suivante :
à clef secrète

Arithmétique
modulaire Étant donné (Ke , Kd ) ∈ K, il est calculatoirement impossible en
RSA pratique d’obtenir Kd à partir de la seule connaissance de la clef
Propriété de
déchiffre-
Ke .
ment

Algorithme On parle alors de cryptosystème à clef publique.


d’Euclide
étendu

4 / 30
Cryptographie
à clef
publique

Laurent Considérons la donnée d’un procédé de déchiffrement, i.e., un


Poinsot
espace de clefs (Ke , Kd ) et des fonctions Ke 7→ EKe ,
Cryptographie Kd 7→ DKd , satisfaisant la propriété suivante :
à clef secrète

Arithmétique
modulaire Étant donné (Ke , Kd ) ∈ K, il est calculatoirement impossible en
RSA pratique d’obtenir Kd à partir de la seule connaissance de la clef
Propriété de
déchiffre-
Ke .
ment

Algorithme On parle alors de cryptosystème à clef publique. Ke est la clef


d’Euclide
étendu publique et Kd est la clef privée.

4 / 30
Cryptographie
à clef
publique

Laurent Considérons la donnée d’un procédé de déchiffrement, i.e., un


Poinsot
espace de clefs (Ke , Kd ) et des fonctions Ke 7→ EKe ,
Cryptographie Kd 7→ DKd , satisfaisant la propriété suivante :
à clef secrète

Arithmétique
modulaire Étant donné (Ke , Kd ) ∈ K, il est calculatoirement impossible en
RSA pratique d’obtenir Kd à partir de la seule connaissance de la clef
Propriété de
déchiffre-
Ke .
ment

Algorithme On parle alors de cryptosystème à clef publique. Ke est la clef


d’Euclide
étendu publique et Kd est la clef privée.

Remarque : Il arrive très souvent que les fonctions Ke 7→ EKe et


Kd 7→ DKd sont toutes les deux injectives.

4 / 30
Cryptographie
à clef
publique

Laurent Considérons la donnée d’un procédé de déchiffrement, i.e., un


Poinsot
espace de clefs (Ke , Kd ) et des fonctions Ke 7→ EKe ,
Cryptographie Kd 7→ DKd , satisfaisant la propriété suivante :
à clef secrète

Arithmétique
modulaire Étant donné (Ke , Kd ) ∈ K, il est calculatoirement impossible en
RSA pratique d’obtenir Kd à partir de la seule connaissance de la clef
Propriété de
déchiffre-
Ke .
ment

Algorithme On parle alors de cryptosystème à clef publique. Ke est la clef


d’Euclide
étendu publique et Kd est la clef privée.

Remarque : Il arrive très souvent que les fonctions Ke 7→ EKe et


Kd 7→ DKd sont toutes les deux injectives. Dans ce cas, il est
calculatoirement impossible d’obtenir DKd à partir de EKe .

4 / 30
Cryptographie
à clef
publique Protocole
Laurent
Poinsot

Cryptographie Supposons qu’Alice souhaite envoyer un message confidentiel M


à clef secrète
à Bob.
Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

5 / 30
Cryptographie
à clef
publique Protocole
Laurent
Poinsot

Cryptographie Supposons qu’Alice souhaite envoyer un message confidentiel M


à clef secrète
à Bob.
Arithmétique
modulaire

RSA Elle chiffre son message M avec la clef publique de Bob :


Propriété de C = EKeBob (M).
déchiffre-
ment

Algorithme
d’Euclide
étendu

5 / 30
Cryptographie
à clef
publique Protocole
Laurent
Poinsot

Cryptographie Supposons qu’Alice souhaite envoyer un message confidentiel M


à clef secrète
à Bob.
Arithmétique
modulaire

RSA Elle chiffre son message M avec la clef publique de Bob :


Propriété de C = EKeBob (M).
déchiffre-
ment

Algorithme Elle envoie ce message chiffré sur un canal public.


d’Euclide
étendu

5 / 30
Cryptographie
à clef
publique Protocole
Laurent
Poinsot

Cryptographie Supposons qu’Alice souhaite envoyer un message confidentiel M


à clef secrète
à Bob.
Arithmétique
modulaire

RSA Elle chiffre son message M avec la clef publique de Bob :


Propriété de C = EKeBob (M).
déchiffre-
ment

Algorithme Elle envoie ce message chiffré sur un canal public. Bob récupère
d’Euclide
étendu le message d’origine en employant sa clef privée :
DK Bob (C ) = M.
d

5 / 30
Cryptographie
à clef
publique Protocole
Laurent
Poinsot

Cryptographie Supposons qu’Alice souhaite envoyer un message confidentiel M


à clef secrète
à Bob.
Arithmétique
modulaire

RSA Elle chiffre son message M avec la clef publique de Bob :


Propriété de C = EKeBob (M).
déchiffre-
ment

Algorithme Elle envoie ce message chiffré sur un canal public. Bob récupère
d’Euclide
étendu le message d’origine en employant sa clef privée :
DK Bob (C ) = M.
d

Si maintenant Bob veut répondre, toujours confidentiellement, à


Alice, il devra utiliser la clef publique KeAlice d’Alice, elle-même
employant sa propre clef privée KdAlice pour déchiffrer.

5 / 30
Cryptographie
à clef
publique Table des matières
Laurent
Poinsot

Cryptographie
à clef secrète
1 Cryptographie à clef secrète
Arithmétique
modulaire

RSA
2 Arithmétique modulaire
Propriété de
déchiffre-
ment

Algorithme 3 RSA
d’Euclide
étendu

4 Propriété de déchiffrement

5 Algorithme d’Euclide étendu

6 / 30
Cryptographie
à clef
publique Division entière (ou euclidienne)
Laurent
Poinsot

Cryptographie
à clef secrète
Pour deux entiers naturels a et b, avec b non nul, il existe un
Arithmétique
modulaire unique couple (q, r ) d’entiers naturels vérifiant les propriétés
RSA suivantes :
Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

7 / 30
Cryptographie
à clef
publique Division entière (ou euclidienne)
Laurent
Poinsot

Cryptographie
à clef secrète
Pour deux entiers naturels a et b, avec b non nul, il existe un
Arithmétique
modulaire unique couple (q, r ) d’entiers naturels vérifiant les propriétés
RSA suivantes :
Propriété de
déchiffre-
ment • a = bq + r ;
Algorithme
d’Euclide
étendu

7 / 30
Cryptographie
à clef
publique Division entière (ou euclidienne)
Laurent
Poinsot

Cryptographie
à clef secrète
Pour deux entiers naturels a et b, avec b non nul, il existe un
Arithmétique
modulaire unique couple (q, r ) d’entiers naturels vérifiant les propriétés
RSA suivantes :
Propriété de
déchiffre-
ment • a = bq + r ;
Algorithme
d’Euclide
étendu • r < b.

7 / 30
Cryptographie
à clef
publique Division entière (ou euclidienne)
Laurent
Poinsot

Cryptographie
à clef secrète
Pour deux entiers naturels a et b, avec b non nul, il existe un
Arithmétique
modulaire unique couple (q, r ) d’entiers naturels vérifiant les propriétés
RSA suivantes :
Propriété de
déchiffre-
ment • a = bq + r ;
Algorithme
d’Euclide
étendu • r < b.

Par exemple, a = 15, b = 6, alors (q, r ) = (2, 3),

7 / 30
Cryptographie
à clef
publique Division entière (ou euclidienne)
Laurent
Poinsot

Cryptographie
à clef secrète
Pour deux entiers naturels a et b, avec b non nul, il existe un
Arithmétique
modulaire unique couple (q, r ) d’entiers naturels vérifiant les propriétés
RSA suivantes :
Propriété de
déchiffre-
ment • a = bq + r ;
Algorithme
d’Euclide
étendu • r < b.

Par exemple, a = 15, b = 6, alors (q, r ) = (2, 3), et si a = 7 et


b = 26, alors (q, r ) = (0, 7).

7 / 30
Cryptographie
à clef
publique Division entière (ou euclidienne)
Laurent
Poinsot

Cryptographie
à clef secrète

Arithmétique
modulaire

RSA q est le quotient et r est le reste de la division entière de a par


Propriété de
déchiffre-
b.
ment

Algorithme
d’Euclide
étendu

8 / 30
Cryptographie
à clef
publique Division entière (ou euclidienne)
Laurent
Poinsot

Cryptographie
à clef secrète

Arithmétique
modulaire

RSA q est le quotient et r est le reste de la division entière de a par


Propriété de
déchiffre-
b.
ment

Algorithme
d’Euclide
On dit que b divise a lorsque le reste dans la division de a par b
étendu est 0 (donc a = qb).

8 / 30
Cryptographie
à clef
publique Congruence
Laurent
Poinsot

Cryptographie
à clef secrète

Arithmétique
Soient a, b, n des entiers naturels, n > 0.
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

9 / 30
Cryptographie
à clef
publique Congruence
Laurent
Poinsot

Cryptographie
à clef secrète

Arithmétique
Soient a, b, n des entiers naturels, n > 0.
modulaire

RSA On dit que a est congru à b modulo n, ce que l’on note


Propriété de
déchiffre-
ment a≡b (mod n)
Algorithme
d’Euclide
étendu
lorsque
n divise (max{ a, b } − min{ a, b }).

9 / 30
Cryptographie
à clef
publique Congruence
Laurent
Poinsot

Cryptographie
à clef secrète

Arithmétique
Soient a, b, n des entiers naturels, n > 0.
modulaire

RSA On dit que a est congru à b modulo n, ce que l’on note


Propriété de
déchiffre-
ment a≡b (mod n)
Algorithme
d’Euclide
étendu
lorsque
n divise (max{ a, b } − min{ a, b }).

L’entier n est appelé le module.

9 / 30
Cryptographie
à clef
publique Congruence et reste
Laurent
Poinsot
Supposons que l’on divise a et b par n.
Cryptographie
à clef secrète

Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

10 / 30
Cryptographie
à clef
publique Congruence et reste
Laurent
Poinsot
Supposons que l’on divise a et b par n.
Cryptographie
à clef secrète
On obtient des quotients et des restes, ces derniers étant
Arithmétique
compris entre 0 et n − 1.
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

10 / 30
Cryptographie
à clef
publique Congruence et reste
Laurent
Poinsot
Supposons que l’on divise a et b par n.
Cryptographie
à clef secrète
On obtient des quotients et des restes, ces derniers étant
Arithmétique
compris entre 0 et n − 1.
modulaire

RSA Plus précisément, on a a = q1 n + r1 et b = q2 n + r2 , avec


Propriété de
déchiffre-
0 ≤ r1 < n et 0 ≤ r2 < n.
ment

Algorithme
d’Euclide
étendu

10 / 30
Cryptographie
à clef
publique Congruence et reste
Laurent
Poinsot
Supposons que l’on divise a et b par n.
Cryptographie
à clef secrète
On obtient des quotients et des restes, ces derniers étant
Arithmétique
compris entre 0 et n − 1.
modulaire

RSA Plus précisément, on a a = q1 n + r1 et b = q2 n + r2 , avec


Propriété de
déchiffre-
0 ≤ r1 < n et 0 ≤ r2 < n.
ment

Algorithme On a :
d’Euclide
étendu a≡b (mod n) ⇔ r1 = r2 .

10 / 30
Cryptographie
à clef
publique Congruence et reste
Laurent
Poinsot
Supposons que l’on divise a et b par n.
Cryptographie
à clef secrète
On obtient des quotients et des restes, ces derniers étant
Arithmétique
compris entre 0 et n − 1.
modulaire

RSA Plus précisément, on a a = q1 n + r1 et b = q2 n + r2 , avec


Propriété de
déchiffre-
0 ≤ r1 < n et 0 ≤ r2 < n.
ment

Algorithme On a :
d’Euclide
étendu a≡b (mod n) ⇔ r1 = r2 .

On note a mod n (sans les parenthèses) le reste de a par n.

10 / 30
Cryptographie
à clef
publique Congruence et reste
Laurent
Poinsot
Supposons que l’on divise a et b par n.
Cryptographie
à clef secrète
On obtient des quotients et des restes, ces derniers étant
Arithmétique
compris entre 0 et n − 1.
modulaire

RSA Plus précisément, on a a = q1 n + r1 et b = q2 n + r2 , avec


Propriété de
déchiffre-
0 ≤ r1 < n et 0 ≤ r2 < n.
ment

Algorithme On a :
d’Euclide
étendu a≡b (mod n) ⇔ r1 = r2 .

On note a mod n (sans les parenthèses) le reste de a par n.


On a donc a ≡ b (mod n) si, et seulement si, a mod n = b
mod n.

10 / 30
Cryptographie
à clef
publique Congruence et reste
Laurent
Poinsot
Supposons que l’on divise a et b par n.
Cryptographie
à clef secrète
On obtient des quotients et des restes, ces derniers étant
Arithmétique
compris entre 0 et n − 1.
modulaire

RSA Plus précisément, on a a = q1 n + r1 et b = q2 n + r2 , avec


Propriété de
déchiffre-
0 ≤ r1 < n et 0 ≤ r2 < n.
ment

Algorithme On a :
d’Euclide
étendu a≡b (mod n) ⇔ r1 = r2 .

On note a mod n (sans les parenthèses) le reste de a par n.


On a donc a ≡ b (mod n) si, et seulement si, a mod n = b
mod n.

Remplacer a par a mod n s’appelle une réduction modulo n ;


on dit aussi que a est réduit modulo n.
10 / 30
Cryptographie
à clef
publique Arithmétique modulaire (1/3)
Laurent
Poinsot

Cryptographie
à clef secrète On peut maintenant définir l’arithmétique modulo n.
Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

11 / 30
Cryptographie
à clef
publique Arithmétique modulaire (1/3)
Laurent
Poinsot

Cryptographie
à clef secrète On peut maintenant définir l’arithmétique modulo n. Posons
Arithmétique Zn := { 0, · · · , n − 1 } munis de deux opérations + et ×.
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

11 / 30
Cryptographie
à clef
publique Arithmétique modulaire (1/3)
Laurent
Poinsot

Cryptographie
à clef secrète On peut maintenant définir l’arithmétique modulo n. Posons
Arithmétique Zn := { 0, · · · , n − 1 } munis de deux opérations + et ×.
modulaire

RSA
L’addition et la multiplication dans Zn fonctionnent exactement
Propriété de
déchiffre- comme l’addition et la multiplication usuelles, excepté le fait
ment
que tous les résultats sont réduits modulo n.
Algorithme
d’Euclide
étendu

11 / 30
Cryptographie
à clef
publique Arithmétique modulaire (1/3)
Laurent
Poinsot

Cryptographie
à clef secrète On peut maintenant définir l’arithmétique modulo n. Posons
Arithmétique Zn := { 0, · · · , n − 1 } munis de deux opérations + et ×.
modulaire

RSA
L’addition et la multiplication dans Zn fonctionnent exactement
Propriété de
déchiffre- comme l’addition et la multiplication usuelles, excepté le fait
ment
que tous les résultats sont réduits modulo n.
Algorithme
d’Euclide
étendu
Supposons par exemple que l’on souhaite calculer 11 × 13 dans
Z16 .

11 / 30
Cryptographie
à clef
publique Arithmétique modulaire (1/3)
Laurent
Poinsot

Cryptographie
à clef secrète On peut maintenant définir l’arithmétique modulo n. Posons
Arithmétique Zn := { 0, · · · , n − 1 } munis de deux opérations + et ×.
modulaire

RSA
L’addition et la multiplication dans Zn fonctionnent exactement
Propriété de
déchiffre- comme l’addition et la multiplication usuelles, excepté le fait
ment
que tous les résultats sont réduits modulo n.
Algorithme
d’Euclide
étendu
Supposons par exemple que l’on souhaite calculer 11 × 13 dans
Z16 . En tant qu’entiers ordinaires , on a 11 × 13 = 143.

11 / 30
Cryptographie
à clef
publique Arithmétique modulaire (1/3)
Laurent
Poinsot

Cryptographie
à clef secrète On peut maintenant définir l’arithmétique modulo n. Posons
Arithmétique Zn := { 0, · · · , n − 1 } munis de deux opérations + et ×.
modulaire

RSA
L’addition et la multiplication dans Zn fonctionnent exactement
Propriété de
déchiffre- comme l’addition et la multiplication usuelles, excepté le fait
ment
que tous les résultats sont réduits modulo n.
Algorithme
d’Euclide
étendu
Supposons par exemple que l’on souhaite calculer 11 × 13 dans
Z16 . En tant qu’entiers ordinaires , on a 11 × 13 = 143. Pour
réduire 143 modulo 16, on effectue une division euclidienne :
143 = 8 × 16 + 15,

11 / 30
Cryptographie
à clef
publique Arithmétique modulaire (1/3)
Laurent
Poinsot

Cryptographie
à clef secrète On peut maintenant définir l’arithmétique modulo n. Posons
Arithmétique Zn := { 0, · · · , n − 1 } munis de deux opérations + et ×.
modulaire

RSA
L’addition et la multiplication dans Zn fonctionnent exactement
Propriété de
déchiffre- comme l’addition et la multiplication usuelles, excepté le fait
ment
que tous les résultats sont réduits modulo n.
Algorithme
d’Euclide
étendu
Supposons par exemple que l’on souhaite calculer 11 × 13 dans
Z16 . En tant qu’entiers ordinaires , on a 11 × 13 = 143. Pour
réduire 143 modulo 16, on effectue une division euclidienne :
143 = 8 × 16 + 15, donc, 143 mod 16 = 15, et donc
11 × 13 = 15 dans Z16 .

11 / 30
Cryptographie
à clef
publique Arithmétique modulaire (2/3)
Laurent
Poinsot

Cryptographie
à clef secrète Ces définitions de l’addition et de la multiplication dans Zn
Arithmétique satisfont la plupart des règles familières en arithmétique.
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

12 / 30
Cryptographie
à clef
publique Arithmétique modulaire (2/3)
Laurent
Poinsot

Cryptographie
à clef secrète Ces définitions de l’addition et de la multiplication dans Zn
Arithmétique satisfont la plupart des règles familières en arithmétique. En fait
modulaire
Zn est un anneau commutatif.
RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

12 / 30
Cryptographie
à clef
publique Arithmétique modulaire (2/3)
Laurent
Poinsot

Cryptographie
à clef secrète Ces définitions de l’addition et de la multiplication dans Zn
Arithmétique satisfont la plupart des règles familières en arithmétique. En fait
modulaire
Zn est un anneau commutatif.
RSA

Propriété de
déchiffre- L’opposé de a dans Zn est l’unique élément b de Zn tel que
ment
a + b = 0.
Algorithme
d’Euclide
étendu

12 / 30
Cryptographie
à clef
publique Arithmétique modulaire (2/3)
Laurent
Poinsot

Cryptographie
à clef secrète Ces définitions de l’addition et de la multiplication dans Zn
Arithmétique satisfont la plupart des règles familières en arithmétique. En fait
modulaire
Zn est un anneau commutatif.
RSA

Propriété de
déchiffre- L’opposé de a dans Zn est l’unique élément b de Zn tel que
ment
a + b = 0. On le note −a.
Algorithme
d’Euclide
étendu

12 / 30
Cryptographie
à clef
publique Arithmétique modulaire (2/3)
Laurent
Poinsot

Cryptographie
à clef secrète Ces définitions de l’addition et de la multiplication dans Zn
Arithmétique satisfont la plupart des règles familières en arithmétique. En fait
modulaire
Zn est un anneau commutatif.
RSA

Propriété de
déchiffre- L’opposé de a dans Zn est l’unique élément b de Zn tel que
ment
a + b = 0. On le note −a.
Algorithme
d’Euclide
étendu
Bien entendu, −a = n − a si a 6= 0 et −0 = 0.

12 / 30
Cryptographie
à clef
publique Arithmétique modulaire (2/3)
Laurent
Poinsot

Cryptographie
à clef secrète Ces définitions de l’addition et de la multiplication dans Zn
Arithmétique satisfont la plupart des règles familières en arithmétique. En fait
modulaire
Zn est un anneau commutatif.
RSA

Propriété de
déchiffre- L’opposé de a dans Zn est l’unique élément b de Zn tel que
ment
a + b = 0. On le note −a.
Algorithme
d’Euclide
étendu
Bien entendu, −a = n − a si a 6= 0 et −0 = 0.

Exemple : calculons 11 − 18 dans Z31 .

12 / 30
Cryptographie
à clef
publique Arithmétique modulaire (2/3)
Laurent
Poinsot

Cryptographie
à clef secrète Ces définitions de l’addition et de la multiplication dans Zn
Arithmétique satisfont la plupart des règles familières en arithmétique. En fait
modulaire
Zn est un anneau commutatif.
RSA

Propriété de
déchiffre- L’opposé de a dans Zn est l’unique élément b de Zn tel que
ment
a + b = 0. On le note −a.
Algorithme
d’Euclide
étendu
Bien entendu, −a = n − a si a 6= 0 et −0 = 0.

Exemple : calculons 11 − 18 dans Z31 . Deux possibilités : on


calcule −18 = 31 − 18 = 13, puis 11 + 13 = 24.

12 / 30
Cryptographie
à clef
publique Arithmétique modulaire (2/3)
Laurent
Poinsot

Cryptographie
à clef secrète Ces définitions de l’addition et de la multiplication dans Zn
Arithmétique satisfont la plupart des règles familières en arithmétique. En fait
modulaire
Zn est un anneau commutatif.
RSA

Propriété de
déchiffre- L’opposé de a dans Zn est l’unique élément b de Zn tel que
ment
a + b = 0. On le note −a.
Algorithme
d’Euclide
étendu
Bien entendu, −a = n − a si a 6= 0 et −0 = 0.

Exemple : calculons 11 − 18 dans Z31 . Deux possibilités : on


calcule −18 = 31 − 18 = 13, puis 11 + 13 = 24. Ou alors, on
calcule 11 − 18 = −7 dans Z, puis −7 = 31 − 7 = 24 dans Z31 .

12 / 30
Cryptographie
à clef
publique Arithmétique modulaire (3/3)
Laurent
Poinsot Soient m, n deux entiers.
Cryptographie
à clef secrète

Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

13 / 30
Cryptographie
à clef
publique Arithmétique modulaire (3/3)
Laurent
Poinsot Soient m, n deux entiers. On dit que m, n sont premiers entre
Cryptographie eux lorsque pgcd(m, n) = 1,
à clef secrète

Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

13 / 30
Cryptographie
à clef
publique Arithmétique modulaire (3/3)
Laurent
Poinsot Soient m, n deux entiers. On dit que m, n sont premiers entre
Cryptographie eux lorsque pgcd(m, n) = 1, autrement dit, m, n n’ont aucun
à clef secrète
diviseur en commun sauf 1.
Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

13 / 30
Cryptographie
à clef
publique Arithmétique modulaire (3/3)
Laurent
Poinsot Soient m, n deux entiers. On dit que m, n sont premiers entre
Cryptographie eux lorsque pgcd(m, n) = 1, autrement dit, m, n n’ont aucun
à clef secrète
diviseur en commun sauf 1.
Arithmétique
modulaire

RSA En particulier si p est un nombre premier, et x un entier, alors x


Propriété de et p sont premiers entre eux si, et seulement si, p ne divise pas
déchiffre-
ment x.
Algorithme
d’Euclide
étendu

13 / 30
Cryptographie
à clef
publique Arithmétique modulaire (3/3)
Laurent
Poinsot Soient m, n deux entiers. On dit que m, n sont premiers entre
Cryptographie eux lorsque pgcd(m, n) = 1, autrement dit, m, n n’ont aucun
à clef secrète
diviseur en commun sauf 1.
Arithmétique
modulaire

RSA En particulier si p est un nombre premier, et x un entier, alors x


Propriété de et p sont premiers entre eux si, et seulement si, p ne divise pas
déchiffre-
ment x.
Algorithme
d’Euclide
étendu Étant donné des entiers x et n > 0, on dit que x est inversible
modulo n s’il existe un entier y tel que xy ≡ 1 (mod n).

13 / 30
Cryptographie
à clef
publique Arithmétique modulaire (3/3)
Laurent
Poinsot Soient m, n deux entiers. On dit que m, n sont premiers entre
Cryptographie eux lorsque pgcd(m, n) = 1, autrement dit, m, n n’ont aucun
à clef secrète
diviseur en commun sauf 1.
Arithmétique
modulaire

RSA En particulier si p est un nombre premier, et x un entier, alors x


Propriété de et p sont premiers entre eux si, et seulement si, p ne divise pas
déchiffre-
ment x.
Algorithme
d’Euclide
étendu Étant donné des entiers x et n > 0, on dit que x est inversible
modulo n s’il existe un entier y tel que xy ≡ 1 (mod n).

Cela implique que x mod n est inversible dans Zn , d’inverse y


mod n,

13 / 30
Cryptographie
à clef
publique Arithmétique modulaire (3/3)
Laurent
Poinsot Soient m, n deux entiers. On dit que m, n sont premiers entre
Cryptographie eux lorsque pgcd(m, n) = 1, autrement dit, m, n n’ont aucun
à clef secrète
diviseur en commun sauf 1.
Arithmétique
modulaire

RSA En particulier si p est un nombre premier, et x un entier, alors x


Propriété de et p sont premiers entre eux si, et seulement si, p ne divise pas
déchiffre-
ment x.
Algorithme
d’Euclide
étendu Étant donné des entiers x et n > 0, on dit que x est inversible
modulo n s’il existe un entier y tel que xy ≡ 1 (mod n).

Cela implique que x mod n est inversible dans Zn , d’inverse y


mod n, puisque (x mod n)(y mod n) = (xy ) mod n = 1.

13 / 30
Cryptographie
à clef
publique Arithmétique modulaire (3/3)
Laurent
Poinsot Soient m, n deux entiers. On dit que m, n sont premiers entre
Cryptographie eux lorsque pgcd(m, n) = 1, autrement dit, m, n n’ont aucun
à clef secrète
diviseur en commun sauf 1.
Arithmétique
modulaire

RSA En particulier si p est un nombre premier, et x un entier, alors x


Propriété de et p sont premiers entre eux si, et seulement si, p ne divise pas
déchiffre-
ment x.
Algorithme
d’Euclide
étendu Étant donné des entiers x et n > 0, on dit que x est inversible
modulo n s’il existe un entier y tel que xy ≡ 1 (mod n).

Cela implique que x mod n est inversible dans Zn , d’inverse y


mod n, puisque (x mod n)(y mod n) = (xy ) mod n = 1.

x ∈ Zn est inversible dans Zn si, et seulement si, x et n sont


premiers entre eux.
13 / 30
Cryptographie
à clef
publique Table des matières
Laurent
Poinsot

Cryptographie
à clef secrète
1 Cryptographie à clef secrète
Arithmétique
modulaire

RSA
2 Arithmétique modulaire
Propriété de
déchiffre-
ment

Algorithme 3 RSA
d’Euclide
étendu

4 Propriété de déchiffrement

5 Algorithme d’Euclide étendu

14 / 30
Cryptographie
à clef
publique Factorisation des entiers
Laurent
Poinsot
Étant donné un entier naturel n, par le théorème fondamental
de l’arithmétique, il existe une unique fonction dn : P(n) → N+ ,
Cryptographie
à clef secrète où P(n) est un ensemble fini de nombres premiers, telle que
Arithmétique Y
modulaire n= p dn (p) .
RSA p∈P(n)
Propriété de
déchiffre-
ment
Par exemple, pour n = 2268, P(2268) = { 2, 3, 7 } et
Algorithme d2268 : 2 7→ 2, 3 7→ 4, 7 7→ 1, puisque n = 22 × 34 × 7.
d’Euclide
étendu

15 / 30
Cryptographie
à clef
publique Factorisation des entiers
Laurent
Poinsot
Étant donné un entier naturel n, par le théorème fondamental
de l’arithmétique, il existe une unique fonction dn : P(n) → N+ ,
Cryptographie
à clef secrète où P(n) est un ensemble fini de nombres premiers, telle que
Arithmétique Y
modulaire n= p dn (p) .
RSA p∈P(n)
Propriété de
déchiffre-
ment
Par exemple, pour n = 2268, P(2268) = { 2, 3, 7 } et
Algorithme d2268 : 2 7→ 2, 3 7→ 4, 7 7→ 1, puisque n = 22 × 34 × 7.
d’Euclide
étendu
Le problème de la factorisation consiste à retrouver dn à partir
de n.

15 / 30
Cryptographie
à clef
publique Factorisation des entiers
Laurent
Poinsot
Étant donné un entier naturel n, par le théorème fondamental
de l’arithmétique, il existe une unique fonction dn : P(n) → N+ ,
Cryptographie
à clef secrète où P(n) est un ensemble fini de nombres premiers, telle que
Arithmétique Y
modulaire n= p dn (p) .
RSA p∈P(n)
Propriété de
déchiffre-
ment
Par exemple, pour n = 2268, P(2268) = { 2, 3, 7 } et
Algorithme d2268 : 2 7→ 2, 3 7→ 4, 7 7→ 1, puisque n = 22 × 34 × 7.
d’Euclide
étendu
Le problème de la factorisation consiste à retrouver dn à partir
de n. Bien entendu, quand n est petit c’est aisé.

15 / 30
Cryptographie
à clef
publique Factorisation des entiers
Laurent
Poinsot
Étant donné un entier naturel n, par le théorème fondamental
de l’arithmétique, il existe une unique fonction dn : P(n) → N+ ,
Cryptographie
à clef secrète où P(n) est un ensemble fini de nombres premiers, telle que
Arithmétique Y
modulaire n= p dn (p) .
RSA p∈P(n)
Propriété de
déchiffre-
ment
Par exemple, pour n = 2268, P(2268) = { 2, 3, 7 } et
Algorithme d2268 : 2 7→ 2, 3 7→ 4, 7 7→ 1, puisque n = 22 × 34 × 7.
d’Euclide
étendu
Le problème de la factorisation consiste à retrouver dn à partir
de n. Bien entendu, quand n est petit c’est aisé. Mais plus n
est grand, et plus c’est difficile.

15 / 30
Cryptographie
à clef
publique Factorisation des entiers
Laurent
Poinsot
Étant donné un entier naturel n, par le théorème fondamental
de l’arithmétique, il existe une unique fonction dn : P(n) → N+ ,
Cryptographie
à clef secrète où P(n) est un ensemble fini de nombres premiers, telle que
Arithmétique Y
modulaire n= p dn (p) .
RSA p∈P(n)
Propriété de
déchiffre-
ment
Par exemple, pour n = 2268, P(2268) = { 2, 3, 7 } et
Algorithme d2268 : 2 7→ 2, 3 7→ 4, 7 7→ 1, puisque n = 22 × 34 × 7.
d’Euclide
étendu
Le problème de la factorisation consiste à retrouver dn à partir
de n. Bien entendu, quand n est petit c’est aisé. Mais plus n
est grand, et plus c’est difficile. Par les algorithmes les plus
efficaces actuellement connus, le temps de calcul de dn est une
exponentielle de n.

15 / 30
Cryptographie
à clef
publique Factorisation des entiers
Laurent
Poinsot
Étant donné un entier naturel n, par le théorème fondamental
de l’arithmétique, il existe une unique fonction dn : P(n) → N+ ,
Cryptographie
à clef secrète où P(n) est un ensemble fini de nombres premiers, telle que
Arithmétique Y
modulaire n= p dn (p) .
RSA p∈P(n)
Propriété de
déchiffre-
ment
Par exemple, pour n = 2268, P(2268) = { 2, 3, 7 } et
Algorithme d2268 : 2 7→ 2, 3 7→ 4, 7 7→ 1, puisque n = 22 × 34 × 7.
d’Euclide
étendu
Le problème de la factorisation consiste à retrouver dn à partir
de n. Bien entendu, quand n est petit c’est aisé. Mais plus n
est grand, et plus c’est difficile. Par les algorithmes les plus
efficaces actuellement connus, le temps de calcul de dn est une
exponentielle de n. Il est donc (actuellement) en pratique
impossible de factoriser un grand entier n.

15 / 30
Cryptographie
à clef
publique Factorisation des entiers
Laurent
Poinsot
Étant donné un entier naturel n, par le théorème fondamental
de l’arithmétique, il existe une unique fonction dn : P(n) → N+ ,
Cryptographie
à clef secrète où P(n) est un ensemble fini de nombres premiers, telle que
Arithmétique Y
modulaire n= p dn (p) .
RSA p∈P(n)
Propriété de
déchiffre-
ment
Par exemple, pour n = 2268, P(2268) = { 2, 3, 7 } et
Algorithme d2268 : 2 7→ 2, 3 7→ 4, 7 7→ 1, puisque n = 22 × 34 × 7.
d’Euclide
étendu
Le problème de la factorisation consiste à retrouver dn à partir
de n. Bien entendu, quand n est petit c’est aisé. Mais plus n
est grand, et plus c’est difficile. Par les algorithmes les plus
efficaces actuellement connus, le temps de calcul de dn est une
exponentielle de n. Il est donc (actuellement) en pratique
impossible de factoriser un grand entier n.

C’est sur ce problème que réside la solidité de RSA.


15 / 30
Cryptographie
à clef
publique Cryptosystème RSA
Laurent
Poinsot
RSA (du nom de ses auteurs R. Rivest, A. Shamir et L.
Adleman) fut le premier cryptosystème à clef publique imaginé,
Cryptographie
à clef secrète en 1977.
Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

16 / 30
Cryptographie
à clef
publique Cryptosystème RSA
Laurent
Poinsot
RSA (du nom de ses auteurs R. Rivest, A. Shamir et L.
Adleman) fut le premier cryptosystème à clef publique imaginé,
Cryptographie
à clef secrète en 1977.
Arithmétique
modulaire Soit n un entier naturel qui est le produit de deux nombres
RSA premiers distincts p et q.
Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

16 / 30
Cryptographie
à clef
publique Cryptosystème RSA
Laurent
Poinsot
RSA (du nom de ses auteurs R. Rivest, A. Shamir et L.
Adleman) fut le premier cryptosystème à clef publique imaginé,
Cryptographie
à clef secrète en 1977.
Arithmétique
modulaire Soit n un entier naturel qui est le produit de deux nombres
RSA premiers distincts p et q.
Propriété de
déchiffre-
ment
Pour un tel entier, posons φ(n) := (p − 1)(q − 1).
Algorithme
d’Euclide
étendu

16 / 30
Cryptographie
à clef
publique Cryptosystème RSA
Laurent
Poinsot
RSA (du nom de ses auteurs R. Rivest, A. Shamir et L.
Adleman) fut le premier cryptosystème à clef publique imaginé,
Cryptographie
à clef secrète en 1977.
Arithmétique
modulaire Soit n un entier naturel qui est le produit de deux nombres
RSA premiers distincts p et q.
Propriété de
déchiffre-
ment
Pour un tel entier, posons φ(n) := (p − 1)(q − 1).
Algorithme
d’Euclide On définit K = { ((n, e), (d, p, q)) : n = pq, p, q premiers, p 6=
étendu
q, e, d ∈ Zn , ed ≡ 1 (mod φ(n)) }.

16 / 30
Cryptographie
à clef
publique Cryptosystème RSA
Laurent
Poinsot
RSA (du nom de ses auteurs R. Rivest, A. Shamir et L.
Adleman) fut le premier cryptosystème à clef publique imaginé,
Cryptographie
à clef secrète en 1977.
Arithmétique
modulaire Soit n un entier naturel qui est le produit de deux nombres
RSA premiers distincts p et q.
Propriété de
déchiffre-
ment
Pour un tel entier, posons φ(n) := (p − 1)(q − 1).
Algorithme
d’Euclide On définit K = { ((n, e), (d, p, q)) : n = pq, p, q premiers, p 6=
étendu
q, e, d ∈ Zn , ed ≡ 1 (mod φ(n)) }. On pose Ke := (n, e) et
Kd := (d, p, q).

16 / 30
Cryptographie
à clef
publique Cryptosystème RSA
Laurent
Poinsot
RSA (du nom de ses auteurs R. Rivest, A. Shamir et L.
Adleman) fut le premier cryptosystème à clef publique imaginé,
Cryptographie
à clef secrète en 1977.
Arithmétique
modulaire Soit n un entier naturel qui est le produit de deux nombres
RSA premiers distincts p et q.
Propriété de
déchiffre-
ment
Pour un tel entier, posons φ(n) := (p − 1)(q − 1).
Algorithme
d’Euclide On définit K = { ((n, e), (d, p, q)) : n = pq, p, q premiers, p 6=
étendu
q, e, d ∈ Zn , ed ≡ 1 (mod φ(n)) }. On pose Ke := (n, e) et
Kd := (d, p, q).
Pour (Ke , Kd ) ∈ K, donc Ke = (n, e) et Kd = (d, p, q), on
définit, avec x, y ∈ Zn ,
EKe (x) = x e mod n
et
DKd (y ) = y d mod n. 16 / 30
Cryptographie
à clef
publique Extraction d’une racine carrée
Laurent
Poinsot modulo n
Cryptographie
à clef secrète
Soit n > 1 un entier. Soit a ∈ Zn un entier tel qu’il existe
Arithmétique
modulaire b ∈ Zn vérifiant b 2 = a. On dit que a est un carré modulo n et
RSA b s’appelle alors une racine carrée de a modulo n.
Propriété de
déchiffre-
ment Le problème de l’extraction d’une racine carrée modulo n est
Algorithme alors le suivant : Étant donné a un carré modulo n, trouver une
d’Euclide
étendu racine carrée de a modulo n.

On peut montrer (admis) que si n est un modulus RSA


(c’est-à-dire le produit de deux grands nombres premiers
distincts), extraire une racine carrée modulo n est aussi difficile
que de factoriser n.

17 / 30
Cryptographie
à clef
publique Protocole d’utilisation
Laurent
Poinsot
Bob choisit deux entiers premiers distincts p, q.
Cryptographie
à clef secrète

Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

18 / 30
Cryptographie
à clef
publique Protocole d’utilisation
Laurent
Poinsot
Bob choisit deux entiers premiers distincts p, q. Puis il calcule
deux entiers e, d dans Zn tels que ed ≡ 1 (mod (p − 1)(q − 1))
Cryptographie
à clef secrète (il existe des algorithmes efficaces pour le faire, en particulier, le
Arithmétique calcul de d étant donné e peut se faire à l’aide de l’algorithme
modulaire
d’Euclide étendu).
RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

18 / 30
Cryptographie
à clef
publique Protocole d’utilisation
Laurent
Poinsot
Bob choisit deux entiers premiers distincts p, q. Puis il calcule
deux entiers e, d dans Zn tels que ed ≡ 1 (mod (p − 1)(q − 1))
Cryptographie
à clef secrète (il existe des algorithmes efficaces pour le faire, en particulier, le
Arithmétique calcul de d étant donné e peut se faire à l’aide de l’algorithme
modulaire
d’Euclide étendu). Il publie KeBob := (n, e) avec n = pq, et
RSA
garde secret KdBob := (d, p, q).
Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

18 / 30
Cryptographie
à clef
publique Protocole d’utilisation
Laurent
Poinsot
Bob choisit deux entiers premiers distincts p, q. Puis il calcule
deux entiers e, d dans Zn tels que ed ≡ 1 (mod (p − 1)(q − 1))
Cryptographie
à clef secrète (il existe des algorithmes efficaces pour le faire, en particulier, le
Arithmétique calcul de d étant donné e peut se faire à l’aide de l’algorithme
modulaire
d’Euclide étendu). Il publie KeBob := (n, e) avec n = pq, et
RSA
garde secret KdBob := (d, p, q).
Propriété de
déchiffre-
ment Alice souhaite communiquer de façon confidentielle avec Bob.
Algorithme
d’Euclide
étendu

18 / 30
Cryptographie
à clef
publique Protocole d’utilisation
Laurent
Poinsot
Bob choisit deux entiers premiers distincts p, q. Puis il calcule
deux entiers e, d dans Zn tels que ed ≡ 1 (mod (p − 1)(q − 1))
Cryptographie
à clef secrète (il existe des algorithmes efficaces pour le faire, en particulier, le
Arithmétique calcul de d étant donné e peut se faire à l’aide de l’algorithme
modulaire
d’Euclide étendu). Il publie KeBob := (n, e) avec n = pq, et
RSA
garde secret KdBob := (d, p, q).
Propriété de
déchiffre-
ment Alice souhaite communiquer de façon confidentielle avec Bob.
Algorithme
d’Euclide
étendu 1 Elle récupère la clef publique KeBob = (n, e) de Bob;

18 / 30
Cryptographie
à clef
publique Protocole d’utilisation
Laurent
Poinsot
Bob choisit deux entiers premiers distincts p, q. Puis il calcule
deux entiers e, d dans Zn tels que ed ≡ 1 (mod (p − 1)(q − 1))
Cryptographie
à clef secrète (il existe des algorithmes efficaces pour le faire, en particulier, le
Arithmétique calcul de d étant donné e peut se faire à l’aide de l’algorithme
modulaire
d’Euclide étendu). Il publie KeBob := (n, e) avec n = pq, et
RSA
garde secret KdBob := (d, p, q).
Propriété de
déchiffre-
ment Alice souhaite communiquer de façon confidentielle avec Bob.
Algorithme
d’Euclide
étendu 1 Elle récupère la clef publique KeBob = (n, e) de Bob;
2 Elle calcule C = EKeBob (M) où M ∈ Zn est le message
confidentiel, et transmet C à Bob sur un canal public;

18 / 30
Cryptographie
à clef
publique Protocole d’utilisation
Laurent
Poinsot
Bob choisit deux entiers premiers distincts p, q. Puis il calcule
deux entiers e, d dans Zn tels que ed ≡ 1 (mod (p − 1)(q − 1))
Cryptographie
à clef secrète (il existe des algorithmes efficaces pour le faire, en particulier, le
Arithmétique calcul de d étant donné e peut se faire à l’aide de l’algorithme
modulaire
d’Euclide étendu). Il publie KeBob := (n, e) avec n = pq, et
RSA
garde secret KdBob := (d, p, q).
Propriété de
déchiffre-
ment Alice souhaite communiquer de façon confidentielle avec Bob.
Algorithme
d’Euclide
étendu 1 Elle récupère la clef publique KeBob = (n, e) de Bob;
2 Elle calcule C = EKeBob (M) où M ∈ Zn est le message
confidentiel, et transmet C à Bob sur un canal public;
3 Bob reçoit C .

18 / 30
Cryptographie
à clef
publique Protocole d’utilisation
Laurent
Poinsot
Bob choisit deux entiers premiers distincts p, q. Puis il calcule
deux entiers e, d dans Zn tels que ed ≡ 1 (mod (p − 1)(q − 1))
Cryptographie
à clef secrète (il existe des algorithmes efficaces pour le faire, en particulier, le
Arithmétique calcul de d étant donné e peut se faire à l’aide de l’algorithme
modulaire
d’Euclide étendu). Il publie KeBob := (n, e) avec n = pq, et
RSA
garde secret KdBob := (d, p, q).
Propriété de
déchiffre-
ment Alice souhaite communiquer de façon confidentielle avec Bob.
Algorithme
d’Euclide
étendu 1 Elle récupère la clef publique KeBob = (n, e) de Bob;
2 Elle calcule C = EKeBob (M) où M ∈ Zn est le message
confidentiel, et transmet C à Bob sur un canal public;
3 Bob reçoit C . Il calcule DK Bob (C ) = M.
d

18 / 30
Cryptographie
à clef
publique Protocole d’utilisation
Laurent
Poinsot
Bob choisit deux entiers premiers distincts p, q. Puis il calcule
deux entiers e, d dans Zn tels que ed ≡ 1 (mod (p − 1)(q − 1))
Cryptographie
à clef secrète (il existe des algorithmes efficaces pour le faire, en particulier, le
Arithmétique calcul de d étant donné e peut se faire à l’aide de l’algorithme
modulaire
d’Euclide étendu). Il publie KeBob := (n, e) avec n = pq, et
RSA
garde secret KdBob := (d, p, q).
Propriété de
déchiffre-
ment Alice souhaite communiquer de façon confidentielle avec Bob.
Algorithme
d’Euclide
étendu 1 Elle récupère la clef publique KeBob = (n, e) de Bob;
2 Elle calcule C = EK Bob (M) où M ∈ Zn est le message
e
confidentiel, et transmet C à Bob sur un canal public;
3 Bob reçoit C . Il calcule DK Bob (C ) = M.
d
Oscar, qui espionne les conversations, récupère lui-aussi C .

18 / 30
Cryptographie
à clef
publique Protocole d’utilisation
Laurent
Poinsot
Bob choisit deux entiers premiers distincts p, q. Puis il calcule
deux entiers e, d dans Zn tels que ed ≡ 1 (mod (p − 1)(q − 1))
Cryptographie
à clef secrète (il existe des algorithmes efficaces pour le faire, en particulier, le
Arithmétique calcul de d étant donné e peut se faire à l’aide de l’algorithme
modulaire
d’Euclide étendu). Il publie KeBob := (n, e) avec n = pq, et
RSA
garde secret KdBob := (d, p, q).
Propriété de
déchiffre-
ment Alice souhaite communiquer de façon confidentielle avec Bob.
Algorithme
d’Euclide
étendu 1 Elle récupère la clef publique KeBob = (n, e) de Bob;
2 Elle calcule C = EK Bob (M) où M ∈ Zn est le message
e
confidentiel, et transmet C à Bob sur un canal public;
3 Bob reçoit C . Il calcule DK Bob (C ) = M.
d
Oscar, qui espionne les conversations, récupère lui-aussi C . Par
contre il n’est pas en mesure de déchiffrer car il lui faut, à partir
de (n, e), récupérer (d, p, q) et donc en particulier factoriser n,
ce qui, en pratique, est supposé impossible.
18 / 30
Cryptographie
à clef
publique Table des matières
Laurent
Poinsot

Cryptographie
à clef secrète
1 Cryptographie à clef secrète
Arithmétique
modulaire

RSA
2 Arithmétique modulaire
Propriété de
déchiffre-
ment

Algorithme 3 RSA
d’Euclide
étendu

4 Propriété de déchiffrement

5 Algorithme d’Euclide étendu

19 / 30
Cryptographie
à clef
publique Théorème des restes chinois
Laurent
Poinsot

Cryptographie
à clef secrète

Arithmétique
modulaire
Si n1 , · · · , nr sont des entiers supérieurs à 2, deux-à-deux
RSA premiers entre eux, alors pour des entiers a1 , · · · , ar , le système
Propriété de d’équations
déchiffre-
ment X ≡ ai (mod ni ), 1 ≤ i ≤ r
Algorithme
d’Euclide admet une solution unique modulo n1 × · · · × nr .
étendu

20 / 30
Cryptographie
à clef
publique Théorème des restes chinois
Laurent
Poinsot

Cryptographie
à clef secrète

Arithmétique
modulaire
Si n1 , · · · , nr sont des entiers supérieurs à 2, deux-à-deux
RSA premiers entre eux, alors pour des entiers a1 , · · · , ar , le système
Propriété de d’équations
déchiffre-
ment X ≡ ai (mod ni ), 1 ≤ i ≤ r
Algorithme
d’Euclide admet une solution unique modulo n1 × · · · × nr .
étendu

Cela signifie que si x1 , x2 sont deux solutions du même système


d’équations, alors x1 ≡ x2 (mod (n1 × · · · × nr )).

20 / 30
Cryptographie
à clef
publique Théorème de Fermat
Laurent
Poinsot
Soit p un nombre premier.
Cryptographie
à clef secrète

Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

21 / 30
Cryptographie
à clef
publique Théorème de Fermat
Laurent
Poinsot
Soit p un nombre premier. Quel que soit l’entier x,
Cryptographie
à clef secrète

Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

21 / 30
Cryptographie
à clef
publique Théorème de Fermat
Laurent
Poinsot
Soit p un nombre premier. Quel que soit l’entier x,
Cryptographie
à clef secrète
xp ≡ x (mod p).
Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

21 / 30
Cryptographie
à clef
publique Théorème de Fermat
Laurent
Poinsot
Soit p un nombre premier. Quel que soit l’entier x,
Cryptographie
à clef secrète
xp ≡ x (mod p).
Arithmétique
modulaire Si p divise x, alors x (mod p) ≡ 0 (mod p) et donc x p ≡ 0
RSA (mod p).
Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

21 / 30
Cryptographie
à clef
publique Théorème de Fermat
Laurent
Poinsot
Soit p un nombre premier. Quel que soit l’entier x,
Cryptographie
à clef secrète
xp ≡ x (mod p).
Arithmétique
modulaire Si p divise x, alors x (mod p) ≡ 0 (mod p) et donc x p ≡ 0
RSA (mod p).
Propriété de
déchiffre-
ment Si p ne divise pas x, alors x est inversible modulo p et
Algorithme
d’Euclide
étendu
x p−1 ≡ 1 (mod p).

21 / 30
Cryptographie
à clef
publique Théorème de Fermat
Laurent
Poinsot
Soit p un nombre premier. Quel que soit l’entier x,
Cryptographie
à clef secrète
xp ≡ x (mod p).
Arithmétique
modulaire Si p divise x, alors x (mod p) ≡ 0 (mod p) et donc x p ≡ 0
RSA (mod p).
Propriété de
déchiffre-
ment Si p ne divise pas x, alors x est inversible modulo p et
Algorithme
d’Euclide
étendu
x p−1 ≡ 1 (mod p).

Exemples :
1 p = 3, x = 5, alors x p = 53 = 125 ≡ 5 (mod 3) et
x p−1 = 52 ≡ 1 (mod 3).

21 / 30
Cryptographie
à clef
publique Théorème de Fermat
Laurent
Poinsot
Soit p un nombre premier. Quel que soit l’entier x,
Cryptographie
à clef secrète
xp ≡ x (mod p).
Arithmétique
modulaire Si p divise x, alors x (mod p) ≡ 0 (mod p) et donc x p ≡ 0
RSA (mod p).
Propriété de
déchiffre-
ment Si p ne divise pas x, alors x est inversible modulo p et
Algorithme
d’Euclide
étendu
x p−1 ≡ 1 (mod p).

Exemples :
1 p = 3, x = 5, alors x p = 53 = 125 ≡ 5 (mod 3) et
x p−1 = 52 ≡ 1 (mod 3).
2 p = 5, x = 10, alors x 5 = 100000 ≡ 10 (mod 5) ≡ 0
(mod 5).
21 / 30
Cryptographie
à clef
Soient n = pq, p, q premiers distincts, et ed ≡ 1 (mod φ(n)).
publique

Laurent
Poinsot

Cryptographie
à clef secrète

Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

22 / 30
Cryptographie
à clef
Soient n = pq, p, q premiers distincts, et ed ≡ 1 (mod φ(n)).
publique

Laurent Il nous faut vérifier que DKd (EKe (x)) = x (dans Zn ) quel que
Poinsot
soit x ∈ Zn
Cryptographie
à clef secrète

Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

22 / 30
Cryptographie
à clef
Soient n = pq, p, q premiers distincts, et ed ≡ 1 (mod φ(n)).
publique

Laurent Il nous faut vérifier que DKd (EKe (x)) = x (dans Zn ) quel que
Poinsot
soit x ∈ Zn
Cryptographie
à clef secrète
Il faut donc montrer que (x e )d = x ed ≡ x (mod n).
Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

22 / 30
Cryptographie
à clef
Soient n = pq, p, q premiers distincts, et ed ≡ 1 (mod φ(n)).
publique

Laurent Il nous faut vérifier que DKd (EKe (x)) = x (dans Zn ) quel que
Poinsot
soit x ∈ Zn
Cryptographie
à clef secrète
Il faut donc montrer que (x e )d = x ed ≡ x (mod n).
Arithmétique
modulaire

RSA On a ed ≡ 1 (mod (p − 1)(q − 1)).


Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

22 / 30
Cryptographie
à clef
Soient n = pq, p, q premiers distincts, et ed ≡ 1 (mod φ(n)).
publique

Laurent Il nous faut vérifier que DKd (EKe (x)) = x (dans Zn ) quel que
Poinsot
soit x ∈ Zn
Cryptographie
à clef secrète
Il faut donc montrer que (x e )d = x ed ≡ x (mod n).
Arithmétique
modulaire

RSA On a ed ≡ 1 (mod (p − 1)(q − 1)). Soit donc k tel que


Propriété de ed = k(p − 1)(q − 1) + 1.
déchiffre-
ment

Algorithme
d’Euclide
étendu

22 / 30
Cryptographie
à clef
Soient n = pq, p, q premiers distincts, et ed ≡ 1 (mod φ(n)).
publique

Laurent Il nous faut vérifier que DKd (EKe (x)) = x (dans Zn ) quel que
Poinsot
soit x ∈ Zn
Cryptographie
à clef secrète
Il faut donc montrer que (x e )d = x ed ≡ x (mod n).
Arithmétique
modulaire

RSA On a ed ≡ 1 (mod (p − 1)(q − 1)). Soit donc k tel que


Propriété de ed = k(p − 1)(q − 1) + 1.
déchiffre-
ment

Algorithme Si x et p sont premiers entre eux, alors x p−1 ≡ 1 (mod p)


d’Euclide
étendu (d’après le théorème de Fermat).

22 / 30
Cryptographie
à clef
Soient n = pq, p, q premiers distincts, et ed ≡ 1 (mod φ(n)).
publique

Laurent Il nous faut vérifier que DKd (EKe (x)) = x (dans Zn ) quel que
Poinsot
soit x ∈ Zn
Cryptographie
à clef secrète
Il faut donc montrer que (x e )d = x ed ≡ x (mod n).
Arithmétique
modulaire

RSA On a ed ≡ 1 (mod (p − 1)(q − 1)). Soit donc k tel que


Propriété de ed = k(p − 1)(q − 1) + 1.
déchiffre-
ment

Algorithme Si x et p sont premiers entre eux, alors x p−1 ≡ 1 (mod p)


d’Euclide
étendu (d’après le théorème de Fermat). Donc
x ed = x 1+k(p−1)(q−1) = x(x p−1 )k(q−1) ≡ x (mod p).

22 / 30
Cryptographie
à clef
Soient n = pq, p, q premiers distincts, et ed ≡ 1 (mod φ(n)).
publique

Laurent Il nous faut vérifier que DKd (EKe (x)) = x (dans Zn ) quel que
Poinsot
soit x ∈ Zn
Cryptographie
à clef secrète
Il faut donc montrer que (x e )d = x ed ≡ x (mod n).
Arithmétique
modulaire

RSA On a ed ≡ 1 (mod (p − 1)(q − 1)). Soit donc k tel que


Propriété de ed = k(p − 1)(q − 1) + 1.
déchiffre-
ment

Algorithme Si x et p sont premiers entre eux, alors x p−1 ≡ 1 (mod p)


d’Euclide
étendu (d’après le théorème de Fermat). Donc
x ed = x 1+k(p−1)(q−1) = x(x p−1 )k(q−1) ≡ x (mod p).

Si x et p ne sont pas premiers entre eux, i.e., p divise x


(puisque p est premier), alors x p ≡ x (mod p) = 0 (mod p)

22 / 30
Cryptographie
à clef
Soient n = pq, p, q premiers distincts, et ed ≡ 1 (mod φ(n)).
publique

Laurent Il nous faut vérifier que DKd (EKe (x)) = x (dans Zn ) quel que
Poinsot
soit x ∈ Zn
Cryptographie
à clef secrète
Il faut donc montrer que (x e )d = x ed ≡ x (mod n).
Arithmétique
modulaire

RSA On a ed ≡ 1 (mod (p − 1)(q − 1)). Soit donc k tel que


Propriété de ed = k(p − 1)(q − 1) + 1.
déchiffre-
ment

Algorithme Si x et p sont premiers entre eux, alors x p−1 ≡ 1 (mod p)


d’Euclide
étendu (d’après le théorème de Fermat). Donc
x ed = x 1+k(p−1)(q−1) = x(x p−1 )k(q−1) ≡ x (mod p).

Si x et p ne sont pas premiers entre eux, i.e., p divise x


(puisque p est premier), alors x p ≡ x (mod p) = 0 (mod p)
donc x ed = x(x k(p−1)(q−1) ) ≡ x (mod p) ≡ 0 (mod p).

22 / 30
Cryptographie
à clef
Soient n = pq, p, q premiers distincts, et ed ≡ 1 (mod φ(n)).
publique

Laurent Il nous faut vérifier que DKd (EKe (x)) = x (dans Zn ) quel que
Poinsot
soit x ∈ Zn
Cryptographie
à clef secrète
Il faut donc montrer que (x e )d = x ed ≡ x (mod n).
Arithmétique
modulaire

RSA On a ed ≡ 1 (mod (p − 1)(q − 1)). Soit donc k tel que


Propriété de ed = k(p − 1)(q − 1) + 1.
déchiffre-
ment

Algorithme Si x et p sont premiers entre eux, alors x p−1 ≡ 1 (mod p)


d’Euclide
étendu (d’après le théorème de Fermat). Donc
x ed = x 1+k(p−1)(q−1) = x(x p−1 )k(q−1) ≡ x (mod p).

Si x et p ne sont pas premiers entre eux, i.e., p divise x


(puisque p est premier), alors x p ≡ x (mod p) = 0 (mod p)
donc x ed = x(x k(p−1)(q−1) ) ≡ x (mod p) ≡ 0 (mod p).

Dans les deux cas, x ed ≡ x (mod p).


22 / 30
Cryptographie
à clef
publique

Laurent
Poinsot

Cryptographie
à clef secrète
Par le même raisonnement, x ed ≡ x (mod q).
Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

23 / 30
Cryptographie
à clef
publique

Laurent
Poinsot

Cryptographie
à clef secrète
Par le même raisonnement, x ed ≡ x (mod q).
Arithmétique
modulaire

RSA Le théorème des restes Chinois implique alors que x ed ≡ x


Propriété de (mod n) comme souhaité.
déchiffre-
ment

Algorithme
d’Euclide
étendu

23 / 30
Cryptographie
à clef
publique

Laurent
Poinsot

Cryptographie
à clef secrète
Par le même raisonnement, x ed ≡ x (mod q).
Arithmétique
modulaire

RSA Le théorème des restes Chinois implique alors que x ed ≡ x


Propriété de (mod n) comme souhaité.
déchiffre-
ment

Algorithme En effet, x ed et x sont deux solutions du système d’équation


d’Euclide
étendu X ≡ x (mod p) et X ≡ x (mod q), donc x ed ≡ x (mod pq).

23 / 30
Cryptographie
à clef
publique Table des matières
Laurent
Poinsot

Cryptographie
à clef secrète
1 Cryptographie à clef secrète
Arithmétique
modulaire

RSA
2 Arithmétique modulaire
Propriété de
déchiffre-
ment

Algorithme 3 RSA
d’Euclide
étendu

4 Propriété de déchiffrement

5 Algorithme d’Euclide étendu

24 / 30
Cryptographie
à clef
publique

Laurent
Poinsot

Cryptographie Soit n > 0 un entier.


à clef secrète

Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

25 / 30
Cryptographie
à clef
publique

Laurent
Poinsot

Cryptographie Soit n > 0 un entier. Pour un entier x premier avec n, on sait


à clef secrète

Arithmétique
que x mod n est inversible.
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

25 / 30
Cryptographie
à clef
publique

Laurent
Poinsot

Cryptographie Soit n > 0 un entier. Pour un entier x premier avec n, on sait


à clef secrète

Arithmétique
que x mod n est inversible. Seulement on ne sait pas calculer
modulaire l’inverse (x mod n)−1 de celui-ci.
RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

25 / 30
Cryptographie
à clef
publique

Laurent
Poinsot

Cryptographie Soit n > 0 un entier. Pour un entier x premier avec n, on sait


à clef secrète

Arithmétique
que x mod n est inversible. Seulement on ne sait pas calculer
modulaire l’inverse (x mod n)−1 de celui-ci. Bien entendu, on peut
RSA toujours chercher de manière exhaustive parmi les entiers
Propriété de
déchiffre-
y ∈ Zn premiers avec n celui pour lequel (x mod n)y = 1
ment
(dans Zn ). Mais ce n’est pas très efficace quand n est grand.
Algorithme
d’Euclide
étendu

25 / 30
Cryptographie
à clef
publique

Laurent
Poinsot

Cryptographie Soit n > 0 un entier. Pour un entier x premier avec n, on sait


à clef secrète

Arithmétique
que x mod n est inversible. Seulement on ne sait pas calculer
modulaire l’inverse (x mod n)−1 de celui-ci. Bien entendu, on peut
RSA toujours chercher de manière exhaustive parmi les entiers
Propriété de
déchiffre-
y ∈ Zn premiers avec n celui pour lequel (x mod n)y = 1
ment
(dans Zn ). Mais ce n’est pas très efficace quand n est grand.
Algorithme
d’Euclide
étendu Pour le faire efficacement il faut employer l’algorithme d’Euclide
étendu.

25 / 30
Cryptographie
à clef
publique Un exemple : 28−1 mod 75
Laurent
Poinsot
1ère étape : On calcule successivement les divisions entières
Cryptographie
à clef secrète
75 = 2 × 28 + 19
Arithmétique
modulaire 28 = 1 × 19 + 9
RSA
(1)
19 = 2 × 9 + 1
Propriété de
déchiffre- 9 = 9×1+0
ment

Algorithme 2nde étape : On “remonte” pour obtenir une relation de Bezout.


d’Euclide
étendu
1 = 19 − 2 × 9
= (75 − 2 × 28) − 2 × (28 − 19)
(2)
= 75 − 2 × 28 − 2(28 − (75 − 2 × 28))
= 3 × 75−8 × 28.

3ème étape : 28−1 mod 75 = −8 ≡ 75 − 8 = 67 (mod 75).

26 / 30
Cryptographie
à clef
publique Algorithme d’Euclide étendu pour
Laurent
Poinsot le calcul de (x mod n)−1
Cryptographie Initialisations : n0 := n; x0 := x; t0 := 0; t := 1; q :=
à clef secrète
quotient de la division de n0 par x0 ; r := reste de la division de
Arithmétique
modulaire n0 par x0 ;
RSA

Propriété de Tant que r > 0 faire


déchiffre-
ment Début
Algorithme temp := t0 − q × t;
d’Euclide
étendu Si temp ≥ 0 alors temp := temp mod n,
sinon temp := n − ((−temp) mod n);
t0 := t; t := temp; n0 := x0 ; x0 := r ;
q := quotient de la division de n0 par x0 ;
r := reste de la division de n0 par x0 ;
Fin
Si x0 6= 1 alors x n’a pas d’inverse modulo n, sinon (x
mod n)−1 := t.
27 / 30
Cryptographie
à clef
publique Calculer 28−1 mod 75
Laurent
Poinsot

Cryptographie
à clef secrète

Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

28 / 30
Cryptographie
à clef
publique Calculer 28−1 mod 75
Laurent
Poinsot n0 := 75; x0 := 28; t0 := 0; t := 1; q := 2; r := 19;
Cryptographie
à clef secrète

Arithmétique
modulaire

RSA

Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

28 / 30
Cryptographie
à clef
publique Calculer 28−1 mod 75
Laurent
Poinsot n0 := 75; x0 := 28; t0 := 0; t := 1; q := 2; r := 19;
Cryptographie
à clef secrète
temp := 0 − 2 × 1 = −2 donc temp := 75 − (2
Arithmétique
modulaire mod 75) = 75 − 2 = 73; t0 := 1; t := 73; n0 := 28; x0 := 19;
RSA q := 1; r := 9;
Propriété de
déchiffre-
ment

Algorithme
d’Euclide
étendu

28 / 30
Cryptographie
à clef
publique Calculer 28−1 mod 75
Laurent
Poinsot n0 := 75; x0 := 28; t0 := 0; t := 1; q := 2; r := 19;
Cryptographie
à clef secrète
temp := 0 − 2 × 1 = −2 donc temp := 75 − (2
Arithmétique
modulaire mod 75) = 75 − 2 = 73; t0 := 1; t := 73; n0 := 28; x0 := 19;
RSA q := 1; r := 9;
Propriété de
déchiffre-
ment
temp := 1 − 1 × 73 = −72 donc temp := 75 − (72
Algorithme mod 75) = 3; t0 := 73; t := 3; n0 := 19; x0 := 9; q := 2;
d’Euclide
étendu r := 1;

28 / 30
Cryptographie
à clef
publique Calculer 28−1 mod 75
Laurent
Poinsot n0 := 75; x0 := 28; t0 := 0; t := 1; q := 2; r := 19;
Cryptographie
à clef secrète
temp := 0 − 2 × 1 = −2 donc temp := 75 − (2
Arithmétique
modulaire mod 75) = 75 − 2 = 73; t0 := 1; t := 73; n0 := 28; x0 := 19;
RSA q := 1; r := 9;
Propriété de
déchiffre-
ment
temp := 1 − 1 × 73 = −72 donc temp := 75 − (72
Algorithme mod 75) = 3; t0 := 73; t := 3; n0 := 19; x0 := 9; q := 2;
d’Euclide
étendu r := 1;

temp := 73 − 2 × 3 = 67 donc temp := 67 mod 75 = 67;


t0 := 3; t := 67; n0 := 9; x0 := 1; q := 9; r := 0.

28 / 30
Cryptographie
à clef
publique Calculer 28−1 mod 75
Laurent
Poinsot n0 := 75; x0 := 28; t0 := 0; t := 1; q := 2; r := 19;
Cryptographie
à clef secrète
temp := 0 − 2 × 1 = −2 donc temp := 75 − (2
Arithmétique
modulaire mod 75) = 75 − 2 = 73; t0 := 1; t := 73; n0 := 28; x0 := 19;
RSA q := 1; r := 9;
Propriété de
déchiffre-
ment
temp := 1 − 1 × 73 = −72 donc temp := 75 − (72
Algorithme mod 75) = 3; t0 := 73; t := 3; n0 := 19; x0 := 9; q := 2;
d’Euclide
étendu r := 1;

temp := 73 − 2 × 3 = 67 donc temp := 67 mod 75 = 67;


t0 := 3; t := 67; n0 := 9; x0 := 1; q := 9; r := 0.

Fin de la boucle, et x0 = 1 donc (28 mod 75)−1 = 67.

28 / 30
Cryptographie
à clef
publique Calculer 28−1 mod 75
Laurent
Poinsot n0 := 75; x0 := 28; t0 := 0; t := 1; q := 2; r := 19;
Cryptographie
à clef secrète
temp := 0 − 2 × 1 = −2 donc temp := 75 − (2
Arithmétique
modulaire mod 75) = 75 − 2 = 73; t0 := 1; t := 73; n0 := 28; x0 := 19;
RSA q := 1; r := 9;
Propriété de
déchiffre-
ment
temp := 1 − 1 × 73 = −72 donc temp := 75 − (72
Algorithme mod 75) = 3; t0 := 73; t := 3; n0 := 19; x0 := 9; q := 2;
d’Euclide
étendu r := 1;

temp := 73 − 2 × 3 = 67 donc temp := 67 mod 75 = 67;


t0 := 3; t := 67; n0 := 9; x0 := 1; q := 9; r := 0.

Fin de la boucle, et x0 = 1 donc (28 mod 75)−1 = 67.

(Vérification : 28 × 67 = 1876 = 1 + 1875 = 1 + 75 × 25.)


28 / 30
Cryptographie
à clef
publique Exercice
Laurent
Poinsot

Cryptographie
à clef secrète

Arithmétique Soit n = 133.


modulaire

RSA
1 Calculer φ(n).
Propriété de 2 Soit e = 5. Montrer que e est inversible modulo φ(n).
déchiffre-
ment 3 Calculer d = e −1 mod φ(n), et vérifier que ed ≡ 1
Algorithme
d’Euclide
(mod φ(n)).
étendu
4 Soit p le plus petit facteur premier de n et q le plus grand.
Déterminer la clef publique Ke , la clef privée Kd , puis
calculer EKe (x) avec x = 6.

29 / 30
Cryptographie
à clef
publique Correction
Laurent
Poinsot

Cryptographie
à clef secrète

Arithmétique
modulaire 1 133 = 7 × 19 donc φ(133) = 6 × 18 = 108;
RSA
2 pgcd(5, 108) = 1 puisque 108 n’est pas divisible par 5;
Propriété de
déchiffre-
ment
3 L’algorithme d’Euclide étendu donne d = 65, et
Algorithme
5 × 65 = 325 = 1 + 324 = 1 + 3 × 108;
d’Euclide
étendu 4 p = 7, et donc la clef publique est Ke = (133, 5), la clef
privée est Kd = (65, 7, 19) de sorte que EKe (x) = 65
mod 133 = 62.

30 / 30

Vous aimerez peut-être aussi