¿Es posible intercambiar exponentes públicos y privados en RSA?

1

Estamos implementando https con una biblioteca SSL de tercer proveedor en nuestro sistema integrado. Debido al pequeño exponente público elegido en RSA 2048, el cifrado es mucho más rápido (aproximadamente 120 ms) que el descifrado (aproximadamente 3100 ms).

¿Podríamos intercambiar el público y el exponente privado después de la generación de claves? Eso cambiaría el trabajo pesado al cliente (generalmente una PC) y lo hace más fácil para nuestro sistema integrado. No sé, si hay algunas restricciones, por ejemplo. en la estructura del certificado lo que prohíbe esto.

    
pregunta Peter Sprenger 15.08.2014 - 15:46
fuente

1 respuesta

6

El intercambio de los exponentes públicos y privados en RSA incurre en dos problemas:

  1. No funciona.
  2. Es inseguro.

El "no funciona" se refiere a implementaciones implementadas de SSL en clientes . Aunque la definición formal de RSA permite un exponente público arbitrariamente largo, algunas implementaciones de RSA ampliamente implementadas esperan que el exponente público se ajuste en un entero de 32 bits (en particular, CryptoAPI de Windows).

El punto sobre la inseguridad es que un exponente privado demasiado corto debilita el sistema. Se ha demostrado un ataque, que muestra cómo recuperar la clave privada si la longitud del exponente privado es inferior al 29% de la longitud del módulo; esto significa que si usa un módulo RSA de 2048 bits (como debería), y establece la longitud del exponente privado en menos de 600 bits, entonces se aplica un ataque implementado ya descrito. La sabiduría colectiva de los criptógrafos es que los exponentes privados significativamente más cortos que el módulo son un riesgo demasiado grande.

Por lo tanto: no, no debes intentar acortar los exponentes privados de RSA, por muy tentador que sea.

Si tiene poco poder de cómputo, quizás desee investigar algoritmos alternativos basados en curvas elípticas. Un conjunto de cifrado "ECDSA_ECDHE" evitaría los cálculos RSA y proporcionaría un rendimiento sustancialmente mejor para el protocolo de enlace TLS (sin embargo, no será compatible con IE 8 en Windows XP como cliente).

    
respondido por el Thomas Pornin 15.08.2014 - 16:00
fuente

Lea otras preguntas en las etiquetas