¿Cuál es una buena manera de incorporar la inscripción rsa en una aplicación de mensajería?

0

Estoy aprendiendo criptografía y tengo un problema. Supongamos que tengo una aplicación de chat que utiliza sockets. Antes de que se envíe el masaje, se encripta con el algoritmo RSA; ¿Cuáles son algunas buenas estrategias para pasar de forma segura esa clave pública a cualquier persona con la que un usuario hable?

Mi segunda pregunta es con qué frecuencia un público & Los pares de claves privadas deben actualizarse.

Mi conjetura es que las claves deben generarse cada vez que un usuario elige a alguien para enviar un mensaje, de esta manera todos los diálogos se cifrarán por separado, sin embargo no tengo ninguna idea sobre las claves: ¿deberían generarse en un servidor o cliente?

    
pregunta Ivan Prizov 31.03.2018 - 17:01
fuente

1 respuesta

2

Obviamente, debes generar claves localmente en el dispositivo. De lo contrario, un servidor comprometido podría perder todas las claves.

Además, ¿por qué usar un par de claves por conversación? Eso significa muchas llaves. Uno de los sistemas de cifrado de clave pública es que tiene una clave pública y privada. La clave pública se utiliza para el cifrado y privada para el descifrado. Por lo tanto, una clave pública por cliente sería suficiente.

No es necesario mantener en secreto las claves públicas. Envíalos a la otra parte en la conversación. Obviamente, necesitas controlar la integridad de ellos.

También debe buscar temas como el secreto a futuro y cómo lograrlo.

En resumen: no implementes esto tú mismo. Lo harás jodelo. Utilice una biblioteca de cifrado y protocolos establecidos, como Signal (para mensajería instantánea), PGP o similar. Evitará muchos escollos utilizando algoritmos y protocolos bien probados.

    
respondido por el vidarlo 31.03.2018 - 22:46
fuente

Lea otras preguntas en las etiquetas