Vous êtes sur la page 1sur 11

TALLER DE DETECTIVES: DESCIFRANDO MENSAJES SECRETOS

MAR IA CHARA
charamaria@gmail.com

Resumen. Notas del taller para estudiantes Taller de Detectives: descifrando mensajes secretos dictado durante el tercer festival de matem atica AniMATE de la Facultad de Ingenier a Qu mica de la Universidad Nacional del Litoral.

1.

n Introduccio

Desde hace ya mucho tiempo, el hombre ha intentado asegurar la privacidad en sus comunicaciones. La idea es asegurarse, que el mensaje que env a un emisor a un receptor, no pueda ser entendido ni alterado por otras personas. Una forma de mantener esta privacidad en el env o de mensajes, es transformando el mensaje de tal forma que resulte incomprensible para un tercero pero f acilmente descifrable por el destinatario del mensaje. Los principales problemas asociados al env o de mensajes son: que el emisor no tiene la seguridad, que sea solamente el receptor, quien esta recibiendo el mensaje; que el mensaje recibido por el receptor, no haya sufrido alteraciones y que el receptor tenga la seguridad, que el mensaje recibido provenga del emisor apropiado. La palabra criptograf a es de origen griego (conjunci on de kipt os que signica oculto y grapho que signica escribir) y designa al estudio de numerosas t ecnicas ideadas para enmascarar un texto, que originalmente tratan sobre la protecci on o el ocultamiento de la informaci on frente a observadores no autorizados. El ciptoan alisis, en cambio, es el el area de estudio que se preocupa de descifrar mensajes sin conocer el m etodo del cifrado. A trav es de la criptograf a la informaci on puede ser protegida contra el acceso no autorizado, su interceptaci on, su modicaci on y la inserci on de informaci on extra. Tambi en puede ser usada para prevenir el acceso y uso no autorizado de los recursos de una red o sistema inform atico y para prevenir a los usuarios la denegaci on de los servicios a los que s est an permitidos. Modernamente, la criptograf a es la metodolog a para proveer la seguridad de las redes telem aticas, incluyendo la identicaci on de entidades y autenticaci on, el control de acceso a los recursos, la condencialidad de los mensajes transmitidos, la integridad de los mensajes y su no repudio. Una manera de tratar de asegurar la informaci on, es tomar el mensaje que se desea enviar y mediante una regla apropiada esconderlo, luego enviar el mensaje cifrado al receptor, y este u ltimo aplicando una regla inversa a la usada por el emisor, recupera el mensaje original. Como es de
1

MAR IA CHARA

suponer, esto presupone un acuerdo entre el emisor y el receptor, con respecto a las reglas que se usar an. En la jerga de la criptograf a, la informaci on original que debe protegerse se denomina texto en claro o texto plano. El cifrado es el proceso de convertir el texto plano en un galimat as ilegible, denominado texto cifrado o criptograma. Por lo general, la aplicaci on concreta del algoritmo de cifrado (tambi en llamado cifra) se basa en la existencia de una clave: informaci on secreta que adapta el algoritmo de cifrado para cada uso distinto. Las dos t ecnicas m as sencillas de cifrado, en la criptograf a cl asica, son la sustituci on (que supone el cambio de signicado de los elementos b asicos del mensaje -las letras, los d gitos o los s mbolos-) y la trasposici on (que supone una reordenaci on de los mismos); la gran mayor a de las cifras cl asicas son combinaciones de estas dos operaciones b asicas. El descifrado es el proceso inverso que recupera el texto plano a partir del criptograma y la clave. El protocolo criptogr aco especica los detalles de c omo se utilizan los algoritmos y las claves (y otras operaciones primitivas) para conseguir el efecto deseado. El conjunto de protocolos, algoritmos de cifrado, procesos de gesti on de claves y actuaciones de los usuarios, es lo que constituyen en conjunto un criptosistema, que es con lo que el usuario nal trabaja e interact ua. 1.1. Tipos de criptosistemas. Existen dos tipos fundamentales de criptosistemas o sistemas

