Comparaison ECDSA vs RSA

Introduction

Dernièrement, il y a eu de nombreuses discussions sur les avantages et les inconvénients RSA
et ECDSA[02], dans la communauté crypto. Pour les non-initiés, ils sont deux des
les algorithmes de signature numérique les plus utilisés, mais même pour les plus
avisé, il peut être assez difficile de suivre les faits. Cet article est un
tentative de comparaison simplifiée des deux algorithmes. Bien que ce ne soit pas
un essai profondément technique, le lecteur plus impatient peut vérifier la fin de la
article pour un rapide tableau TL; DR avec le résumé de la discussion.

Besoin d'un certificat? SSL.com vous a couvert. Comparez les options ici pour trouver le bon choix pour vous, de S/MIME et des certificats de signature de code et plus encore.

COMMANDER MAINTENANT

ECDSA contre RSA

ECDSA et RSA sont des algorithmes utilisés par cryptographie à clé publique[03] systèmes,
pour fournir un mécanisme pour authentification. La cryptographie à clé publique est le
science de la conception de systèmes cryptographiques qui utilisent des paires de clés: un public
key
(d’où le nom) qui peut être distribué librement à n’importe qui, accompagné d’un
correspondant Clé privée, qui n'est connu que de son propriétaire. Authentification
fait référence au processus de vérification qu'un message, signé avec une clé privée, était
créé par le titulaire d'une clé privée spécifique. Algorithmes utilisés pour
l'authentification sont collectivement appelés algorithmes de signature numérique [04].

De tels algorithmes reposent sur des problèmes mathématiques complexes qui sont relativement simples
pour calculer une façon, bien qu'il soit très difficile de l'inverser. Cela signifie que pour
un attaquant pour falsifier une signature numérique, sans aucune connaissance du secteur privé
clé, ils doivent résoudre des problèmes mathématiques insolubles, tels que l'entier
factorisation, pour laquelle il n'existe pas de solutions efficaces connues [05].

Pour cette raison, étant donné qu’il n’existe pas de solutions efficaces pour
problèmes mathématiques sous-jacents, l’évaluation des algorithmes cryptographiques peut
se produire uniquement en ce qui concerne leurs détails de mise en œuvre en conjonction avec le
niveau de sécurité qu'ils procurent. À cet effet, cette section présente un
comparaison de RSA et ECDSA en utilisant cinq (ou six) mesures de quantification. Chaque métrique
est présenté dans sa propre section, ainsi que son importance pour toute personne qui est
essayer de décider entre les deux algorithmes.

Adoption

RSA est la norme de l'industrie pour la cryptographie à clé publique depuis de nombreuses années
maintenant. La plupart des SSL /TLS les certificats étaient (et sont toujours) signés avec des clés RSA.
Bien que la plupart des autorités de certification aient, à ce jour, mis en œuvre la prise en charge des ECDSA
certificats, cette adoption de longue date a conduit à de nombreux systèmes hérités seulement
supportant RSA. Par conséquent, si un fournisseur exige une rétrocompatibilité avec les anciens
logiciel client, ils sont obligés d'utiliser des certificats signés avec RSA. Aujourd'hui,
cependant, la plupart des clients modernes ont mis en place un support pour ECDSA, qui
supprimera probablement cette contrainte de compatibilité dans un avenir proche.

Maturité standard

RSA a d'abord été normalisé pour SSL /TLS en 1994 [06], tandis que l'ECDSA a été introduite
dans la spécification de TLS v1.2 en 2008 [07]. Cette différence d'âge indique un
disparité dans la maturité des normes qui décrivent les meilleures pratiques
chaque algorithme. Bien que les normes RSA aient été largement étudiées et
audité, l'ECDSA n'a pas vu autant d'attention. Récemment, le plaidoyer
algorithme par les principales autorités de certification et son adoption dans la plupart des SSL /TLS clients a
a entraîné la publication de recherches plus approfondies, mais il reste
régime relativement nouveau. Cela laisse place à des défauts de conception non découverts ou
des implémentations erronées seront divulguées à l'avenir.

Rapport taille de clé / niveau de sécurité

Niveau de sécurité [08] est une métrique en cryptographie, se référant à la force
d'une primitive ou d'une fonction cryptographique. Il est généralement mesuré en «bits» qui
indique le nombre d'opérations qu'un attaquant doit effectuer pour compromettre son
Sécurité. Cette métrique peut fournir une méthode de quantification pour comparer l'efficacité
de divers cryptosystèmes. Il convient de souligner que la taille de la clé publique est également
mesuré en bits, mais c'est un concept entièrement différent, se référant à la
taille physique de la clé.

À cet égard, une clé publique RSA 2048 bits commune offre un niveau de sécurité de
112 bits. Cependant, ECDSA ne nécessite que des clés publiques de 224 bits pour fournir
même niveau de sécurité 112 bits. Cette différence frappante de taille de clé a deux
implications importantes. Des tailles de clé plus petites nécessitent moins de bande passante pour configurer un
SSL /TLS flux, ce qui signifie que les certificats ECDSA sont idéaux pour les mobiles
applications. De plus, ces certificats peuvent être stockés dans des appareils
des contraintes de mémoire plus limitantes, ce qui permet m /TLS piles à être
implémenté dans les appareils IoT sans allouer de nombreuses ressources. Publié
recherche, montre même que l'ECDSA est plus efficace [09] à mettre en œuvre dans
dispositifs.

