¿Se necesita una clave pública RSA para descifrar una clave privada RSA?

1

Sé que las claves RSA son extremadamente difíciles de descifrar, especialmente dada la longitud adecuada de bits de cifrado. Sin embargo, ¿tener acceso a la clave pública hace que sea más fácil descifrar la clave privada? Me imagino que descifrar la clave privada es esencialmente imposible sin la clave pública. Si no tiene la clave pública, tendrá que adivinar completamente tanto el módulo como el exponente hasta que la clave resultante finalmente pueda descifrar un mensaje cifrado.

Sé que una clave pública, por definición, es pública y accesible. Sin embargo, si estamos hablando de una aplicación servidor-cliente, y si usted controla el servidor y el cliente, podría implementar fácilmente ciertas prácticas mediante las cuales proteger la clave pública en cierta medida, haciéndola menos pública, por así decirlo.

Entonces, si alguien intentara descifrar una clave privada, ¿necesitarían primero el acceso a la clave pública?

Según la respuesta a esta pregunta, parece que la respuesta es sí . Si esto es correcto, ¿en qué medida la clave pública ayuda a descifrar la clave privada? ¿Cuánto más difícil sería sin la clave pública?

    
pregunta Nerdizzle 25.07.2017 - 04:18
fuente

1 respuesta

1

No, saber que el público no está obligado a descifrar una clave privada RSA. Dado un mensaje encriptado, el atacante solo necesita saber algo que le permita distinguir un éxito en descifrar su mensaje de un error. Este algo puede ser cualquier cosa, comúnmente es algo de conocimiento sobre el contenido de los datos como, por ejemplo, el conocimiento de un desafío en su forma clara, la presencia de ciertas etiquetas, de la estructura de datos, de las estadísticas de datos como por ejemplo, la presencia de un gran número de palabras correctas en inglés o la presencia de una suma de comprobación.

Aunque no es malo en su esencia, su idea de mantener privada la clave pública simplemente reduce su criptografía de clave pública a una situación que probablemente sería solucionable utilizando criptografía simétrica.

Uno de los grandes problemas con la criptografía simétrica fue que el remitente y el receptor tuvieron que encontrar una manera de intercambiar un par de claves secretas de manera segura mientras no haya un canal de comunicación seguro ya establecido y no hay forma de verificar la identidad del otro. La principal solución para esto fue utilizar el intercambio de claves fuera de banda.

El cifrado asimétrico, al que pertenece el cifrado RSA, resolvió esto al proponer un sistema en el que el remitente y el destinatario pueden publicar sus claves públicas en un directorio común, cuyas claves públicas están firmadas opcionalmente por una entidad externa en la que ambas partes confían. Esto permite eliminar la carga de tener que intercambiar claves utilizando métodos fuera de banda.

Sin embargo, si lo desea, puede utilizar métodos fuera de banda para intercambiar la clave pública. No es necesario, dependiendo de lo que pretenda hacer, puede ser más complejo y más difícil de mantener con el tiempo, no aumentará su seguridad de manera notable, pero tampoco disminuirá su seguridad.

Para ir (un poco) en su dirección, tenga en cuenta que todas las claves públicas se hacen necesariamente públicas. Un buen ejemplo de esto son las claves de autenticación SSH del usuario. Mientras está almacenado en forma clara, el público del usuario generalmente no se publica (a diferencia de la clave pública del servidor). Sin embargo esto es así, siempre y cuando no haya ventaja en hacerlo. Tan pronto como sea más práctico almacenar las claves públicas en un directorio confiable (por ejemplo, un directorio interno de la empresa), generalmente no hay problema al hacerlo.

    
respondido por el WhiteWinterWolf 25.07.2017 - 09:42
fuente

Lea otras preguntas en las etiquetas