de cifrado: Criptosistemas sim etricos o de clave privada. Son aquellos que emplean una misma clave k tanto para cifrar como para descifrar. Presentan el inconveniente de que para ser empleados en comunicaciones la clave k debe estar en posesi on tanto en el emisor como en el receptor, lo cual nos lleva preguntarnos c omo transmitirles a los participantes en la comunicaci on esa clave de forma segura. Criptosistemas asim etricos o de clave p ublica, que emplean una doble clave (kp, kP ). kp se la conoce como clave privada y kP se la conoce como clave p ublica. Una de ellas sirve para la transformaci on de cifrado y la otra para la transformaci on de descifrado. Estos criptosistemas deben cumplir adem as que el conocimiento de la clave p ublica kP no permita calcular la clave privada kp. Sin la clave privada (que no es deducible a partir de la clave p ublica) un observador no autorizado del canal de comunicaci on ser a incapaz de descifrar el mensaje cifrado. En la pr actica se emplea una combinaci on de estos dos tipos de criptosistemas, puesto que los criptosistemas asim etricos presentan el inconveniente de ser computacionalmente mucho m as costosos que los primeros. En el mundo real se hace uso de la criptograf a asim etrica para codicar las claves sim etricas y poder as enviarlas a los participantes en la comunicaci on incluso a

TALLER DE DETECTIVES

trav es de canales inseguros. Despu es se codicar an los mensajes (m as largos) intercambiados en la comunicaci on mediante algoritmos sim etricos, que suelen ser m as ecientes. 2. tricos Criptosistemas sime

Comenzaremos mirando algunos ejemplos de criptosistemas sim etricos. 2.1. Transformaciones del C esar.

Uno de los primeros m etodos conocidos para esconder mensajes, es el que usaba Julio C esar, el cual consist a en sustituir cada letra por la letra que estaba una cierta cantidad de lugares m as a la derecha en la abecedario (volviendo a partir desde la primera letra despu es de la u ltima). Notemos que usando los 27 s mbolos del alfabeto, mas los s mbolos , y ?, tenemos s olo 30 transformaciones de C esar distintas. Si desplazamos 12 posiciones cada letra, obtenemos la siguiente tabla de alfabeto:
A M B N C N D O E P F Q G R H S I T J U K V L W M X N Y N Z O P Q ? R A S B T C U D V E W F X G Y H Z I J K ? L

Bajo esta transformaci on la palabra ENIGMA se convierte en PYTRXM. Utilizando la rueda del C esar, se pueden encriptar y desencriptar f acilmente muchos mensajes.
D E F G B C A GH I J KL H M F

Z - X Y ? W AB CD E ?

L MN J K N O PQR S NN
O

Figura 1. Rueda para cifrar y descifrar mensajes utilizando transformaciones del C esar

Si podemos describir la tranformaci on mediante una la f ormula matem atica entonces podremos automatizar f acilmente las operaciones de cifrado y descifrado mediante la programaci on de algoritmos que podr an ser luego ejecutados por una computadora.

Q R S T U P WX Y Z V UV

MAR IA CHARA

Para hacer m as operativo el m etodo de Julio C esar, le vamos a incorporar un poco de matem atica. Con este n realicemos los siguientes pasos. Primero: Asignemos a cada s mbolo un n umero entre 0 y 29 de la siguiente manera
A 0 B 1 C 2 D 3 E 4 F 5 G 6 H 7 I 8 J 9 K 10 L 11 M 12 N 13 N 14 O 15 P 16 Q 17 R 18 S 19 T 20 U 21 V 22 W 23 X 24 Y 25 Z 26 27 28 ? 29

Segundo: Sustituyamos cada letra de nuestro mensaje, por el n umero asignado: E N I G M A

4 13 8 6 12 0 Por lo tanto el mensaje original, num ericamente, se ver a as : 4 13 8 6 12 0 Tercero: Ahora, a nuestro mensaje num erico cifrado, apliquemos la transformaci on del C esar, Sumar 12: 4 13 8 6 12 0

+12 +12 +12 +12 +12 +12 16 25 20 18 24 12 Entonces la versi on num erica del mensaje encriptado es 16 25 20 18 24 12

