La criptografía de curva elíptica (ECC) ofrece un nivel y tipo de seguridad equivalente al de la criptografía de curva elíptica. RSA (o Diffie-Hellman) con claves más cortas. La tabla 1 compara las estimaciones actuales más efectivas del tamaño de las claves para tres enfoques de cifrado diferentes, con niveles de seguridad comparables frente a ataques de fuerza bruta.
Fuerza bruta, un cifrado de clave simétrica como AES, sugiere que examinar el espacio de claves completo implica la factorización de enteros para un algoritmo como RSA y resolver el problema del logaritmo digital para un algoritmo como ECC. Esta tabla es mucho más significativa debido a que las cargas de proceso de RSA y ECC son comparables para longitudes de clave comparables, lo que implica que se requiere una sexta parte del esfuerzo de procesamiento con ECC para proporcionar un nivel equivalente de criptográfico seguridad que solemos obtener con RSA de 1024 bits.
| Cifrado simétrico en bits | Tamaño de “clave” RSA y Diffie-Hellman en bits | Tamaño de la “clave” ECC en bits |
|---|---|---|
| 80 | 1024 | 160 |
| 112 | 2048 | 224 |
| 128 | 3072 | 256 |
| 192 | 7680 | 384 |
| 256 | 15360 | 512 |
Tabla 1: Mejores estimaciones de los tamaños de clave necesarios para lograr un nivel de seguridad equivalente con tres métodos diferentes.
Dado que las claves son mucho más pequeñas, las tarjetas inteligentes pueden usar algoritmos ECC sin coprocesadores matemáticos. Las tarjetas inteligentes sin contacto solo funcionan con ECC, ya que otros sistemas requieren demasiada energía de inducción. Como las claves más cortas permiten protocolos de negociación más rápidos, ECC se está volviendo cada vez más crucial para las comunicaciones inalámbricas. Por las mismas razones, también podemos esperar que ECC se vuelva esencial para las redes de sensores inalámbricas.
Criptosistema ECDH
El algoritmo Diffie-Hellman de Curva Elíptica (ECDH) es una versión del algoritmo de intercambio de claves Diffie-Hellman para curvas elípticas que determina cómo dos participantes en la comunicación, A y B, pueden generar pares de claves e intercambiar sus claves públicas a través de canales inseguros. El algoritmo solo determina cómo se generan los pares de claves, y el usuario define la relación entre las claves de cifrado y los datos que se van a cifrar. Tras el intercambio de claves, es habitual utilizar métodos de cifrado simétrico. En la práctica, el criptosistema ECDH se adapta con éxito a diversas soluciones de seguridad de datos.
Sistema de cifrado ECDSA
Algoritmo de firma digital de curva elíptica (ECDSA) ECDSA es un estándar de firma digital análogo al DSA (Algoritmo de Firma Digital) para curvas elípticas. Al igual que el DSA, el objetivo de ECDSA es proporcionar firmas digitales verificables para mensajes de datos. El autor firma el mensaje de datos utilizando su clave privada, y la firma digital se añade al contenido del mensaje y puede validarse libremente con la clave pública del autor. Las claves privadas se generan de forma muy similar al criptosistema ECDH. Si P y Q son dos puntos en una curva elíptica, la clave privada es el logaritmo discreto m = log PQ.
Problemas de implementación
Los problemas de implementación de los criptosistemas basados en curvas elípticas se pueden dividir en cuatro categorías abstractas.
-
La primera categoría incluye errores técnicos relacionados con las implementaciones de hardware y software, como la falta de autenticación, la protección inadecuada de la RAM y los medios, errores en los algoritmos, infraestructura de red incorrecta, etc. Se prevé que, debido a estos problemas de seguridad, la información confidencial, incluidas las claves de cifrado privadas, pueda quedar en manos de terceros sin necesidad de vulnerar la seguridad fundamental del criptosistema, sino accediendo directamente a los datos a través de las vulnerabilidades de seguridad del hardware y el software.
Este es el problema de implementación más común y no está relacionado con la seguridad de los fundamentos de un criptosistema y está asociado con pruebas de software y auditorías de seguridad del sistema informático insuficientes.
-
El segundo tipo de problema de implementación se asocia con la selección de curvas elípticas subyacentes y cuerpos primos. Existen clases de curvas elípticas débiles. Por ejemplo, es posible resolver el problema del logaritmo discreto en tiempo polinómico para un tipo específico de curva donde #E(Fp) = p (el número de puntos en una curva es igual al número de elementos en un cuerpo finito). Además, es esencial seleccionar subgrupos de E(Fp) suficientemente grandes para evitar el cálculo factible de logaritmos discretos mediante métodos como el método de Pollard-p.
Para garantizar la máxima seguridad del criptosistema, es recomendable utilizar curvas elípticas verificablemente aleatorias y campos primos de tal manera que el orden del grupo #E(Fp) sea divisible por un número primo n suficientemente grande, donde n > 2160.
-
El tercer tipo de problemas de implementación se relaciona con el rendimiento de las operaciones del grupo E(Fp), como la suma y la multiplicación escalar. Se recomienda usar números primos de Mersenne, que pueden mejorar significativamente la multiplicación escalar. Este resultado se debe a la arquitectura del procesador, que permite la ejecución eficiente de operaciones aritméticas modulares con la representación binaria del número, que es cercana a una potencia de dos. Asimismo, es fundamental seleccionar el sistema de coordenadas más apropiado para mejorar el rendimiento de las operaciones del grupo.
Según el sistema de coordenadas seleccionado, el rendimiento de las operaciones de grupo puede variar. Por ejemplo, el rendimiento de la multiplicación escalar se puede mejorar utilizando el sistema de coordenadas de Jacobi cuando la multiplicación escalar se realiza con un número par (duplicación de puntos).
- El cuarto tipo de problema de implementación está relacionado con la gestión de claves privadas. Es necesario garantizar que las claves privadas se recalculen y se vuelvan a emitir periódicamente. El uso de claves privadas constantes aumenta considerablemente el riesgo de que un tercero las intercepte. El ejemplo más típico es la interceptación de una clave privada de 2010 en el criptosistema de firma de la aplicación PlayStation de Sony, donde se utilizaba una clave privada constante para todas las firmas digitales emitidas.
Ventajas de los criptosistemas basados en curvas elípticas frente al criptosistema RSA
-
Tamaño clave
La clave de un criptosistema basado en curvas elípticas requiere mucha menos memoria, y esta relación aumenta rápidamente con el incremento de los niveles de seguridad. Por ejemplo, un criptosistema RSA con una clave de 1024 bits equivale a un criptosistema de curva elíptica con una clave de 160 bits.
-
Rendimiento de las operaciones criptográficas
Las operaciones criptográficas, como la generación de claves y firmas digitales, se realizan considerablemente más rápido gracias a las claves más pequeñas. Por ejemplo, un criptosistema de curva elíptica con una longitud de clave de 233 bits corresponde al criptosistema RSA con 2240 bits. En el primer caso, la clave se genera aproximadamente 40 veces más rápido.
-
Ahorro de recursos
Debido a los tamaños de clave más pequeños, los algoritmos de los criptosistemas basados en curvas elípticas se pueden ejecutar con recursos mínimos.
Desventajas de los criptosistemas basados en curvas elípticas frente al criptosistema RSA
- Antecedentes matemáticos significativamente más complejos.
- Un grupo relativamente grande de curvas elípticas débiles.
- Falta de investigación.
Conclusión
A pesar de las varias décadas de historia de la caries dental, aún existe una falta de investigación. La popular RSA El criptosistema se estudia más ampliamente. La falta significativa de investigación es una de las principales razones por las que los criptosistemas basados en curvas elípticas han mostrado poca popularidad en la actualidad. Se puede concluir que esta falta de investigación se debe a la relativamente compleja base matemática de las curvas elípticas y a la falta de interés por parte de los desarrolladores de sistemas. Se espera que las curvas elípticas desempeñen un papel cada vez más importante en diversas implementaciones.
El problema del logaritmo discreto es algorítmicamente más complejo que el problema de factorización de enteros, lo que permite una reducción significativa del tamaño de la clave criptográfica pública, acelerando así varias operaciones criptográficas.
Los criptosistemas basados en curvas elípticas pueden utilizarse eficazmente en soluciones de sistemas con recursos limitados y restricciones de energía, como tarjetas inteligentes, dispositivos móviles, sensores, etc.
