On Github Floatshow / cryptoparty-rsa-slides
Présentation par Théo Piboubès / @TheoPib
RSA est un algorithme de cryptographie asymétrique, aussi dit à clé publique.Il repose sur l'utilisation d'une clé publique, et d'une clé privée.
Pour crypter : utilisation de la clé publique (diffusée)
Pour décrypter : utilisation de la clé privée (gardée secrète).
Clé publique, contrairement aux algorithmes symétriques, dits à clé privée/secrèteÉtape 1 : choisir deux nombres premiers distincts p et q
p=31, q=73
Étape 2 : calculer leur produit n=p×q
n=31×73=2263
Étape 3 : calculer ϕ(n)=(p−1)×(q−1)
ϕ(n)=(31−1)×(73−1)=2160
Étape 4 : choisir un entier e premier avec ϕ(n)
e=29
Étape 5 : calculer l'entier d≡e−1[ϕ(n)]
d=149
On va crypter cette phrase :
« Cryptoparty IUT Blagnac »
Comme RSA ne fonctionne qu'avec des nombres, on "pré-encode" le message avec la table ASCII.
Caractère C r y p t o p a r t y I U T B l a g n a c ASCII 0067 0114 0121 0112 0116 0111 0112 0097 0114 0116 0121 0032 0073 0085 0084 0032 0066 0108 0097 0103 0110 0097 0099On applique ensuite la fonction de cryptage : C≡Me[n]
Message crypté :
07071677205604830678029804831682167706782056102407300895039610241589043216821950202616820336
Pour décrypter, on applique la fonction de décryptage, c'est-à-dire la fonction inverse de la fonction de cryptage :
D≡Cd[n]≡(Me)d[n]≡M[n]
Message décrypté :
Cryptoparty IUT Blagnac