Candados que cualquiera puede cerrar pero solo una persona puede abrir

En la primera parte vimos cómo se puede cifrar una nota con una clave compartida. Funciona, pero dejaba un problema sin resolver.
¿Cómo nos ponemos de acuerdo en una clave secreta sin que nadie la intercepte por el camino?
Si la clave viaja por el mismo sitio que el mensaje, cualquiera que lea la clave podrá leer también todo lo que cifremos con ella. Susurrarla, escribirla en otra nota, decirla por el patio: todo deja un rastro.
Durante mucho tiempo, este fue uno de los grandes problemas prácticos de la criptografía: cómo compartir una clave secreta cuando el canal por el que hablas no es seguro. Esta segunda parte explica la idea que lo resolvió, contada con candados y cajas.
El candado abierto
Imaginemos otro sistema.
Ana quiere recibir notas secretas.
Así que deja sobre la mesa muchos candados abiertos. Cualquiera puede coger uno.
David quiere enviarle una nota a Ana. Escribe el mensaje, lo mete en una caja y cierra la caja con uno de los candados abiertos de Ana.
Una vez cerrado, David ya no puede abrirlo. La persona que intercepta la caja tampoco. Solo Ana tiene la llave.
Esta imagen es la base del cifrado asimétrico.
Hay dos cosas distintas:
Una clave pública, que sirve para cerrar. Una clave privada, que sirve para abrir.
La clave pública se puede compartir con cualquiera. La clave privada se guarda y no se enseña.
Cualquiera puede usar el candado abierto de Ana para enviarle un mensaje protegido. Pero solo Ana puede abrirlo.
Y aquí está lo interesante: ya no hace falta ponerse de acuerdo en una clave secreta antes de empezar. Ana puede decirle al mundo:
Si queréis enviarme algo secreto, usad este candado.
Pero no entrega la llave.
Cerrar no es lo mismo que abrir
Esta es la idea central, y conviene decirla despacio.
En el cifrado simétrico, cerrar y abrir dependen del mismo secreto.
En el cifrado asimétrico, cerrar y abrir son cosas distintas.
Una parte se puede compartir. La otra no.
Para un niño, la analogía del candado suele funcionar mejor que empezar por matemáticas. Primero se entiende la situación:
Cualquiera puede cerrar una caja para Ana. Solo Ana puede abrirla.
Luego podemos contar que, en los ordenadores, esos candados no son de metal.
Son matemáticos.
Matemáticas que van mejor en una dirección
Algunos sistemas de criptografía se apoyan en una idea curiosa:
Hay operaciones que son fáciles de hacer en una dirección, pero difíciles de deshacer si no tienes información especial.
Probemos con números pequeños.
Multiplicar esto es bastante fácil:
17 × 23 = 391
Pero si yo te doy solo este número:
391
Y te pregunto:
¿Qué dos números lo produjeron?
La tarea cambia. Tienes que probar. Dividir. Pensar. Buscar factores.
Con números pequeños se puede hacer con paciencia. Con números enormes, se vuelve muy difícil.
Esta es una de las ideas que han usado algunos sistemas de cifrado modernos: multiplicar puede ser rápido, pero factorizar el resultado puede ser muy difícil si los números son lo bastante grandes.
Dicho de forma sencilla:
Hacer la mezcla puede ser rápido. Deshacerla sin la pista puede ser muy difícil.
No hace falta convertir esto en una clase de matemáticas avanzadas. La idea importante es otra:
La seguridad no depende de que nadie vea el mensaje cifrado. Depende de que sea muy difícil deshacerlo sin la clave correcta.
Una maqueta, no un sistema real
Aquí conviene ser honestos con el niño y con uno mismo.
El cifrado César de la primera parte sirve para aprender, pero no para proteger secretos reales.
Los ejemplos con multiplicaciones pequeñas sirven para entender una intuición, pero no para construir seguridad real.
En internet se usan sistemas mucho más complejos, números enormes y muchos detalles técnicos que aquí no estamos explicando.
Pero eso no invalida el juego. Al contrario.
Las maquetas sirven para entender ideas grandes con objetos pequeños.
Una maqueta de puente no aguanta coches, pero ayuda a entender cómo se reparte el peso.
Una maqueta de criptografía con cajas, candados y números pequeños no protege secretos reales, pero ayuda a entender mensaje, clave, transformación, atacante y confianza.
Actividad 4: el juego del candado
Para introducir la idea de clave pública y privada, podéis jugar con cajas, sobres o dibujos.
Personajes:
- Ana quiere recibir mensajes.
- David quiere enviarle uno.
- Clara intenta interceptarlo.
Reglas:
- Ana reparte candados abiertos.
- Cualquiera puede cerrar una caja con un candado de Ana.
- Solo Ana tiene la llave.
- David puede cerrar la caja, pero no abrirla después.
- Clara puede interceptar la caja, pero no abrirla.
Preguntas:
- ¿Por qué David puede cerrar la caja si no tiene la llave?
- ¿Por qué Clara no puede abrirla?
- ¿Qué pasaría si Ana pierde la llave?
- ¿Qué pasaría si Ana reparte la llave privada por error?
- ¿Qué parte se puede compartir?
- ¿Qué parte debe quedarse en secreto?
Esta actividad prepara muy bien la diferencia entre clave pública y clave privada sin entrar todavía en fórmulas.
Una variante interesante: que David escriba primero su nombre dentro de la caja, no solo el mensaje. Así surge otra pregunta natural: ¿cómo sabe Ana que el mensaje es realmente de David y no de alguien que se hace pasar por él? Esa pregunta abre otra idea de la criptografía moderna, la firma digital, pero ya no hace falta resolverla aquí: basta con que aparezca.
Actividad 5: multiplicar y deshacer
Con niños mayores, se puede jugar a la idea de multiplicar y factorizar.
Primero damos dos números: 7 y 11. Multiplicarlos es fácil: 77.
Luego damos solo el resultado: 77.
Y preguntamos: ¿qué dos números lo produjeron?
Con números pequeños se puede resolver. Luego probamos con 17 × 23 = 391.
Y después damos solo: 391.
Preguntas:
- ¿Es igual de fácil multiplicar que encontrar los factores?
- ¿Qué estrategia usaste para probar?
- ¿Qué pasaría si el número tuviera cien cifras?
- ¿Por qué puede interesarle esto a la criptografía?
Cuidado con las promesas grandes. No hace falta decir "así funciona todo internet". Es más honesto:
Esta es una maqueta de una idea que aparece en algunos sistemas criptográficos: una operación puede ser sencilla en una dirección y muy difícil en la contraria.
Preguntas para acompañar
Durante el juego, el adulto no necesita saber criptografía avanzada. Puede acompañar con preguntas:
- ¿Qué mensaje queremos enviar?
- ¿Quién debería poder leerlo?
- ¿Quién podría interceptarlo?
- ¿Qué regla estamos usando para transformarlo?
- ¿Cuál es la clave?
- ¿Quién conoce la clave?
- ¿Qué pasa si alguien descubre la clave?
- ¿Podemos romper este sistema probando?
- ¿Qué parte estamos compartiendo?
- ¿Qué parte debe seguir siendo secreta?
- ¿Este sistema protege el mensaje o solo lo disfraza?
- ¿Cómo podríamos hacerlo un poco más difícil de romper?
- ¿Qué hemos supuesto que quizá no es verdad?
Estas preguntas son más importantes que memorizar la palabra "asimétrico".
Lo que conviene evitar
Hay dos extremos que no ayudan.
El primero es presentar la criptografía como magia.
Nadie podrá leer esto jamás.
Eso no es verdad. Todo sistema tiene límites, y los sistemas modernos los tienen también: dependen del tamaño de las claves, de cómo se generan, de quién custodia la llave privada y de muchos detalles que no se ven a simple vista.
El segundo extremo es presentarla como algo imposible.
Esto es demasiado difícil, solo lo entienden los expertos.
Tampoco es verdad. La idea del candado abierto es comprensible para un niño, y es la misma idea que mueve buena parte de la web.
También conviene dejar claro algo ético:
Aprender a cifrar mensajes no significa que esté bien leer o romper mensajes de otras personas.
Podemos jugar a interceptar dentro de una actividad acordada, donde todos saben las reglas. Pero en la vida real, respetar la privacidad de los demás también forma parte de entender la tecnología.
La idea importante
La criptografía moderna no resolvió un problema técnico cualquiera.
Resolvió uno aparentemente imposible: dos personas que nunca se han visto, ni han hablado nunca, ni comparten ningún secreto previo, pueden enviarse un mensaje que solo ellas pueden leer.
La clave que abre el mensaje no necesita viajar.
Y para entender esa idea, no hace falta saber matemáticas avanzadas. Basta con una caja, un candado abierto y una pregunta sencilla:
¿Qué parte se puede compartir, y qué parte debe quedarse en privado?
Cuando un niño aprende a separar esas dos cosas en un juego de clase, está aprendiendo a separarlas también en su vida digital. Qué se publica y qué no. Qué se comparte y qué se guarda. Qué información puede entregar a una aplicación y cuál no debería salir nunca de su dispositivo.
Empezó siendo una nota doblada que cruzaba una clase. Termina siendo una manera de mirar la tecnología.
