Solución al enigma del noveno programa
Recordemos el enunciado:
> Cómo intercambiar un paquete dentro de una caja que podemos cerrar con candados de todo tipo, sin que sea necesario enviar la llave que abre el candado.
La respuesta implica que el paquete viaje varias veces entre emisor y destinatario pero permite que dicho intercambio se haga de manera segura, sin posibilidad de que la llave que abre la caja pueda ser interceptada. El proceso sería el siguiente: Juan envía a Pepe el paquete en una caja cerrada con un candado de seguridad. Pepe recibe el paquete y le añade un candado propio y se lo devuelve a Juan. Juan recibe el paquete con los dos candados, retira el candado que puso inicialmente y se lo reenvía a Pepe quien, ahora sí, puede abrir **su** candado para retirar el paquete.
La solución de este enigma requiere que, para el intercambio seguro de información, el receptor participe en el envío. Este concepto está detrás de las técnicas de encriptado más seguras que se conocen en la actualidad, que son las que se conocen como encriptado con clave pública. En este tipo de encriptación, cada posible receptor publica una clave que puede ser conocida por cualquiera, el que envía codifica la información con esa clave, pero una vez codificado, sólo puede descodificarse con una clave privada que sólo posee el receptor. Como en el enigma, el proceso sería, Pepe enviaría a Juan su clave pública, Juan codificaría el mensaje con dicha clave, y después Pepe la descodificaría con su clave privada (su candado) que sólo el conoce.