La cryptographie asymétrique, également appelée cryptographie à clé publique, est un système cryptographique qui utilise une paire de clés mathématiquement liées : une clé publique et une clé privée. Ce système révolutionnaire résout le problème majeur de la distribution des clés qui affectait la cryptographie symétrique traditionnelle.
Les deux clés complémentaires
Clé publique
La clé publique peut être distribuée librement à tous. Elle sert à :
- Chiffrer des messages destinés au propriétaire de la clé privée
- Vérifier les signatures numériques créées avec la clé privée
Analogie : C’est comme une adresse postale ou un cadenas ouvert que tout le monde peut utiliser.
Clé privée
La clé privée doit rester secrète et n’appartient qu’à son propriétaire. Elle permet de :
- Déchiffrer les messages chiffrés avec la clé publique correspondante
- Signer numériquement des documents pour prouver leur authenticité
Analogie : C’est comme une clé physique unique qui ouvre uniquement votre cadenas.
Schéma de fonctionnement
Comment ça fonctionne ?
Chiffrement d’un message
Scénario : Alice veut envoyer un message confidentiel à Bob.
- Alice récupère la clé publique de Bob (disponible librement)
- Alice chiffre son message avec cette clé publique
- Alice envoie le message chiffré à Bob (même sur un canal non sécurisé)
- Bob déchiffre le message avec sa clé privée (qu’il est le seul à posséder)
Résultat : Personne d’autre que Bob ne peut lire le message, même si quelqu’un l’intercepte.
Signature numérique
Scénario : Bob veut prouver qu’un document vient bien de lui.
- Bob crée un condensat (hash) du document
- Bob chiffre ce condensat avec sa clé privée = signature
- Bob envoie le document + la signature
- Alice déchiffre la signature avec la clé publique de Bob
- Alice compare le condensat obtenu avec celui qu’elle calcule du document
Résultat : Si les condensats correspondent, le document est authentique et n’a pas été modifié.
Avantages du système
- Pas de secret partagé : Plus besoin d’échanger une clé secrète au préalable
- Authentification : Les signatures numériques prouvent l’identité de l’expéditeur
- Non-répudiation : Impossible de nier avoir signé un document
- Scalabilité : Un utilisateur peut communiquer avec des milliers de personnes avec une seule paire de clés
Algorithmes courants
RSA
Inventé : 1977 (Rivest, Shamir, Adleman)
Principe : Factorisation de grands nombres premiers
Taille clés : 2048, 3072, 4096 bits
Usage : Très répandu, SSL/TLS, signatures
ECC (Courbes elliptiques)
Inventé : 1985
Principe : Mathématiques des courbes elliptiques
Taille clés : 256, 384, 521 bits
Usage : Bitcoin, smartphones, IoT
DSA / ECDSA
Inventé : 1991
Principe : Logarithme discret
Taille clés : 2048-3072 bits (DSA)
Usage : Signatures numériques
Applications pratiques
HTTPS / SSL/TLS
Sécurisation des connexions web. Votre navigateur vérifie l’identité du serveur avec sa clé publique.
Email chiffré
PGP/GPG pour chiffrer et signer les emails. Chaque utilisateur a sa paire de clés.
SSH
Connexion sécurisée aux serveurs. L’authentification se fait avec des clés plutôt qu’un mot de passe.
Cryptomonnaies
Bitcoin, Ethereum utilisent des paires de clés pour sécuriser les portefeuilles et signer les transactions.
Messageries
Signal, WhatsApp utilisent la cryptographie asymétrique dans leurs protocoles de chiffrement de bout en bout.
Signatures électroniques
Documents légaux, contrats, déclarations fiscales peuvent être signés numériquement.
Points importants
Protection de la clé privée
La sécurité de tout le système repose sur le secret de la clé privée. Si elle est compromise :
- Un attaquant peut déchiffrer tous les messages destinés au propriétaire
- Il peut usurper l’identité du propriétaire en signant des documents
- Il faut révoquer immédiatement la clé et en générer une nouvelle paire
Taille des clés
Plus la clé est longue, plus elle est sécurisée, mais plus les opérations sont lentes. Les recommandations actuelles :
- RSA : minimum 2048 bits, recommandé 3072-4096 bits
- ECC : 256 bits offrent une sécurité équivalente à RSA 3072 bits
Performance
La cryptographie asymétrique est beaucoup plus lente que la cryptographie symétrique. C’est pourquoi dans la pratique :
- On utilise l’asymétrique pour échanger une clé symétrique
- On utilise ensuite cette clé symétrique pour chiffrer les données (beaucoup plus rapide)
- C’est exactement ce que fait HTTPS
Conclusion
La cryptographie à clés publique/privée a révolutionné la sécurité informatique en permettant des communications sécurisées sans échange préalable de secret. C’est la pierre angulaire d’Internet sécurisé, du commerce électronique, et de nombreuses applications modernes. Bien que mathématiquement complexe, son principe est élégant : ce qui est chiffré avec une clé ne peut être déchiffré qu’avec l’autre clé de la paire.