RSA vs courbes elliptiques vs cryptographie post-quantique : clés, vitesse, résistance quantique
Tous trois relèvent de la cryptographie à clé publique, utilisée pour partager des clés (échange ou encapsulation de clés) et pour les signatures numériques. RSA repose sur la difficulté de factoriser de grands nombres, et la cryptographie sur courbes elliptiques sur la difficulté du problème du logarithme discret sur les courbes elliptiques ; à sécurité égale, la cryptographie sur courbes elliptiques nécessite des clés bien plus courtes que RSA. Les deux seraient cependant cassées par l’algorithme de Shor dès qu’existerait un grand ordinateur quantique tolérant aux fautes. La cryptographie post-quantique repose sur des problèmes, comme les problèmes de réseaux euclidiens, que l’on pense difficiles même pour les ordinateurs quantiques ; en août 2024, le NIST américain a publié des normes, dont le mécanisme d’encapsulation de clés ML-KEM (FIPS 203) et le schéma de signature ML-DSA (FIPS 204). Leur principal inconvénient est la grande taille des clés et des signatures.
| Critère | RSA | Cryptographie sur courbes elliptiques | Cryptographie post-quantique (ML-KEM, ML-DSA) |
|---|---|---|---|
| Problème difficile sous-jacent | La factorisation de grands nombres | Le problème du logarithme discret sur les courbes elliptiques | Pour ML-KEM et ML-DSA, des problèmes de réseaux euclidiens (comme Module-LWE : retrouver un secret à partir d’équations linéaires auxquelles on a ajouté de petites erreurs) ; il existe aussi SLH-DSA (FIPS 205), un schéma de signature fondé uniquement sur des fonctions de hachage |
| Taille de clé (repère) | Dans le tableau de la NIST SP 800-57, le repère pour une sécurité de 128 bits est un n de 3072 bits (384 octets) ; 2048 bits correspondent à une sécurité de 112 bits | Dans le même tableau, le repère pour une sécurité de 128 bits est de 256 bits ; dans l’échange de clés X25519, la valeur publique envoyée fait 32 octets | Une clé publique (clé d’encapsulation) ML-KEM-768 fait 1 184 octets, bien plus que les 32 octets de X25519 |
| Taille des chiffrés et des signatures | Les chiffrés comme les signatures ont la longueur de n (384 octets pour 3072 bits) | Une signature ECDSA (P-256) se compose de deux valeurs de 256 bits, r et s, soit 64 octets (un peu plus selon l’encodage) | Un chiffré ML-KEM-768 fait 1 088 octets et une signature ML-DSA-65 fait 3 309 octets |
| Vitesse | Comme l’exposant public peut être petit (comme 65537), le chiffrement et la vérification de signature sont rapides ; le déchiffrement, la signature et la génération de clés sont lourds | La génération de clés et la signature sont bien plus rapides qu’avec RSA à sécurité égale ; la vérification de signature est souvent plus lente qu’avec RSA | Les calculs de ML-KEM sont légers et réputés pas plus lents qu’un échange de clés sur courbes elliptiques ; la taille des données envoyées pose généralement plus de problèmes que le calcul |
| Résistance quantique | Aucune : l’algorithme de Shor le casse sur un grand ordinateur quantique tolérant aux fautes | Aucune : l’algorithme de Shor résout aussi le problème du logarithme discret, elle est donc cassée comme RSA | Réputée difficile à résoudre efficacement même avec des ordinateurs quantiques (cela n’est pas démontré) |
| Normalisation | Inventé en 1977 ; en pratique utilisé avec un bourrage aléatoire comme OAEP pour le chiffrement et PSS pour les signatures | Des courbes comme P-256, ainsi que X25519 et Ed25519 fondées sur Curve25519, sont largement utilisées | Publiées par le NIST en août 2024 sous les noms FIPS 203 (ML-KEM), FIPS 204 (ML-DSA) et FIPS 205 (SLH-DSA) |
| Usages typiques actuels | Au milieu des années 2020, surtout les certificats et la signature de logiciels ; TLS 1.3 a supprimé l’échange de clés consistant à envoyer le matériel de clé chiffré avec RSA | Au milieu des années 2020, pilier de l’échange de clés TLS (ECDHE) ; aussi les signatures ECDSA et EdDSA, et les appareils aux ressources limitées comme les cartes à puce et les systèmes embarqués | Depuis 2025, l’échange de clés hybride combiné à X25519 (comme X25519MLKEM768) commence à être utilisé dans TLS 1.3 ; la migration des signatures suit celle de l’échange de clés |
| Migration | Une cible de la migration vers la cryptographie post-quantique ; le remplacement des signatures, comme dans les certificats et la signature de code, est le principal défi | Une cible de la migration ; pendant la transition, elle sert de moitié de l’échange de clés hybride avec ML-KEM et assure la sécurité face aux ordinateurs classiques | Pour l’instant, la migration progresse par étapes avec des schémas hybrides qui la combinent à la cryptographie classique ; on privilégie les conceptions qui facilitent le remplacement ultérieur des algorithmes (agilité cryptographique) |
| Précautions d’implémentation | Ne jamais utiliser le RSA « de manuel » sans bourrage ; la génération de clés exige un aléa de bonne qualité | Réutiliser ou biaiser la valeur aléatoire propre à chaque signature (nonce) permet de retrouver la clé privée ; il faut aussi vérifier que les points reçus se trouvent sur la bonne courbe | La grande taille des clés et des signatures impose de vérifier l’impact sur la taille des paquets et sur les appareils à mémoire limitée ; attention aux bogues des nouvelles implémentations et aux attaques par canal auxiliaire |
Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.