Cuarto: En nuestro mensaje num erico cifrado, sustituyamos los n umeros por las letras correspondientes: 16 25 20 18 24 12 P Y por lo tanto el mensaje a enviar es PYTRXM que es el mismo que encontramos antes. Como es de suponer, el receptor para recuperar el mensaje, deber a conocer la clave en cuesti on, y aplicar la regla inversa, es decir, asignar a cada letra el n umero que le corresponde, luego a cada n umero restarle 12, y nalmente sustituir cada n umero por su letra correspondiente. Y T R X M

TALLER DE DETECTIVES

Al revisar con m as cuidado el m etodo descripto, nos damos cuenta que surgen algunos aspectos especiales, por ejemplo, 18 + 12 = 30 = 0 19 + 12 = 31 = 1 20 + 12 = 32 = 2 lo que est a indicando que la suma que se usa en el m etodo del C esar, no es la suma usual de n umero enteros. En efecto, la usada en este m etodo es suma m odulo 30. Qu e signica esto? A continuaci on aclaramos matem aticamente este punto. Recordemos que cuando dividimos dos n umeros enteros a y b tenemos siempre dos enteros u nicos, q y r (llamados cociente y resto) tales que a = q b + r, con 0 r < |b|. Decimos que dos enteros x e y son congruentes m odulo n (natural) si x e y tienen el mismo resto cuando los dividimos por n, es decir, si x = q1 n + r En este caso escribimos xy o decimos que x e y son iguales m odulo n. Entonces para hacer la suma de dos enteros x + y m odulo n tenemos que seguir la siguiente regla: x+y m od n = x+y r donde r es el resto de dividir a x + y por n. Por ejemplo si queremos hacer una trasformaci on de C esar sumando 25, y queremos transformar el s mbolo ?, tenemos que 29 + 25 = 54 24 pues 54 = 1 30 + 24 y por lo tanto ? se transforma en X. En la actualidad, este sistema no se utiliza nunca, puesto que es extremadamente inseguro, ya que basta conocer una sola equivalencia entre letras para determinar completamente la clave. En efecto, supongamos que conocemos que a una cierta letra representada por el n umero x le corresponde m od 30 si x + y < n si x + y n m od n y y = q2 n + r.

MAR IA CHARA

otra representada por el n umero y . En tal caso, la clave k puede conocerse despej andola de la ecuaci on x + k y m od 30 y por lo tanto puede descifrarse el texto completo. M as a un, por m as que no se conozca ninguna equivalencia, se puede tratar de descifrar la clave utilizando el an alisis de frecuencia, cuya idea general consiste en determinar la letra o las letras que m as aparecen en un texto cifrado, pues muy probablemente corresponder an a las letras con mayor frecuencia estad stica del idioma en que fue redactado el texto claro. En un texto corto tal vez no se pueda hacer tal an alisis, pero en este caso se puede proceder por prueba y error ya que s olo hay que probar con 30 claves diferentes. 2.2. Transformaciones multiplicativas.

Volvamos al m etodo de Julio C esar, donde la clave es sumar n para alg un n, no nulo. Como una manera de variar el m etodo de Julio C esar, se puede intentar cambiar la clave, sumar por multiplicar. Exploremos esta variante. Elijamos, por ejemplo, multiplicar por 5. En este caso la multiplicaci on tambi en se hace m odulo 30, es decir, seguimos la regla xy m od n = xy r donde r es el resto de dividir a x y por n. En este caso vamos a tener que:
S mbolo N umero correspondiente N umero multiplicado por 5 m odulo 30 S mbolo cifrado A 0 0 A B 1 5 F C 2 10 K D 3 15 O E 4 20 T F 5 25 Y G 6 0 A H 7 5 F I 8 10 K

si x y < n si x y n

Por lo tanto, es claro que la clave de multiplicar por 5 m odulo 30 no sirve. Ser a que no se puede usar la multiplicaci on? Se puede usar la multiplicaci on, pero el n umero 5 no se comporta bien? Veamos qu e pasa si elegimos otro n umero, ejemplo 7. En este caso las letras, manteniendo el esquema anterior, van a quedar de la siguiente manera:
S mbolo N umero correspondiente N umero multiplicado por 7 m odulo 30 S mbolo cifrado A 0 0 A B 1 7 H C 2 14 N D 3 21 U E 4 28 F 5 5 F G 6 12 M H 7 19 S I 8 26 Z J 9 3 D K 10 10 K L 11 17 Q M 12 24 X N 13 1 B N 14 8 I

