¿El tiempo de cifrado / descifrado del algoritmo rsa varía significativamente con un cambio en la longitud de la clave? Por ejemplo, ¿hay una diferencia notable en el tiempo de cifrado / descifrado entre 512 bits y 2048 bits?
Con las implementaciones habituales, duplicar la longitud de la clave RSA significa que encriptación será cuatro veces más lenta y descifrado será ocho veces más lenta. El cifrado RSA es mucho más rápido que el descifrado RSA (en el contexto de las firmas RSA, la verificación es similar al cifrado y la generación es similar al descifrado). La teoría dice que para una clave de n -bit, el esfuerzo computacional para el cifrado es proporcional a n2 , mientras que el esfuerzo de descifrado es proporcional a < em> n 3 . En la práctica, hay un poco más en RSA que solo la exponenciación modular, y la sobrecarga no se escala de la misma forma cuadrática / cúbica, por lo tanto, para una implementación específica, no obtendrá exactamente un factor de 8x.
También, tenga en cuenta que el cifrado rápido (y su comportamiento cuadrático) se basa en el uso de un exponente público corto. Esta es la forma en que se usa comúnmente RSA; es posible tener una clave pública RSA con un exponente público largo, lo que hará que el cifrado sea tan lento como el descifrado. Un exponente público largo no parece mejorar la seguridad, por lo que los exponentes públicos cortos son la regla. Algunas implementaciones de RSA generalizadas no admiten exponentes públicos largos de todos modos.
OpenSSL viene con una herramienta de línea de comandos que puede realizar algunos puntos de referencia. Intenta ejecutar esto:
openssl speed rsa1024 rsa2048
En mi PC, esto da como resultado lo siguiente:
sign verify sign/s verify/s
rsa 1024 bits 0.000646s 0.000035s 1549.1 28408.6
rsa 2048 bits 0.004097s 0.000120s 244.1 8331.1
así obtenemos los factores 6.3x y 3.4x para el descifrado y el cifrado, respectivamente, al duplicar el tamaño de la clave de 1024 a 2048 bits.
Hay un buen artículo en Javamex que discute longitudes de claves RSA . La regla que han obtenido a partir de su análisis es que "con cada duplicación de la longitud de la clave RSA, el descifrado es 6-7 veces más lento".
LeerasualrededorparecequeconRSAeldescifradosuelesermáslentoqueelcifrado,hayunaexplicaciónparaelrazonamiento
Lea otras preguntas en las etiquetas cryptography encryption