Oe gsqjiwmsq wigvixe hio xshstshivsws ksfivqeqxi

Dedicado a los que persisten ante las dificultades, por insalvables que puedan parecer, hasta obtener la verdad

¿IVE IO? Pi tevigms zmwoypfvevos iqxvi oe gyehvmooe weqkymqevme uyi wyfme oew iwgeoivew. Zmwxs hi oinsw, lefvme nyvehs uyi wi tevigme fewxeqxi e io. Mqgoyws hmvme uyi iq wy pmvehe tyhi ehmzmqev uyi io xepfmiq pi vigsqsgme. Pm iwtiveqde, hiwiwtivehe c osge, wi vijykms iq oe tswmfmomheh vipsxe hi pm ivvsv c uyi viwyoxewi uyi iq vieomheh qs jyiwi io, s iq wy tswmfoi gsqjywmsq c uyi cs qs egefewi wmiqhs cs.

Gsqxmqyevsq ezeqdeqhs legme pm gsq higmwmsq, c eo xiqivos pew givge pi wiqxí hsosvswepiqxi gsvvsfsvehs: io hifme wiv io, c qs hyhefe hi uyi cs xiqíe uyi wiv cs. Gyeqhs ce iwxyzs oe feqhe, mqxmpmhehsve c tiomkvswe, e pm eovihihsv, viwyoxs uyi ijigxmzepiqxi io ive io, c uyi io wefme hiwhi io tvmqgmtms uyi cs ive cs.

Oinsw uyihefe oe fexeooe hi Dioe c pm jepsws "Ziqm, zmhm, zmgm". Lsc pi xsgevme tivhiv. ¿Uyi tshme higmv teve hmkqmjmgev xeq pipsvefoi sgewmsq? "Eoie megxe iwx" pi tevigms hipewmehs sfzms c vimxivexmzs. Os yqmgs uyi wi pi sgyvvms jyi io efyvvmhs "Ix xy, Fvyxi?" uyi wikyvs qehmi vigsvheve nepew.

Mqgoyws oe piqxi hi yq svehsv mqkiqmsws, tivwtmged c oygmhs gsps cs wi sjywgs hi jsvpe zivksqdswe i mqgsqjiwefoi eo mqxymv uyi oi ooikefe wy kveq tyqxs c jmqeo.


Apunte matemático

Los humanos somos curiosos por naturaleza. Este interés por nuestro entorno ha sido una característica esencial que nos ha permitido evolucionar como especie hasta la actualidad. Ahora bien, esta inquietud investigadora tiene su lado oscuro. Basta que dos personas decidan mantener una conversación privada para que una tercera persona no pueda resistir la tentación de hacer todo lo posible para curiosear esa comunicación privada.

Para defender los derechos de los dos primeros, los codificadores desarrollan mecanismos y métodos para cifrar la comunicación y así conseguir mantenerla privada. Para ayudar al tercero, el cotilla, los decodificadores se esfuerzan por encontrar mecanismos y métodos para descifrar de forma no autorizada la tertulia privada entre los dos primeros.

La historia de la codificación (y decodificación) es muy interesante y llena de anécdotas. Un método clásico lo utilizó Julio César. Consistía en cambiar cada letra del texto original (y por tanto decodificado) por otra letra y así producir un nuevo texto ahora ya codificado. Se trata de cambiar cada letra del abecedario original por la letra cuatro posiciones más allá del mismo abecedario. La tabla de codificación que utilizó Julio César es ésta: 

Este método de cifrado de textos se puede definir desde un punto de vista matemático. Existen dos conjuntos (el conjunto de letras sin codificar y el conjunto de letras codificadas) y una relación entre los dos conjuntos (que es el hecho de desplazarse cada letra cuatro posiciones en el alfabeto). Un descodificador que no conociera la relación entre los dos conjuntos buscaría alternativas para averiguarla. 

Una técnica factible con el método de cifrado de Julio César consiste en analizar las frecuencias de las letras que aparecen en el texto codificado. Por ejemplo, el descodificador observaría que la letra 'I' es la que aparece más veces en el relato codificado que has intentado leer, y sabría que en español la letra que más veces se utiliza es la letra 'E'. Así pues, podría sustituir todas las letras 'I' por una 'E'. Del mismo modo, la letra 'D' es la segunda que más aparece, y en español la segunda letra que más utilizamos es la 'A'. 

