Comparando ECDSA vs RSA

Introducción

Últimamente, ha habido numerosas discusiones sobre los pros y los contras de RSA[ 01 ]
y ECDSA[02], en la comunidad criptográfica. Para los no iniciados, son dos de
los algoritmos de firma digital más utilizados, pero incluso para los más tecnológicos
inteligente, puede ser bastante difícil mantenerse al día con los hechos. Este artículo es un
Intente una comparación simplificada de los dos algoritmos. Aunque esto no es
un ensayo profundamente técnico, el lector más impaciente puede verificar el final del
artículo para una tabla rápida de TL; DR con el resumen de la discusión.

¿Necesitas un certificado? SSL.com lo tiene cubierto. Compara opciones aquí para encontrar la mejor opción para usted, desde S/MIME y certificados de firma de código y más.

HAZ TU PEDIDO

ECDSA frente a RSA

ECDSA y RSA son algoritmos utilizados por criptografía de clave pública[03] sistemas,
para proporcionar un mecanismo para autenticación. La criptografía de clave pública es la
ciencia del diseño de sistemas criptográficos que emplean pares de claves: a público
clave
(de ahí el nombre) que se puede distribuir libremente a cualquier persona, junto con un
correspondiente llave privada, que solo conoce su propietario. Autenticación
se refiere al proceso de verificar que un mensaje, firmado con una clave privada, fue
creado por el titular de una clave privada específica. Algoritmos utilizados para
la autenticación se conoce colectivamente como algoritmos de firma digital [04].

Dichos algoritmos se basan en problemas matemáticos complejos que son relativamente simples.
calcular de una manera, aunque no es práctico revertirlo. Esto significa que para
un atacante para falsificar una firma digital, sin ningún conocimiento de lo privado
clave, deben resolver problemas matemáticos intratables, como el entero
factorización, para la cual no se conocen soluciones eficientes [05].

En esa cuenta, ya que no hay soluciones eficientes disponibles para
problemas matemáticos subyacentes, la evaluación de algoritmos criptográficos puede
solo se produce con respecto a sus detalles de implementación junto con el
nivel de seguridad que brindan. Para este propósito, esta sección presenta un
comparación de RSA y ECDSA utilizando cinco (o seis) métricas de cuantificación. Cada métrica
se presenta en su propia sección, junto con su importancia para cualquiera que sea
tratando de decidir entre los dos algoritmos.

Adopción

RSA ha sido el estándar de la industria para la criptografía de clave pública durante muchos años
ahora. La mayoría de SSL /TLS Los certificados se firmaron (y todavía se están firmando) con claves RSA.
Aunque la mayoría de las AC ya han implementado soporte para ECDSA
certificados, esta adopción de larga duración ha llevado a muchos sistemas heredados solamente
apoyando a RSA. Por lo tanto, si un proveedor requiere compatibilidad con versiones anteriores
software cliente, se ven obligados a usar certificados firmados con RSA. Hoy en día,
sin embargo, la mayoría de los clientes modernos han implementado soporte para ECDSA, que
probablemente elimine esta restricción de compatibilidad en el futuro cercano.

Vencimiento estándar

RSA se estandarizó por primera vez para SSL /TLS en 1994 [06], mientras se introdujo ECDSA
en la especificación de TLS v1.2 en 2008 [07]. Esta diferencia de edad indica un
disparidad en la madurez de los estándares que describen las mejores prácticas para
cada algoritmo Aunque, los estándares RSA han sido ampliamente investigados y
auditado, ECDSA no ha visto tanta atención. Recientemente, la defensa de esto
algoritmo de las principales CA y su adopción en la mayoría de SSL /TLS los clientes tiene
resultó en una investigación más extensa que se publicó, pero aún sigue siendo un
esquema relativamente nuevo. Esto deja espacio para fallas de diseño no descubiertas o
implementaciones erróneas que se revelarán en el futuro.

Relación de tamaño de clave a nivel de seguridad

Nivel de seguridad [08] es una métrica en criptografía, que se refiere a la fuerza
de una función o primitiva criptográfica. Normalmente se mide en "bits" que
denotar la cantidad de operaciones que un atacante debe realizar para comprometer su
seguridad. Esta métrica puede proporcionar un método de cuantificación para comparar la eficacia.
de varios criptosistemas. Cabe destacar que el tamaño de la clave pública también es
medido en bits, pero es un concepto completamente diferente, en referencia a la
Tamaño físico de la llave.

En este sentido, una clave pública RSA de 2048 bits común proporciona un nivel de seguridad de
112 bits Sin embargo, ECDSA requiere solo claves públicas de 224 bits para proporcionar
mismo nivel de seguridad de 112 bits. Esta notable diferencia en el tamaño de la clave tiene dos
implicaciones significativas Los tamaños de clave más pequeños requieren menos ancho de banda para configurar un
SSL /TLS stream, lo que significa que los certificados ECDSA son ideales para dispositivos móviles
aplicaciones. Además, dichos certificados se pueden almacenar en dispositivos con mucho
limitaciones de memoria más limitantes, un hecho que permite m /TLS pilas para ser
implementado en dispositivos IoT sin asignar muchos recursos. Publicado
investigación, incluso muestra que ECDSA es más eficiente [09] para implementar en embebido
dispositivos.