S mbolo N umero correspondiente N umero multiplicado por 7 m odulo 30 S mbolo cifrado

O 15 15 O

P 16 22 V

Q 17 29 ?

R 18 6 G

S 19 13 N

T 20 20 T

U 21 27 -

V 22 4 E

W 23 11 L

X 24 18 R

Y 25 25 Y

Z 26 2 C

27 9 J

28 16 P

? 29 23 W

TALLER DE DETECTIVES

En este caso s obtuvimos una clave adecuada, ya que cada s mbolo se transforma en uno y s olo uno de los s mbolos cifrados. Entonces el sistema funciona con 7 y no con 5 Si se vuelve a probar con otros n umeros se descubre que el m etodo funciona bien con todos los n umeros entre 1 y 29 que no tienen factores primos comunes con el 30, es decir, aquellos n umeros que son coprimos (o primos relativos) con el 30. Este resultado es un caso particular de la siguiente propiedad. Proposici on 1. Sean a y n enteros, con a < n. Si a y n son coprimos, entonces los siguientes n umeros, m odulo n, son todos distintos: a, 2a, 3a, 4a, . . . , (n 1)a. Ahora bien, supongamos que se ha cifrado un mensaje usando, la clave de multiplicar por 7 (m odulo 30). Ahora si un receptor recibe un mensaje cifrado, entonces para decodicar puede hacer la tabla que se ha usado para cifrar o puede tratar de encontrar la regla inversa. Por ejemplo, en la clave de sumar un entero, la regla inversa era restar ese n umero m odulo n, pero ahora por cu anto habr a que multiplicar cada n umero del mensaje cifrado para recuperar la versi on num erica del mensaje original? Tenemos que buscar un n umero k tal que multiplicado por 7 m odulo 30 nos de 1, este ser a el inverso multiplicativo de 7 m odulo 30. Si miramos en la tabla anterior vemos que el n umero que buscamos es el 13, es decir, en m odulo 30 el n umero 13 es el inverso multiplicativo del n umero 7. Luego, para descifrar el mensaje, el receptor deber a multiplicar cada n umero del mensaje por 13 m odulo 30 para recuperar el mensaje original. 2.3. Algunas variantes.

Ya hemos visto que para cifrar la versi on num erica de un mensaje se pueden usar las claves de sumar m odulo 30 cualquier n umero entero positivo, o bien multiplicar m odulo 30 por cualquier entero coprimo con 30. Una idea interesante es tratar de combinar ambos m etodos. Por ejemplo, elegir un n umero entero positivo b, y un n umero a coprimo con 30, y usar como clave para encriptar el cambiar cada n umreo N de la versi on num erica del mensaje por aN + b m odulo 30, es decir, aplicar la transformaci on: N aN + b m od 30. La pregunta que surge naturalmente es si se comporta bien, es decir, si al aplicarla al abecedario se obtiene o no una permutaci on del abecedario. Como es de suponer, el problema estar a en el caso que existan dos letras diferentes, que con esta clave, se cifren por una misma letra. El siguiente resultado da la respuesta.

MAR IA CHARA

Proposici on 2. Sean a, b y n enteros positivos. Si a y n son coprimos, entonces los siguientes n umeros, m odulo n, son todos distintos: a + b, 2a + b, 3a + b, 4a + b, . . . , (n 1)a + b. 2.4. Sustituciones polialfab eticas.

El sistema de sustituci on polialfab etica consiste en elegir una palabra o frase que se constituir a la clave y se coloca tanta veces como sea necesario arriba del texto claro. Para cifrar cada letra del texto claro se observa qu e letra de la clave tiene por encima, y se le aplica la transformaci on de C esar correspondiente al n umero de dicha letra. Ejemplo 3. Por ejemplo, supongamos que el texto claro comienza diciendo EL-SECRETO-ES y la palabra clave elegida es MICLAVE. El cifrado ser a entonces:
clave M transformaci on correspondiente texto claro 12 E clave num erica transformamos clave num erica cifrada texto cifrado 4 +12 16 P I 8 L 11 +8 19 S C 2 27 +2 29 ? L 11 S 19 +11 9 J A 0 E 4 +0 4 E V 22 C 2 +22 24 X E 4 R 18 +4 22 V M 12 E 4 +12 16 P I 8 T 20 +8 28 C 2 O 15 +2 17 Q L 11 27 +11 8 I A 0 E 4 +0 4 E V 22 S 19 +22 11 L