Una vez haya sustituido unas cuantas letras (mejor empezar por las vocales), podría intentar averiguar las letras que le faltan buscando las palabras que más se utilizan en español. Por ejemplo, la palabra más utilizada es la preposición 'DE' y en el texto codificado la palabra 'HI' aparece muchas veces: así que la letra codificada 'H' podría corresponder con la letra 'D'. Avanzando de este modo, el decodificador tendrá el texto descifrado en unas cuantas horas si lo hace a mano, y en mucho menos si se ayuda de un ordenador.

La esperanza del codificador es encontrar unas reglas matemáticas que sean cuanto más complicadas de averiguar mejor. La suerte del decodificador es que cada vez se han desarrollado máquinas de cálculo que han permitido acelerar más las operaciones y así poder acabar obteniendo la regla utilizada, por compleja que sea. 

Por ejemplo, durante la segunda guerra mundial los alemanes diseñaron una máquina que permitía utilizar reglas de codificación tan complejas que se requerirían muchas horas de cálculo antes de que alguien las dedujese. Y para entonces, su máquina, llamada Enigma, les habría permitido cambiar fácilmente las reglas ya utilizadas por unas reglas nuevas. La suerte de los aliados fue contar en sus filas con Alan Turing, que diseñó unas máquinas de cálculo que les permitían probar muchas reglas de forma muy rápida. Aunque las máquinas de Alan Turing utilizaban elementos mecánicos, ya podrían ser consideradas como unos ordenadores muy primitivos.

En la actualidad, toda la información que circula por internet se codifica utilizando las matemáticas y el potencial de cálculo de los ordenadores. El algoritmo de codificación se conoce como cifrado de clave pública (o RSA) y fue propuesto por Ron Rivest, Adi Shamir y Leonard Adleman en 1972. La regla de codificación se basa en la aritmética modular. Cuando esta aritmética se propuso, no tenía ninguna utilidad práctica y era poco menos que un juego para que los matemáticos estuvieran entretenidos.

Para codificar un texto con RSA, se necesitan dos números primos sobre los que se realizan algunas operaciones con álgebra modular. Aunque la regla de codificación es conocida por todos, lo desconocido es uno de los números primos utilizados en la regla. El número primo privado es la información que sólo tiene el codificador y no la comparte con nadie. Hay un segundo número primo que es público y sí se comparte. Cuando alguien quiere codificar un texto, utiliza su número primo privado y el número primo público de la persona a la que va dirigido el mensaje y que decodificará el texto. Al recibir el mensaje, como está codificado utilizando su número primo público, el receptor lo podrá decodificar sin problemas.

Para evitar que los ordenadores actuales no puedan dedicarse a probar números primos a ver si así consiguen descifrar el contenido del texto, se utilizan números primos enormes. Estos números son tan grandes que nadie se podía imaginar que conocerlos tendría algún día alguna utilidad práctica. 

¿Te imaginas que tu jugadora preferida de fútbol luciese en la camiseta el número 77119407959408992776820155300527263864372200742365678630027678105714399623154045939140731123684692285690942961135490292162986944327353101381252303737932482823451114141958194053467498712484469550569500487994952905559075632709934056435491415286132329302472787689019397900722796720491316092481635212364527611217? Nadie sería capaz de recordarlo, por no hablar de las colosales dimensiones de la supuesta camiseta. Los números que se utilizan para cifrar información en internet son habitualmente de esa magnitud o incluso más. Tu ordenador tardaría una vida antes de lograr descubrir qué números primeros se han utilizado para codificar la información que has consultado en internet. Y aunque lo consiguiera, habría tardado tanto tiempo que para entonces ya no sería de interés para nadie.

No debemos olvidar, sin embargo, que el pulso constante entre codificadores y decodificadores tiene tendencia a decantarse por los segundos. Por sofisticados e ingeniosos que sean los procedimientos y las reglas del codificador, los decodificadores siempre consiguen salirse con la suya. Al fin y al cabo, todo es cuestión de tener un ordenador mejor, más rápido y con más memoria.

Con la tecnología disponible en la actualidad, las reglas matemáticas del RSA y la magnitud de los números primos utilizados garantizan la seguridad de nuestras comunicaciones. Ahora bien, una nueva generación de ordenadores basados en tecnología cuántica está a punto de ver la luz. Armados con esas nuevas máquinas, los descodificadores tendrán las herramientas necesarias para volver a ganar la partida.

Para entonces será necesario que los codificadores cuenten con un equipo de personas con una mente ingeniosa y que sepan utilizar el potencial de las matemáticas para volver a garantizar nuestra privacidad. Deberá ser una cuadrilla de gente joven, que con capacidad de persistir ante las dificultades y, sobre todo, muy creativa. ¿Te apuntas? 


Urbano Lorenzo Seva, Reus 2020