Intercambio de Claves Diffie-Hellman

Retomo el blog después de un descanso para exámenes con uno de los proyectos realizados en el pasado semestre. Para la asignatura de compresión y seguridad se nos pidió (a mis compañeros y a mi) realizar un programa que permitiese un intercambio de claves a través de un canal inseguro mediante el algoritmo de Diffie-Hellman.

En este proyecto yo me encargué principalmente del diseño y la implementación del algoritmo y la adaptación del código a las conexiones de red y la interfaz gráfica. El programa está desarrollado en su totalidad en Java.

Ficheros adjuntos:

Ejecutable del programa

Código fuente en el repositorio

Implementación del algoritmo – Presentación

Implementación del algoritmo – Memoria del proyecto

 

Modo de uso del programa:

Se requieren dos ordenadores conectados en red (sólo ha sido comprobado su funcionamiento cuando ambos ordenadores están conectados a una red 3g compartida por un teléfono móvil dado que no podríamos haber hecho la demostración de otra manera al estar bloqueados la mayoría de los puertos en la red Wi-Fi de la universidad). Ambos usuarios ejecutan el mismo programa en su ordenador: uno de ellos actuará como Host (debe rellenar el campo de IP Client) y el otro actuará como Client (debe rellenar el campo de IP Host). Ambos usuarios deben escribir los mismos puertos en los campos habilitados para ellos (tres distintos entre sí, pero iguales para ambos usuarios – se recomienda el uso de puertos por encima de 8000 que no suelen estar en uso en ninguna conexión de red). Cuando estos 4 de 5 campos están correctamente rellenados, ambos usuarios deben iniciar el programa (ya sea desde el botón de la interfaz o desde el menú). Si se han seguido los pasos correctamente, se irán rellenando el resto de campos en ambas instancias del programa. La clave compartida debe ser la misma.

Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *