Tiempo de descifrado de cifrado

10

¿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?

    
pregunta user1157 23.01.2011 - 18:46
fuente

2 respuestas

11

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.

    
respondido por el Thomas Pornin 07.02.2011 - 12:19
fuente
7

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 here . Hice algunas pruebas rápidas en mi máquina, duplicando la longitud de la clave parece duplicar el tiempo de cifrado.

    
respondido por el Mark Davidson 24.01.2011 - 10:46
fuente

Lea otras preguntas en las etiquetas