Entonces el texto cifrado a mandar comenzar a con PS?JEXVPQIEL Observar que con este m etodo la letra E del mensaje original se transform o primero en P y luego en E y por lo tanto una misma letra del mensaje original puede ser representada por diferentes letras del texto cifrado y rec procamente, una misma letra del texto cifrado puede representar diferentes letras del texto claro, lo cu al lo hace m as dif cil de quebrar. Sin embargo, este sistema no es invulnerable ya que pueden atacarse con un an alisis de frecuencia m as no, y por lo tanto, tampoco se usa en la actualidad. 3. tricos Criptosistemas asime

En los m etodos de las secciones anteriores tenemos el problema de la distrubuci on de las claves. En efecto, si dos personas quieren intercambiar un mensaje secreto, el emisor debe primero codicarlo. Para ello necesita una clave, que deber a comunicar previamente al receptor. Como esta puede ser interceptada, debr a a vez ser codicada, para lo cu al tambi en necesitar a una clave y as sucesivamente. Para arreglar este problema se puede utilizar una clave p ublica, que no requiere

TALLER DE DETECTIVES

un intercambio previo y expl cito de la clave, o se puede utilizar algo llamado intercambio de claves para acordar una clave com un. 3.1. El sistema RSA.

A modo de ejemplo consideremos el siguiente problema. Ejemplo 4. Supongamos que Bob, que vive en Springeld, le quiere mandar a Alicia, que vive en el Pa s de las Maravillas, un mensaje de manera que s olo ella pueda leer su contenido. El problema es que el correo entre ambos lugares es bastante corrupto, los carteros abren y leen toda la correspondencia que no est e protegida. Sin embargo, dejan pasar paquetes que contengan objetos pero sin mensajes. C omo puede hacer Bob entonces para mandar el mensaje? Para resolver este problema, se invent o lo que hoy se conoce como criptograf a de clave p ublica. Y se basa en que cada individuo de la comunicaci on posee dos claves propias, una p ublica (que cualquiera pueda conocer) y una privada (que s olo el conoce). La primera de estas claves la puede saber cualquier persona y se utiliza para encriptar los mensajes y la segunda es la u nica que permite desencriptar. En el ejemplo, para que Bob pueda mandar el mensaje a Alicia, deber a primero avisarle que le quiere mandar un mensaje. Para que esto sea posible, Alicia le env a por correo a Bob un candado abierto, del que s olo Alicia tiene la llave. Bob recibe el candado, escribe el mensaje, lo pone en una caja y la cierra con el candado (ahora Bob no puede leer el mensaje, puesto que est a dentro de la caja y el no tiene la llave para abrir el candado). Bob le env a la caja a Alicia y ella la abre con su llave. En este ejemplo, el candado es la clave p ublica de Alicia, y la llave de la cerradura es su clave privada. La idea detr as de este ejemplo es la que se utiliza para el criptosistema RSA, que es uno de los m as populares sistemas de clave p ublica, y debe su nombre a las iniciales de los apellidos de sus autores Ron Rivest, Adi Shamir y Len Adleman quienes en 1977 describieron el algoritmo. 3.2. Intercambio de claves.

La idea de utilizar una clave p ublica para el intercambio de claves fue introducida en 1976 por dos especialistas norteamericanos en criptograf a, W. Die y M. Hellman, que idearon un sistema basado en ciertas funciones de la aritm etica modular que permiten acordar una clave entre dos partes sin necesidad de que esta sea transmitida. Un ejemplo ilustrativo es el siguiente. Ejemplo 5. Supongamos ahora, que el servicio de correos se ha vuelto m as corrupto a un. Los carteros no s olo leen toda la correspondencia sino que tambi en abren y roban todos los objetos que no est an protegidos. Lo u nico que no pueden abrir son las cajas protegidas con candado.

10

MAR IA CHARA

