Redirecting you to
Entrada de blog ene. 05, 2021

¿Cuáles son las diferencias entre los algoritmos de cifrado RSA, DSA y ECC?

La criptografía de clave pública se basa en algoritmos matemáticos para generar pares de claves: una clave pública para cifrar mensajes y una clave privada para descifrarlos, garantizando que sólo el destinatario previsto pueda leer el mensaje. RSA, DSA y ECC son los principales algoritmos utilizados, cada uno de los cuales ofrece ventajas únicas en términos de rendimiento, velocidad y seguridad. RSA, el más antiguo, es ampliamente utilizado y conocido por su robustez, mientras que ECC proporciona una mayor fuerza criptográfica con longitudes de clave más cortas, lo que lo hace ideal para dispositivos con potencia de cálculo limitada. DSA, avalado por el Gobierno Federal de Estados Unidos, es eficaz tanto para los procesos de firma como de verificación. La solidez de estos métodos criptográficos sustenta los certificados digitales utilizados en la navegación web segura (TLS/SSL) y diversas aplicaciones de identidad digital. Con los avances en computación cuántica, se están desarrollando nuevos algoritmos criptográficos post-cuánticos para garantizar la seguridad en el futuro.

Tabla de Contenidos

Los algoritmos de cifrado RSA, DSA y ECC son los principales algoritmos utilizados para generar claves en infraestructuras de clave pública.

La infraestructura de clave pública (PKI) se utiliza para gestionar la identidad y la seguridad en las comunicaciones por Internet y las redes informáticas. La tecnología central que permite la PKI es la criptografía de clave pública, un mecanismo de cifrado que se basa en el uso de dos claves relacionadas, una pública y otra privada.

Este par de claves pública y privada sirve para cifrar y descifrar mensajes. Emparejar dos claves criptográficas de esta manera también se conoce como cifrado asimétrico, que es diferente del cifrado simétrico, en el que se utiliza una única clave tanto para cifrar como para descifrar.

La ventaja del cifrado asimétrico es que la clave pública puede publicarse para que todo el mundo la vea, mientras que la clave privada se mantiene segura en el dispositivo del usuario, lo que lo hace mucho más seguro que el cifrado simétrico.

Cómo la criptografía de clave pública se basa en el cifrado

La criptografía de clave pública se basa en algoritmos matemáticos para generar las claves. La clave pública consiste en una cadena de números aleatorios que pueden utilizarse para cifrar un mensaje. Sólo el destinatario previsto puede descifrar y leer este mensaje cifrado y sólo puede ser descifrado y leído utilizando la clave privada asociada, que es secreta y sólo la conoce el destinatario.

Las claves públicas se crean utilizando un complejo algoritmo criptográfico para emparejarlas con su clave privada asociada, de modo que no puedan ser explotadas mediante un ataque de fuerza bruta.

El tamaño de la clave o la longitud en bits de las claves públicas determina la fuerza de la protección. Por ejemplo, las claves RSA de 2048 bits se emplean a menudo en certificados SSL, firmas digitales y otros certificados digitales. Esta longitud de clave ofrece suficiente seguridad criptográfica para evitar que los hackers descifren el algoritmo. Las organizaciones de normalización, como el CA/Browser Forum, definen los requisitos básicos para los tamaños de clave admitidos.

PKI permite los certificados digitales que encontramos a diario, de forma discreta y ubicua, al utilizar sitios web, aplicaciones móviles, documentos en línea y dispositivos conectados. Uno de los casos de uso más comunes de PKI es la Seguridad de la Capa de Transporte (TLS)/Capa de Conexión Segura (SSL) basada en X.509. Esta es la base del protocolo HTTPS, que permite una navegación web segura. Pero los certificados digitales también se aplican a una amplia gama de casos de uso, como la firma de código de aplicaciones, las firmas digitales y otros aspectos de la identidad y la seguridad digitales.

¿Qué son los algoritmos RSA, DSA y ECC?

Existen tres algoritmos principales utilizados para la generación de claves PKI:

  • Rivest–Shamir–Adleman (RSA)

  • Algoritmo de firma digital (DSA)

  • Criptografía de curva elíptica (ECC)

Algoritmos RSA vs ECC vs DSA

El algoritmo RSA fue desarrollado en 1977 por Ron Rivest, Adi Shamir y Leonard Adleman. Se basa en el hecho de que la factorización de grandes números primos requiere una potencia de cálculo significativa, y fue el primer algoritmo en aprovechar el paradigma de clave pública/clave privada. Existen distintas longitudes de clave asociadas a RSA, siendo la de 2048 bits la estándar en la mayoría de los sitios web actuales.

El cifrado ECC se basa en algoritmos matemáticos que rigen la estructura algebraica de las curvas elípticas sobre campos finitos. Proporciona niveles de fuerza criptográfica equivalentes a RSA y DSA, con longitudes de clave más cortas. ECC es el método de cifrado más reciente de los tres. En 1999 se acreditó el Algoritmo de Firma Digital de Curva Elíptica (ECDSA) y en 2001 el Acuerdo de Claves y Transporte de Claves mediante Criptografía de Curva Elíptica. Al igual que DSA, ECC cuenta con la certificación FIPS y también está avalado por la Agencia de Seguridad Nacional (NSA).

El cifrado DSA utiliza un algoritmo diferente al RSA para crear claves públicas/privadas, basado en la exponenciación modular y el problema del logaritmo discreto. Ofrece los mismos niveles de seguridad que RSA para claves de tamaño equivalente. DSA fue propuesto por el Instituto Nacional de Estándares y Tecnología (NIST) en 1991 y fue adoptado por el Estándar Federal de Procesamiento de la Información (FIPS) en 1993.

