Beruflich Dokumente
Kultur Dokumente
à clef
publique
Laurent
Poinsot
Cryptographie
à clef secrète
Arithmétique
Cryptographie à clef publique
modulaire
RSA
Propriété de
déchiffre-
Laurent Poinsot
ment
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
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
Arithmétique
modulaire
RSA
Propriété de
déchiffre-
ment
Algorithme
d’Euclide
étendu
4 / 30
Cryptographie
à clef
publique
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
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
4 / 30
Cryptographie
à clef
publique
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
4 / 30
Cryptographie
à clef
publique
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
4 / 30
Cryptographie
à clef
publique
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
4 / 30
Cryptographie
à clef
publique Protocole
Laurent
Poinsot
RSA
Propriété de
déchiffre-
ment
Algorithme
d’Euclide
étendu
5 / 30
Cryptographie
à clef
publique Protocole
Laurent
Poinsot
Algorithme
d’Euclide
étendu
5 / 30
Cryptographie
à clef
publique Protocole
Laurent
Poinsot
5 / 30
Cryptographie
à clef
publique Protocole
Laurent
Poinsot
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
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 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
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.
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
Arithmétique
modulaire
Algorithme
d’Euclide
étendu
8 / 30
Cryptographie
à clef
publique Division entière (ou euclidienne)
Laurent
Poinsot
Cryptographie
à clef secrète
Arithmétique
modulaire
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
9 / 30
Cryptographie
à clef
publique Congruence
Laurent
Poinsot
Cryptographie
à clef secrète
Arithmétique
Soient a, b, n des entiers naturels, n > 0.
modulaire
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
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
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
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
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
Algorithme On a :
d’Euclide
étendu a≡b (mod n) ⇔ r1 = r2 .
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.
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.
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
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
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
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
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
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
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
24 / 30
Cryptographie
à clef
publique
Laurent
Poinsot
Arithmétique
modulaire
RSA
Propriété de
déchiffre-
ment
Algorithme
d’Euclide
étendu
25 / 30
Cryptographie
à clef
publique
Laurent
Poinsot
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
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
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
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
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
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;
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;
Cryptographie
à clef secrète
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