Performances et complexité temporelle

Les algorithmes sont des recettes abstraites décrivant une méthode pour atteindre un certain objectif.
En informatique, leur performance est mesurée en comptant le nombre de
opérations élémentaires nécessaires pour atteindre cette fin prédéterminée
état. Cette métrique est appelée complexité temporelle. Depuis l'entrée différente
les tailles nécessitent un nombre d'opérations différent, la complexité du temps est généralement
exprimée en fonction de la taille d'entrée.

Les deux algorithmes en question, exécutent à peu près le même temps
opérations mathématiques, telles que les divisions et les multiplications. Ainsi, la taille d'entrée
(qui dans ce cas est la taille de leurs clés) reste le plus important
facteur affectant leurs performances. La comparaison des deux algorithmes doit être
entre la signature d'un message et la vérification d'une signature. Dans la plupart
implémentations pratiques, RSA semble être beaucoup plus rapide que ECDSA dans
vérifier les signatures, bien qu'il soit plus lent lors de la signature.

Les choses se compliquent pour des niveaux de sécurité plus élevés. Par exemple, dans la plupart des
configuration commune d'un niveau de sécurité de 112 bits, RSA nécessite 2048 bits
contre ECDSA nécessitant des clés de 224 bits. Dans le prochain niveau commun de 128 bits, RSA
nécessite une clé de 3072 bits, tandis que ECDSA seulement 256 bits. Cela se traduit par des RSA
baisse spectaculaire des performances, alors que l'ECDSA n'est que légèrement affecté. Comme
une conséquence de ce problème de mise à l'échelle, bien que RSA semble plus performant au niveau
moment, l'augmentation continue des exigences de sécurité pourrait très bien rendre
ECDSA la solution de facto à l'avenir.

Résistance post-quantique

l'algorithme de Shor [10] est un algorithme bien connu pour casser les clés RSA en utilisant
ordinateurs quantiques. Puisqu'il n'y a pas de mise en œuvre pratique (publique) d'un
une telle machine, ce qui suit est une conjecture sur l'avenir de la clé publique
cryptographie. Au moment d'écrire ces lignes, la meilleure implémentation de Shor
algorithme peut vaincre un cryptage RSA à clé 15 bits. Bien que cela ne semble pas
concernant, comme de plus en plus de recherches sont orientées vers l'informatique quantique, RSA
pourrait avoir de graves problèmes à tout moment.

Les défenseurs de l'ECDSA ne devraient pas être rapides à célébrer, car elliptiques
cryptographie courbe est également vulnérable [11] à une version modifiée de Shor
algorithme. Par conséquent, si les deux chiffres peuvent être brisés par un ordinateur quantique,
la seule métrique objective est la complexité requise pour mettre en œuvre une telle
attaque. Selon des recherches publiques, les clés RSA 2048 bits nécessitent 4098 qubits
(et 5.2 256 milliards de portes Tofolli) à vaincre, alors que les clés ECDSA XNUMX bits
ne nécessitent que 2330 qubits (et 126 milliards de portes Tofolli). Par conséquent, RSA est plus
cher à casser, en utilisant une machine quantique théorique.

Conclusion

Bien que cette comparaison ne soit nullement exhaustive, il apparaît que
RSA a légitimement gagné sa position de leader de la signature numérique
algorithme pour la plupart des applications de certificat. Cependant, comme la technologie est toujours
progresser de manière plus imprévisible, la sensibilisation à la sécurité et les besoins sont également
en augmentant. Il y a un peu plus de dix ans, la sécurité des appareils embarqués était
la fiction et les communications sécurisées de nos jours sont un incontournable pour tout monde réel
application. En conséquence, même si l'ECDSA est relativement jeune,
devinez s'il remplacera RSA comme norme d'authentification dans SSL /TLS
mises en œuvre.

Si vous, le lecteur, ne pouvez toujours pas décider quel algorithme choisir, il y a
des solutions pour soutenir à la fois ECDSA et RSA (en tant que mécanisme de secours),
la communauté crypto choisit un gagnant. Consultez cette section de l'article pour un avenir
Guide d'instruction.

Table TL; DR

métrique RSA ECDSA
Adoption ?  
Maturité ?  
Taille clé   ?
Performance ?  
écaillage   ?
Résistance P / Q ?  

Bibliographie

Abonnez-vous à la newsletter SSL.com

Ne manquez pas les nouveaux articles et mises à jour de SSL.com

Restez informé et en sécurité

SSL.com est un leader mondial de la cybersécurité, PKI et les certificats numériques. Inscrivez-vous pour recevoir les dernières nouvelles de l'industrie, des conseils et des annonces de produits de SSL.com.

Nous aimerions recevoir vos commentaires

Répondez à notre enquête et faites-nous part de votre avis sur votre récent achat.