Cryptographie à clés publique et privée

crypto

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

Alice Clé privée d’Alice (secrète) Bob Clé privée de Bob (secrète) Clé publique de Bob Clé publique d’Alice 1. Chiffrement Alice utilise la clé publique de Bob 2. Déchiffrement Bob utilise sa clé privée Communication sécurisée sans échange préalable de secret

Comment ça fonctionne ?

Chiffrement d’un message

Scénario : Alice veut envoyer un message confidentiel à Bob.

  1. Alice récupère la clé publique de Bob (disponible librement)
  2. Alice chiffre son message avec cette clé publique
  3. Alice envoie le message chiffré à Bob (même sur un canal non sécurisé)
  4. 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.

  1. Bob crée un condensat (hash) du document
  2. Bob chiffre ce condensat avec sa clé privée = signature
  3. Bob envoie le document + la signature
  4. Alice déchiffre la signature avec la clé publique de Bob
  5. 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.