Ten en cuenta que es posible soportar múltiples algoritmos de encriptación al mismo tiempo. Por ejemplo, los servidores Apache pueden soportar claves generadas tanto por RSA como por DSA en el mismo servidor. Adoptar este enfoque de «cinturones y tirantes» mejora la seguridad de su empresa.

¿En qué se diferencian RSA y DSA?

Aunque RSA y DSA utilizan diferentes tipos de algoritmos matemáticos para generar los pares de claves, a efectos de fuerza criptográfica, ambos se consideran equivalentes. En cambio, las principales diferencias entre RSA y DSA se reducen al rendimiento y la velocidad.

Rendimiento y velocidad

RSA es más rápido que DSA a la hora de cifrar y firmar, pero es más lento que DSA para descifrar y verificar. Sin embargo, como la autenticación requiere ambas cosas, para muchas aplicaciones del mundo real la diferencia de rendimiento es insignificante.

RSA también es más lento que DSA a la hora de generar claves, pero como éstas se generan una vez y se utilizan durante meses o años, no suele ser una consideración importante.

Compatibilidad con el protocolo SSH

Otra diferencia se encuentra en su compatibilidad con el protocolo Secure Shell (SSH). RSA es compatible tanto con el SSH original como con la nueva segunda edición SSH2, mientras que DSA sólo funciona con SSH2. Dado que SSH no se considera tan seguro como SSH2, esto puede ser una consideración a tener en cuenta a la hora de utilizar DSA.

Respaldo federal

Otra diferencia entre la DSA y la RSA es que la DSA está avalada por el Gobierno Federal de Estados Unidos. Para las empresas que prestan servicios a organismos federales, la capacidad de mantenerse al día con las normas gubernamentales puede ser un argumento para utilizar DSA.

La conclusión es que para la mayoría de los casos de uso, industrias y entornos normativos, RSA y DSA son muy similares, ofrecen una fuerza criptográfica equivalente y hay relativamente poca diferencia entre los dos. Ambos algoritmos son igualmente compatibles con los principales protocolos de Internet, como Nettle, OpenSSL, wolfCrypt, Crypto++ y cryptlib.

¿Cómo se compara ECC con RSA y DSA?

La mayor diferencia entre ECC y RSA/DSA es la mayor fuerza criptográfica que ofrece ECC para un tamaño de clave equivalente. Una clave ECC es más segura que una clave RSA o DSA del mismo tamaño.

Comparación del tamaño de las claves:

Tamaño de clave simétrica (bits)Tamaño RSA (bits)Tamaño de clave de curva elíptica (bits)
80
1024
160
112
2048
224
128
3072
256
192
7680
384
256
15360
521

Tamaños de clave recomendados según el NIST

ECC es más eficiente

Como muestra la ilustración, con ECC se obtiene una fuerza criptográfica equivalente con tamaños de clave significativamente menores, aproximadamente un orden de magnitud más pequeños. Por ejemplo, para conseguir la fuerza criptográfica equivalente a cifrar utilizando una clave simétrica de 112 bits se necesitaría una clave RSA de 2048 bits, pero sólo una clave ECC de 224 bits.

La menor longitud de las claves hace que los dispositivos necesiten menos potencia de procesamiento para cifrar y descifrar datos, lo que convierte a ECC en una buena opción para dispositivos móviles, Internet de las Cosas y otros casos de uso con una potencia de cálculo más limitada.

Seguridad y velocidad

ECC también ofrece algunas ventajas en comparación con RSA o DSA en casos de uso más tradicionales, como los servidores web, ya que el menor tamaño de las claves permite una mayor seguridad con handshakes SSL más rápidos, lo que se traduce en tiempos de carga de las páginas web más rápidos.

Cabe señalar que ECDSA, la versión original de ECC, es una variante de DSA. ECDSA ofrece niveles equivalentes de fuerza criptográfica por número de bits que ECC.

¿Por qué no se utiliza mucho la criptografía de curva elíptica?

Aunque RSA es el algoritmo más utilizado, ECC ha ido ganando popularidad a lo largo de los años. Una de las razones más sencillas del dominio de RSA es que existe desde hace más tiempo. Dicho esto, ECC tiene algunas desventajas que podrían explicar por qué la gente lo evita:

  • Complejidad: Aprender y adoptar ECC lleva más tiempo y es un proceso más complejo que RSA. Esto puede aumentar el riesgo de errores, lo que tendrá un impacto negativo en la ciberseguridad.

  • Vulnerabilidades: ECC puede ser vulnerable a ataques de canal lateral (SCA), que pueden dar lugar a ataques de fuerza bruta. También pueden ser vulnerables a ataques de seguridad por torsión, aunque existen contramedidas para ayudar a prevenir estos ataques.

La informática cuántica y el futuro de los algoritmos de cifrado

Con la computación cuántica en el horizonte, podemos esperar un gran cambio en las medidas de seguridad criptográficas. Los algoritmos criptográficos clásicos, como RSA y ECC, serán fácilmente descifrados por la computación cuántica, por lo que es crucial que las organizaciones se adapten a los nuevos métodos de cifrado. Por suerte, ya se han desarrollado nuevos algoritmos.

El NIST evaluó los algoritmos actuales de criptografía poscuántica (PQC) y determinó cuatro ganadores: ML-KEM (anteriormente CRYSTALS-Kyber), y CRYSTALS-Dilithium, FALCON y SPHINCS+. Mantenerse al día sobre los avances en estos algoritmos, y las nuevas prácticas de normalización, será esencial para las organizaciones en el futuro.

Ahora que te has familiarizado con los algoritmos de encriptación RSA, DSA y ECC; contáctanos para aprender más sobre cómo nuestros productos pueden proteger tu sitio web de amenazas de seguridad. También recomendamos explorar las soluciones PQC de Sectigo.