Rendimiento y complejidad del tiempo

Los algoritmos son recetas abstractas que describen un método para lograr un objetivo determinado.
En informática, su rendimiento se mide contando el número de
operaciones elementales que son necesarias para alcanzar este final predeterminado
condición. Tal métrica se llama complejidad de tiempo. Desde entrada diferente
los tamaños requieren un número diferente de operaciones, la complejidad del tiempo suele ser
expresado en función del tamaño de entrada.

Ambos algoritmos en cuestión, realizan aproximadamente el mismo tiempo
operaciones matemáticas, como divisiones y multiplicaciones. Por lo tanto, el tamaño de entrada
(que en este caso es el tamaño de sus claves) sigue siendo el más significativo
factor que afecta su desempeño. Comparando los dos algoritmos, debe ser
distinguido entre firmar un mensaje y verificar una firma. En la mayoría
implementaciones prácticas, RSA parece ser significativamente más rápido que ECDSA en
verificar las firmas, aunque es más lento al firmar.

Las cosas se complican para niveles de seguridad más altos. Por ejemplo, en la mayoría
configuración común de un nivel de seguridad de 112 bits, RSA requiere 2048 bits
versus ECDSA que necesita claves de 224 bits. En el siguiente nivel común de 128 bits, RSA
requiere una clave de 3072 bits, mientras que ECDSA solo 256 bits. Esto resulta en RSA
el rendimiento disminuirá drásticamente, mientras que ECDSA se ve ligeramente afectado. Como
una consecuencia de este problema de escalado, aunque RSA parece más eficiente en el
momento, el aumento continuo en los requisitos de seguridad podría muy bien generar
ECDSA la solución de facto en el futuro.

Resistencia post-cuántica

el algoritmo de Shor [10] es un algoritmo bien conocido para romper claves RSA usando
computadoras cuánticas. Como no hay implementaciones prácticas (públicas) de un
Tal máquina, la siguiente es una conjetura sobre el futuro de la clave pública
criptografía. En el momento de escribir este artículo, la mejor implementación de Shor's
El algoritmo puede vencer un cifrado RSA de clave de 15 bits. Aunque esto no suena
preocupante, ya que cada vez más investigación se dirige hacia la computación cuántica, RSA
podría estar metiéndose en serios problemas en cualquier momento.

Sin embargo, los defensores de ECDSA no deberían ser rápidos para celebrar, porque elíptica
criptografía curva también es vulnerable [11] a una versión modificada de Shor
algoritmo. En consecuencia, si una computadora cuántica puede romper ambos cifrados,
la única métrica objetiva es la complejidad requerida para implementar tal
ataque. Según una investigación pública, las claves RSA de 2048 bits requieren 4098 qubits
(y 5.2 trillones de puertas Tofolli) para ser derrotados, mientras que las claves ECDSA de 256 bits
requieren solo 2330 qubits (y 126 mil millones de puertas Tofolli). Por lo tanto, RSA es más
costoso de romper, usando una máquina cuántica teórica.

Conclusión

Aunque esta comparación no es de ninguna manera exhaustiva, es evidente que
RSA ha ganado legítimamente su posición como la firma digital líder
algoritmo para la mayoría de las aplicaciones de certificados. Sin embargo, dado que la tecnología es siempre
avanzando en formas más impredecibles, la conciencia de seguridad y las necesidades también son
creciente. Hace poco más de diez años, la seguridad del dispositivo integrado era
ficción y hoy en día las comunicaciones seguras son imprescindibles para cualquier mundo real
solicitud. Como resultado, incluso si ECDSA es relativamente joven, es el
adivine si reemplazará a RSA como estándar para la autenticación en SSL /TLS
implementaciones

Si usted, el lector, aún no puede decidir qué algoritmo elegir, hay
soluciones para soportar ECDSA y RSA (como mecanismo de reserva), hasta que
la comunidad criptográfica se conforma con un ganador. Consulte esta sección del artículo para un futuro
Como guiar.

TL; mesa DR

métrico RSA ECDSA
Adopción ?  
Madurez ?  
Tamaño clave   ?
Rendimiento ?  
Piel escamosa   ?
Resistencia P / Q ?  

Referencias

Suscríbase al boletín de SSL.com

No te pierdas los nuevos artículos y actualizaciones de SSL.com

Manténgase informado y seguro

SSL.com es líder mundial en ciberseguridad, PKI y certificados digitales. Regístrese para recibir las últimas noticias, consejos y anuncios de productos de la industria de SSL.com.

Nos encantaría recibir tus comentarios

Responda nuestra encuesta y háganos saber lo que piensa sobre su compra reciente.