Démonstration RSA

Génération du bi-clé
  1. Choix de deux premiers : p = 827 & q = 829 => pgcd(827,829) = 1
  2. Calcul du module : n = p x q = 827 x 829 = 685583
  3. Indicatrice d'Euler : φ(n) = (p - 1) x (q - 1) = 683928
  4. Exposant chiffrement : e = 5 => pgcd(e,φ(n)) = 1
  5. Exposant déchiffrement : d x e = 1 mod φ(n) & d < φ(n)
    410357 x 5 = 2051784 + 1 => d = 410357
  6. Clé publique : KPub = { 000005, 685583 }
  7. Clé privée : KPrv = { 410357, 685583 }
Exemple d'utilisation
  1. Algorithme : Enc = Dec5 mod 685583 <=> Dec = Enc410357 mod 685583
  2. Message secret : texte clair = Cédric CLEMENT (taille = 19 octets en UTF-8)
  3. Représentation : hexadécimale = 43:26:23:32:33:33:3b:64:72:69:63:20:43:4c:45:4d:45:4e:54
  4. Chiffrement : cryptogramme = 33cd4:5ffa3:65f1f:88a77:2b36a:2b36a:857fd:1515a:38d94:9c1:2ba12:9dd30:33cd4:3a752:34dce:19049:34dce:2d023:f694
  5. Déchiffrement : texte clair = Cédric CLEMENT
Cassage par force brute
  1. Méthode #1 via racine : p < √n & n mod p = 0
  2. Méthode #2 via Fermat : x² - y² = (x + y)(x - y)
  3. Factorisation module 1 : p = 829 & q = 827
  4. Factorisation module 2 : p = 829 & q = 827
  5. Obtention clé publique : KPub = { 000005, 685583 }
  6. Déduction clé privée 1 : KPrv = { 410357, 685583 }
  7. Déduction clé privée 2 : KPrv = { 410357, 685583 }
  8. Temps crackage racine : 0.000016 secondes
  9. Temps crackage Fermat : 0.000012 secondes
Article Wikipedia