Supongamos que Bob le quiere enviar a Alicia un collar como regalo de cumplea nos. Si env a el regalo en una caja sin candado se lo van a robar. Si utilizan el m etodo anterior, el candado nunca le llegar a a Bob puesto que los carteros se lo robar an. C omo puede hacer Bob, utilizando u nicamente el servicio de correos, para enviar el collar a Alicia? La idea detr as de la resoluci on de este problema es lo que se conoce como intercambio de claves. Para que el collar le llegue a Alicia, Bob deber a hacer lo siguiente. Primero tendr a que poner el collar en una caja y ponerle un candado (del cual s olo el tiene la llave) y mand arselo a Alicia. Alicia cuando reciba el paquete no va a poder abrirlo, puesto que no tiene la llave del candado, pero puede ponerle a la caja otro candado, uno de ella, del cu al s tenga la llave y m andarselo de nuevo a Bob (ahora con dos candados). Bob al recibir la caja puede quitar su candado puesto que tiene la llave, pero no puede abrirla pues todav a tiene el candado de Alicia. Finalmente le env a, nuevamente, la caja a Alicia y ella con su llave puede abrir la caja y obtener el collar.

3.3.

Y la matem atica d onde aparece?

Los dos u ltimos problemas, tienen una formulaci on matem atica que es sencilla de describir ya que utilizan herramientas b asicas, pero muy poderosas, de la aritm etica modular, y pueden ser implementados computacionalmente. En el ejemplo del criptosistema RSA en el que Bob le quiere mandar un mensaje codicado a Alicia, para fabricar sus claves, cada usuario elige dos n umeros primos grandes p y q y hace p ublico su producto n = p q. Luego elige al azar un n umero e entre 1 y (n) (donde () denota a la funci on de Euler), coprimo con (n) que tambi en hace p ublico y calcula su inverso m odulo (n), al que llama d y lo guarda en secreto. Luego cada usuario tiene una clave p ublica kP = (n, e) y una clave privada kp = (p, q, d). De esta forma se generan las claves. Veamos ahora c omo se utiliza el sistema. Supongamos que la clave p ublica de Alicia es kP (A) = (n, e) y que Bob ya la conoce. Como primer paso, debe convertir el mensaje a enviar en un n umero natural x. Luego, tiene que calcular y = xe m od n que ser a el mensaje cifrado y env arle este n umero y a Alicia. Usando su clave privada, Alicia puede calcular x = y d m od n lo que le permite decodicar el mensaje, es decir, conocer x. La seguridad de este sistema est a basada en la dicultad de factorizar n umeros de gran tama no. Para el intercambio de claves, supongamos que denotamos con A a Alicia y con B a Bob, que desean acordar una clave k para luego utilizarla para cifrar mensajes con alg un sistema. El algoritmo consiste en los siguientes pasos:

TALLER DE DETECTIVES

11

A y B eligen un n umero primo p y un generador g del grupo multiplicativo Z p . Estos dos valores son p ublicos. A elige un n umero 1 < a < p 1 y le env a a B g a m od p. B elige un n umero 1 < b < p 1 y le env a a A g b m od p. B calcula (g a )b m od p = g ab m od p. A calcula (g b )a m od p = g ba m od p. La clave secreta que s olo comparten A y B es g ab m od p. Ejemplo 6. Supongamos que p = 79, g = 3 y que A y B han elegido a 19 y a 28 como sus respectivas claves privadas. En este caso, la clave ser a k = (319 )28 3728 45 m od 79.

Un intruso que conoce g y p y que intercepte g a m od p y g b m od p no podr a descubrir g ab m od p porque es incapaz de descubrir el valor de a y b, a menos que resuelva un logaritmo en un campo discreto de n umeros, ya que necesitar a descubrir los valores de a o b en las ecuaciones u = ga o v = g b . Afortunadamente para la seguridad del sistema, resolver este problema tiene un orden exponencial a p y por lo tanto no se conoce ning un algoritmo eciente que permita despejar el exponente en las ecuaciones anteriores. Sin embargo, el intercambio de Die-Hellman es sensible a un ataque de hombre en el medio (man in the middle) y por lo tanto no puede utilizarse sin una autenticaci on de usuario.

Vous aimerez peut-être aussi