Estoy desarrollando una aplicación de mensajería, más como un chat, en python solo para enseñarme a mí mismo cómo funcionan los sockets y para aprender más sobre la criptografía en general usando PyCrypto.
Acerca de mi aplicación:
El objetivo principal de esta aplicación, de forma criptográfica, es proteger los mensajes enviados a través de Internet mediante un cifrado asimétrico. Ya que estoy haciendo esto para aumentar mi conocimiento sobre criptografía, quiero que esté lo más seguro posible. En esta aplicación, un cliente se conecta a un servidor y se agrega a una lista con todos los usuarios conectados actualmente. El cliente ahora puede enviar un mensaje al servidor, que hace eco del mensaje a todos los demás usuarios conectados.
Mi pregunta:
Como un pequeño descargo de responsabilidad: soy bastante nuevo en el cifrado en general y hay un par de cosas que no puedo entender. No puedo entender cómo debo distribuir las claves públicas para que se pueda usar un cifrado asimétrico para proteger los mensajes enviados al servidor. Por lo que he leído, se supone que debe haber algún tipo de servidor del que puedo recuperar las claves generadas, pero parece que no puedo encontrar ese servicio.
Además, si pudiera recuperar una clave pública de un servidor de claves, ¿cómo debería generar una clave privada para poder descifrarla?
¡Toda la ayuda, sugerencias y correcciones son muy apreciadas!
-Tommy