martes, 10 de octubre de 2017

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 dos libros sobre números primos).

Reto:

He utilizado el método de César para codificar una famosa frase de una de mis películas favoritas y ha quedado:

CXLJTJXCAJENIBJU


¿Qué es lo que está a punto de decir Ilsa?

Indicación: He trasladado el alfabeto a la derecha un número de posiciones igual a la suma de todas las cifras de los dos números primos en los que se descompone 164009.
(Pista: ¡Probad con primos cerca de 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 164009 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 15) os colgaré un programita para codificar y descodificar mensajes.

3 comentarios :

  1. Soy Irene Sáenz de 2D
    El resultado a este reto me sale TOCALAOTRAVEZSAM.
    He hecho la raíz cuadrada del número que nos has dado y me ha salido 404.
    Después he los números cercanos a la raíz:
    400 401 402 403 404 405 406 407 408 409
    de los cuales me quedo con los primos:
    401 y 409 que al multiplicarlos nos da 164009.
    Así que 4+4+1+9=18
    Por lo que tenemos que mover cada letra 18 lugares hacia la derecha.

    ResponderEliminar