You are on page 1of 6
APLICACION DE LAS MATRICES INVERTIBLES EN CRIPTOGRAFIA Juan Carlos Cortés Lépez Gema Calbo Sanjuan Juan Carlos Cortés Lépes, Departamento de Matemética Aplicada Universidad Politécnica de Valencia Gema Calbo Sanjuin, Departamento de Matematicas LES. Els Evols, L’Alcidia (Valencia) RESUMEN Este trabajo pretende mostrar una aplicacién de las matrices invertibles (y en particular de las matrices ortogonales) a la codificacién de mensajes. 1. INTRODUCCION Para los matemdaticos teéricos, una de las 4reas mas apasionantes de las matematicas es la Teorfa de Nimeros, que se ocupa del estudio de las propiedades de éstos, y en particular, de los que se consideran su mate- ria prima: los mimeros primos, debido a que todo entero positivo es pro- ducto de ntimeros primos. Sin embargo, en los tiltimos afios son ya muchos los cientificos aplicados que han decidido interesarse por esta rama de las matemiaticas, al encontrar entre sus ms abstractos resultados, inte- resantes aplicaciones que permiten satisfacer ciertas demandas de la socie- dad actual, y entre éstas, la que nos interesa en este trabajo: la cripto- graffa. Un area de conocimiento que se ocupa del disefio de algoritmos para transmitir mensajes de forma segura. En la década de los afios cuarenta, donde se establece el origen de Ja criptografia, el uso de claves para enviar mensajes estaba practicamente restringido al campo de la estrategia militar, por eso fue que las primeras investigaciones criptogrdficas se hicieron en el seno del ejército. Sin embar- go, en este sentido en la actualidad las cosas han cambiado radicalmente y hoy dia son muchas las situaciones cotidianas donde efectivamente, necesitamos hacer uso de la criptografia: cuando utilizamos la tarjeta de orédito en cualquier cajero automatico para realizar una operacién ban- caria necesitamos identificarnos a través de una clave; cuando encen- demos e] mévil para realizar una Hamada, éste nos pide antes que intro- 279 280 duzcamos un PIN (Personal Identification Number); cuando accedemos a nuestra cuenta de correo electrénico, el ordenador nos exige que uti- licemos nuestra contrasefia;... Practicamente todos los algoritmos eficientes disefiados para esce- narios tanto de clave ptiblica como privada, como pueden ser los cono- cidos métodos RSA, HG,,...se basan en resultados de Teoria de Niimeros. Se necesita un buen bagaje matematico en este rea del Algebra para com- prender estos métodos, por Jo que quedan fuera del alcance de los estu- diantes del tiltimo curso de bachillerato o un primer curso universitario de una carrera tecnolgica. El objetivo de estas péginas es mostrar un método sencillo para intcoducir las ideas basicas de la criptografia mediante el uso de herramientas bdsicas del algebra matricial, que si son conocidas en estos niveles educativos. 2. CODIFICANDO MENSAJES CON MATRICES ORTOGONALES Para codificar un mensaje los elementos que se requieren son: * Un omisor. * Un receptor, + Un mensaje, + Un cédigo. Cuando hablamos de c6digo, implicitamente estamos hablando de un método de codificacién, es decir, algdn algoritmo biunivoco que asig- ne a cada cardcter del mensaje otro cardcter. Este método hace que el mensaje enviado por el emisor se transforme en una cadena de simbo- los ilegibles al resto de los receptores que no sean legales. Dependiendo de la calidad del método de codificacién, el mensaje transformado, aunque sea capturado por receptores ilegales, seré mds 0 menos dificil de descifrar. A continuacién, veremos un método sencillo para codificar mensa- jes, basado en dilgebra matricial, Lo primero que hacemos es elegir un cédigo (I* fase del proceso de codificacin). Como el trabajo tiene carécter divulgativo, elegimos wn cédigo sencillo basado en invertir numéricamente la sucesin de las posiciones que ocupan las letras del abecedario (véase tabla 1). A|B[c|D Can f N 27 | 26 | 25 24 | 23 [22 | 21 [20 | 19 | 18 C14 | WNlolrltotri{s|rlulv[w y [Zz 7 4 2a filo s iz c Ey cy 1 oe ‘Tabla 1, Codigo utilizado en la I* fase del proceso de codificacién. Supongamos que deseamos enviar el siguiente mensaje: QUEDAMOS EN EL ALTOZANO A LAS NUEVE Desde luego una forma inmediata de codificar el mensaje seria, uti- lizando la tabla 1, escribir 10 6 23 24 27 15 12 8 23 14 23 16 27 167 12 1 27 14 12 27 16 278 146 23 5.23, Sin embargo, el método de cifrado empleado es extremadamente sen- cillo lo que sin duda hace muy vulnerable al mensaje. Veamos c6mo mejo- rar el algoritmo de codificacién utilizando matrices. Convengamos en separar los caracteres del mensaje en grupos de dos: QU ED AM OS EN EL AL TO ZA NO AL AS NU EV EZ Obsérvese que como hay un ntimero impar de caracteres, hemos afia- dido a la ultima letra del mensaje otra letra (por ejemplo, la Z) para poder seguir trabajando, aunque esto no supondra una desvirtuacién del men- saje, ya que, el receptor al descodificarlo observard todo el mensaje con un tiltimo cardcter técnico que evidentemente no concuerda, por lo que Iégicamente lo desechar4. A continuacién, disponemos el mensaje asi diseccionado en vectores columnas de dimensién dos, pero mediante el cédigo de la tabla 1: 10 E 23 A 7 27) lo _ 12 : ny ul Le] * Lola} > Lays]? Ls Jobs? Ahora elegimos la transformaci6n matricial que encripte atin més el mensaje (2* fase del proceso de codificaci6n). Tomamos la siguiente matriz quasi-ortogonal (con determinante uno, luego invertible): ae? ee! = = Ate 11 -1 2 llamada matriz de codificacién, y transformamos los vectores dados en (1) mediante + atte Ue: «lei TET] (eG HH) <0 THe) 21 y procediendo asf hasta el final, enviamos el siguiente mensaje codifi- cado: 26 16 70 47 69 42 32 20... Para descifrar el mensaje, el receptor legal, quien suponemos que cono- ce la matriz de codificacién, debe actuar como sigue: eis 16 {RH CHE CLE: obteniendo asi la sucesi6n: 10 6 23 24... Por lo que utilizando la tabla 1, el receptor descifrard el mensaje. Analicemos ahora el método empleado: Enla La matriz de codificacién tinicamente sirve para hacer més com- plejo el algoritmo de encriptacién dei mensaje y por lo tanto para conseguir una mayor seguridad del proceso. La caracteristica esencial que debe tener la matriz de codifi- cacién es que debe ser invertible, para garantizar que la segun- da fase del proceso de codificacién sea reversible 0 biunivo- ca, es decir, se pueda descodificar el mensaje, a través de la matriz inversa. En realidad que ta matriz de cadificacién sea ortogonal o qua- si-ortogonal (y por tanto invertible), no es fundamental, ini- camente esta eleccién es atractiva porque al tener determinante +1, los cdlculos que se obtienen no son engorrosos. En el caso de que Ia matriz sea ortogonal a coeficientes enteros, que- da garantizado que también seré del mismo tipo. Para la técnica utilizada, se necesita que tanto el emisor como ‘el receptor conozcan los elementos de ambas fases de codifi- cacién; el cédigo de la tabla 1 y la matriz de codificacién. El proceso de codificaci6n se puede hacer més y més complejo afiadiendo més fases al mismo. La caracteristica de los algo- ritmos que definen estas fases, es que deben ser biyectivos, sien- do posible calcular el algoritmo inverso. ilustraci6n anterior hemos trabajado con matrices cuadradas de orden dos, pero el proceso es compatible con cualquier otro tamafio, Veamos agg qué aspectos cambian cuando adapramos las ideas a matrices cuadradas de orden tres. Lo haremos con el mismo mensaje que antes. En primer lugar, dividimos el mensaje original en palabras de Ion- gitud tres: QUE DAM OSE NEL ALT 0ZA NOA LAS NUE VEZ (como antes, hemos tenido que afiadir al final la letra Z). En segundo lugar, utilizando la tabla 1 efectuamos el primer paso de la codificaci6n: Q] fio D) [24 oO} [12 uj=|6] ; | 4]=)27] ; |s|=ls] ; E| [23 M] [1s E| |2 A continuacién, elegimos una mattiz de codificacién quasi-ortogonal 10 2 3.0 -2 A=|-1 1 0] = 4 3 1 2 103 -10 1 y realizamos el segundo paso de la codificacién: Q| [1 0 2) [10] fs6 D| Ji 0 2] [24] [s4 A r olle fala), al alal-1 t ol-lazt=t3 E} [1 0 3} {23} |79 M| {1 0 3} [15} 69. Oo] [1 0 2) [12] [se A}Sl=|-1 1 of.) 8 |=f—4 E} [1 0 3 [23] [a1 Ahora enviaremos el siguiente mensaje a nuestro receptor: 56 -4 79 54.3 69 58 -4 81, quien descodificard el mensaje mediante la matriz inver: 36] [3 0 -21[s6] [10 34) [3 -2) sa] fog A*|-4]=13 1 -2/-|-4J=l6]; 4'-[3 ]2}3 1 -2].13 Jelo7 79} [-1 0 1] [79] [23 69] [-1 0 1] {69} [1s a través de la cual se obtiene la sucesién: 10 6 23 24 27 15 12 8 23... y mediante la tabla 1, se descifra el mensaje. ‘Antes hemos subrayado que el método puede hacerse mis seguroaumen- 283 tando el mimero de fases del proceso de codificacién, pero en la priic- 284 tica esto también puede significar un aumento de las posibilidades de error (derivados del incremento de los calculos que lleva implicito el méto- do para codificar y descodificar). Para aumentar las probabilidades de que el mensaje legue correctamente, suelen afiadirse al final del mismo lo que se denominan los digitos de control. Por ejemplo, la letra del DNI es un cardcter de control, 0 por ejemplo, cuando se da el ntimero de la cuenta corriente bancaria, en medio del mismo, hay dos cifras que son los digitos de control. Esta misma idea, puede implementarse en el método matricial anterior. Existen muchas formas de hacerlo. Por ejemplo, podemos afiadir al final del mensaje dos nimeros: el primero que nos indique el nimero de palabras que forman el mensaje (en el ejemplo utilizado, 7) y el niimero de veces que apa- rece la letra “e” (en el ejemplo, 5). Para efectuar el primer paso de la codi- ficacion, tendremos que ampliar la tabla 1, que debe posibilitar la intro- duccién codificada de esta informacion. Una forma seria ir asignando acada nimero entero no negativo (0,1,2,3,4,...) otro niimero, por ejem- plo, continuando desde el principio con la tabla 1 (28,29,30,31,32,...), respectivamente. Con esta estrategia de control, nuestro receptor legal, deberd saber ademds de la nueva tabla 1 y 1a matriz de codificacién, que al final del mensaje aparecerdn unos digitos de control asf como su sig- nificado. En la ejemplificacién que hemos dado nosotros, el mensaje codi- ficado en su primera fase seria ahora 10 6 23 24 27 15 12.8 23 14 23 16 27 167 12.127 14 12.27 16 278 14 6 23 5.23 35.33 siendo 35 y 33 los nimeros de control. El resto del proceso es igual antes. 3. CONCLUSIONES El trabajo muestra una aplicacién de las matrices a la codificacién. de mensajes. El atractiva que sin duda tiene esta actual temdtica entre el alumnado de un ultimo curso de bachillerato o un primer curso cien- tifico-técnico universitario por estar familiarizados con el uso de claves, junto a la sencillez de las herramientas matemiticas que se requieren, hacen que las ideas que se han expuesto en estas paginas pueden ser apro- vechadas en el aula en los niveles educativos citados. BIBLIOGRAFIA {1] Mizrahi, A., Sullivan S. (1999); Matemdticas Finitas. 2* edicién. Ed. Limusa Wiley. México, [2] Munuera, C. y Tena, J. (1997): Codificacién de la informacién. Bd, Universidad de Valladolid. Valladolid. [3] Pino Caballero, G, (1999): Introducci6n a la criptografia. Ed, RA-MA. Madrid.

You might also like