Chiffrage et déchiffrage RSA, Tchat en ligne gratuit à but non lucratif
Développeur : Frédéric Boissac © 2022 Copyright
Pour tchater il te faut :
Développeur : Frédéric Boissac © 2022 Copyright
Ronald Rivest, Adi Shamir et Leonard Adleman ont inventé le chiffrement RSA en 1978.
Le chiffrement RSA est asymétrique : il utilise une clé publique (exposant , module) pour chiffrer et une clé privée (exposant de déchiffrement) pour déchiffrer des données confidentielles.
Le choix de 2 nombres premiers p et q distincts et d'un exposant de chiffrement détermine ta clé publique.
On calcule d'abord le module n = p.q.
Puis on calcule φ(n) = (p - 1)(q - 1) (c'est la valeur de l'indicatrice d'Euler en n).
On choisit un entier naturel e premier avec φ(n) et strictement inférieur à φ(n), appelé exposant de chiffrement.
La clé est composée du module et de l'exposant de chiffrement e. Tout le monde y a accès. Elle permet de chiffrer les messages que l'on veut t'envoyer.
Clé publique = ( module , exposant de chiffrement)
La clé privée (exposant de dechiffrement) que toi seul connait, te permet de décoder les messages que tu reçois.
Cet exposant de déchiffrement d peut se calculer par l'algorithme d'Euclide étendu, il correspond à l'inverse de e modulo φ(n) : ed ≡ 1 (φ(n))
Clé privée = (exposant de déchiffrement)
Si le message M est un nombre entier, son chiffrage C est obtenue par la relation C = Me mod n
Le déchiffrage du message C s'obtient de même en remplaçant l'exposant de chiffrement e par celui de dechiffrement d: M = Cd mod n
Exemple : Adam veut envoyer le nombre de pommes 4 de son pommier à Eve.
Il choisit les paramètres ci-dessous pour générer ses clés
Adam envoie un message privé M à Eve .
Chiffrement de M = 4 par Adam avec la clé publique d'Eve :
C = Me mod n = 43 mod 33 = 31
Le Déchiffrement de C = 31 par Eve avec sa clé privée
M = Cd mod n = 317 mod 33 = 4
Si un être mal attentionné veut décoder le message d'Eve il lui suffit de trouver quels sont les 2 nombres premiers dont le produit donne son module publique n = 33. Trop facile pour n'importe qui de trouver 3 et 11. La clé de déchiffrement en découle et il pirate le message.
La sécurité de RSA repose sur la difficulté à décomposer ce module en ses facteurs premiers. Plus les nombres premiers sont grands plus c'est difficile à pirater.
Les clés RSA font généralement 1024 ou 2048 bits, mais avec les ordinateurs de plus en plus puissants et peut être bientôt l'ordinateur quantique, certains pensent que les clés de 1024 bits pourraient être très prochainement déchiffrées.
Sur Dariush Tchat amuse toi à pirater les messages de BobLaGrenouille, BobLeCrapaud puis, si tu y arrives, essaie de pirater les messages reçus par ProfBoissac dont la clé privée fait 2400 bits
On chiffre d'abord chaque lettre du message en la remplaçant par son code Unicode.
Le code Unicode de chaque lettre ne doit pas dépasser 255.
On ajoute 256 pour que le code de chaque lettre contienne toujours exactement 3 chiffres.
Pour compliquer le travail d'un éventuel pirate, on regroupe tous les chiffres par blocs de longueur fixe différent de 3. ( Si on laissait 3 on se retrouverait avec un banal chiffrage de substitution )
Chacun de ces blocs est alors codé en RSA.
Tu peux utilisergratuitement Dariush Tachat pour échanger des messages chiffrés avec tes amis si tu t'engages sur l'honneur :