A041 · RSA · XOR
Laboratoire de cryptographie
Quatre façons de transformer un message : substitution, transposition, XOR et clé publique RSA.
Lire l’article complet →Expériences pédagogiques, pas outils de sécurité : les clés sont minuscules ou répétées ; ne les utilisez pas pour des données confidentielles.
1. Substitution
Décalez chaque lettre latine d’un nombre fixe de positions ; espaces et signes restent inchangés.
Résultat
Étapes
2. Transposition avec clé
Écrivez les lettres en lignes sous la clé, puis lisez les colonnes dans l’ordre alphabétique de la clé ; les lettres identiques conservent leur ordre initial.
Résultat
Étapes
Cette expérience utilise A–Z : espaces, accents et ponctuation sont supprimés et ne peuvent pas être restaurés au déchiffrement.
3. XOR symétrique
Chaque octet UTF-8 est combiné au même octet de clé par XOR. Le résultat est affiché en hexadécimal.
Résultat
Étapes
Répéter un seul octet de clé est peu sûr : cet exemple montre uniquement la réversibilité de XOR.
4. RSA : Alice et Bob
Bob crée une paire de clés. Alice chiffre avec la clé publique de Bob ; Bob déchiffre avec sa clé privée.
Comment Bob construit les clés
- Bob choisit p = 61 et q = 53 ; n = p × q = 3233.
- Il calcule φ(n) = (61 − 1) × (53 − 1) = 3120.
- Il choisit e = 17, premier avec 3120. La clé publique est (n = 3233, e = 17).
- Il trouve d = 2753 car 17 × 2753 = 46801 = 15 × 3120 + 1. La clé privée est d = 2753.
Clé publique de Bob: (3233, 17)
Clé privée de Bob (affichée ici uniquement pour apprendre): 2753
Pour la lettre A : UTF-8 = 65 ; Alice calcule 65^17 mod 3233 = 2790 ; Bob calcule 2790^2753 mod 3233 = 65 et retrouve A.
Résultat
Étapes
Les nombres premiers 61 et 53 sont volontairement minuscules. Chaque octet est chiffré séparément, sans bourrage : ce « RSA au tableau » est peu sûr. En pratique, il faut des bibliothèques éprouvées et RSA-OAEP.