Esta semana hemos empezado con una práctica de encriptación de datos. Por primera vez vamos a saber lo que se sufre cuando se encriptan mensajes de una manera manual. Todo ello, gracias a CSUnplugged que, como siempre, nos proporciona un recurso manual y sin ordenadores para poder encriptar mensajes (puedes ver la actividad completa en este documento).
Esta actividad es más complicada que las otras que hemos ido haciendo sobre todo porque requiere mucha precisión y hacer bien todos los cálculos.
Primero hemos presentado la actividad, que consiste en enviar un mensaje (en este caso es un número) cifrado a otra persona. Para ello utilizaremos una clave pública en forma de mapa. En el siguiente ejemplo, enviaremos el número 66. Seguimos el siguiente procedimiento:
Clave pública con ejemplo de mensaje enviado |
- Colocaremos números aleatorios en el mapa que representa la clave pública de forma que la suma de todos ellos sea exactamente el número que queremos enviar. En la imagen adjunta, representan los números "normales".
- Después en cada punto apuntaremos la suma de todos los adyacentes incluido él mismo. Y éste será el mensaje que enviaremos. En la imagen adjunta, representan los números entre paréntesis).
De esta manera, nadie que reciba el mensaje sabrá lo que pone salvo el que tenga la clave privada. En este ejemplo, con esta clave privada, sólo necesitamos los puntos más gordos que al sumarlos me da el número que he enviado al principio.
Clave privada |
Después de presentar en qué consistía el cifrado, cada grupo ha cifrado una palabra de cuatro letras que ha enviado a otro grupo (cada letra escrita en código ASCII).
Ésta ha sido una actividad bastante complicada y en la que hemos tenido que esforzarnos mucho para no confundirnos. Ha llevado bastante tiempo pero hemos podido comprobar lo complicado y meticuloso que es el cifrado. Pero los ordenadores lo hacen ellos solitos mucho más rápido.
Eso sí, si no tienes la clave privada, va a ser casi imposible leer el mensaje. La única manera de hacerlo es por el método de fuerza bruta, lo que puede llevar, con un ordenador actual, a resolverlo en años o décadas. En el documento de la actividad viene una explicación extensa de cómo funciona el cifrado en los ordenadores (se basa en números muy grandes (más de 100 cifras) cuyas factorizaciones en números primos son muy complicadas).
Una vez terminada esta actividad, hemos podido continuar con lo que teníamos. Algunos terminando todavía las actividades de code.org y otros ya aprendiendo a utilizar scratch.