viernes, 21 de septiembre de 2018

Criptografía

La criptografía consiste en codificar un mensaje de forma que, aunque llegue a manos indebidas, éste no pueda ser descifrado. Teniendo en cuenta la gran cantidad de información que intercambiamos hoy en día, sobre todo a través de Internet, es un tema muy importante, y un campo en el que trabajan muchos de los mejores matemáticos del mundo.

Pero este asunto ha interesado al ser humano desde hace mucho tiempo. Julio César codificaba los mensajes de sus ejércitos con, se llama así por eso, el cifrado de César, que consiste en trasladar el alfabeto un número de lugares a la derecha. Veamos un ejemplo para entenderlo: la siguiente tabla muestra el alfabeto trasladado 2 lugares hacia la derecha:


y así, si queremos enviarle a alguien el mensaje "secreto" (no ponemos espacios en blanco)

HOLACOMOESTAS
escribiríamos
FNJYANKNCQRYQ

y cuando llegase al destinatario, él lo descodificaría (se supone, claro, que conoce las reglas).

La verdad es que Julio César tuvo mucha suerte de que sus enemigos no tuviesen ni idea de matemáticas (por algo se les llamaba bárbaros), porque su método es muy fácil de romper (romper es la palabra que se usa para decir que las reglas de un método han sido descubiertas y ya no es seguro utilizarlo). Por cierto, hay una película, basada en hechos reales, en la que se cuenta cómo los ingleses lograron romper Enigma, la máquina que los nazis utilizaban para codificar sus mensajes durante la II Guerra Mundial.

Vamos a ver si vosotros sabéis más matemáticas que los bárbaros que vivían al norte del Imperio Romano. Os propongo un reto (entre todos los que contestéis correctamente en los comentarios del blog -pulsa aquí para ver cómo enviar la respuesta- sortearemos un libro).

Reto: he utilizado el método de César para codificar un mensaje y me ha quedado

MABIUSWKWAMABWAZWTIUWA

¿Qué dice el mensaje original?


Indicación: he trasladado el alfabeto a la derecha un número de posiciones igual a la suma de todas las cifras del menor de los dos números primos en los que se descompone 41989.
(Pista: buscad una lista de números primos en Internet y ¡probad con cercanos a la raíz cuadrada!).

Comentarios finales:

1) Un método que mejora un poco el de César consiste en reordenar el alfabeto como nos de la gana. Por ejemplo:


Este método tampoco es muy seguro, y una forma básica de intentar romperlo es estudiar cuántas veces aparece cada una de las letras en el mensaje y compararlas con las veces que aparece cada letra en el idioma en el que se cree que está escrito el original. Por ejemplo, en español se sabe que la letra que más aparece es la E, luego la A, etc, con los siguientes porcentajes aproximados (Fuente: Wikipedia):


2) Descomponer 41989 en sus factores primos os va a costar muy poco jugando con la calculadora (aprovechando la pista de la raíz cuadrada), pero hacer lo mismo a ciegas con un número grande es una tarea muy larga y pesada (hay que ir probando números hasta encontrarlos: utilizando los ordenadores actuales más potentes, la tarea podría durar siglos). Es por eso que los números primos son la base matemática de métodos seguros (¡de momento!) para codificar mensajes.

3) Cuando publique la solución del reto y los ganadores (tenéis hasta el próximo domingo 30) os colgaré un programita para codificar y descodificar mensajes.

4 comentarios :