Juangabrieltrianalaverde.2011.Pdf (469.5Kb)
Total Page:16
File Type:pdf, Size:1020Kb
Aplicaciones matriciales a criptograf´ıa Juan Gabriel Triana Laverde Universidad Nacional de Colombia Ciencias, Matem´aticas Bogot´a,Colombia 2011 Aplicaciones matriciales a criptograf´ıa Juan Gabriel Triana Laverde Tesis o trabajo de grado presentada(o) como requisito parcial para optar al t´ıtulode: Magister en Matem´aticaaplicada Director(a): Ph.D. Jorge Mauricio Ruiz Vera Universidad Nacional de Colombia Ciencias, Matem´aticas Bogot´a,Colombia 2011 v Resumen Desde los inicios de la escritura se ha visto la necesidad de transmitir mensajes de manera que sean ocultos para aquellos que no sean el destinatario. Las t´ecnicasde cifrar mensajes han sido desarrolladas desde tiempos remotos, lo cual permiti´ola proliferaci´onde diversos m´eto- dos, algunos de ellos aun no han logrado ser totalmente desmantelados, como es el caso del cifrado por sustituci´onmonoalfab´etica.En este trabajo se establece un m´etodo, basado en la descomposici´onen valores singulares y herramientas computacionales, que permite mejorar los resultados obtenidos con otros m´etodos de descifrado basados en el an´alisis de frecuencias. Palabras Clave: Algebra Lineal Num´erica,criptograf´ıa,Procesamiento de texto.. Abstract From the beggining of writing we have seen the need to hide and transmit mes- sages in a way that they will be hidden to everybody but the receiver of the message. Techniques to encrypt messages have been developed from a long time ago, which al- lowed the proli- feration for diverse methods, some of them have not been completely dismantled, like the monoalphabetic substitution encryption. In this work we are looking to establish a method, based on the singular value decomposition and computational tools, to improve the results obtained with other decoding methods. Keywords: Numerical Linear Algebra, cryptography, Text Processing. Contenido Resumen V 1. Introducci´on 2 2. Descifrando la realidad 4 2.1. Matriz de frecuencias . 5 2.2. Descomposici´onen Valores Singulares . 8 2.2.1. Aproximaci´onde Rango 1 . 11 2.2.2. Aproximaci´onde Rango 2 . 14 2.3. Construcci´ondel criterio de clasificaci´on . 17 3. Consideraciones adicionales 19 3.1. Regla vfc ...................................... 19 3.2. Bigramas . 22 3.3. Entrop´ıa . 22 4. Resultados 27 4.1. Resultado al descifrar utilizando Aritm´eticaModular . 29 4.2. Resultado al descifrar utilizando directamente la tabla de frecuencias . 30 4.3. Resultado al descifrar con el m´etodo propuesto . 30 5. Conclusiones 32 A. Anexo: Cifrados por sustituci´onmonoalfab´etica I A.1. cifrado monogr´amico . II A.1.1. Cifrado af´ın . II A.1.2. Cifras hebreas . IV A.1.3. La cifra del Kamasutra . V Contenido 1 A.1.4. cifra con palabra clave . VI A.2. cifrado poligr´amico . VII A.3. Cifrado Tomogr´amico. VIII B. Anexo: Algebra Lineal X Bibliograf´ıa 17 1. Introducci´on Existen diversos m´etodos para encriptar o cifrar un mensaje, Giovanni Battista della Por- ta(1535-1615) en su texto de cuatro vol´umenes furtivis literarum notis-vulgo de ziferis1 cla- sifica las t´ecnicasde cifrado en tres grupos, que constituyen la criptograf´ıacl´asica: Cifrado por trasposici´on Cifrado por sustituci´on Cifrado por sustituci´onpor s´ımbolos En el cifrado por trasposici´onlos caracteres cambian de posici´onpero mantienen su rol. En el cifrado por sustituci´onlos caracteres mantienen su posici´on,pero cambian de rol. El cifrado de sustituci´onpor s´ımbolos, es un cifrado por sustituci´onen el cual el alfabeto original del mensaje no coincide con el alfabeto de cifrado, en esta t´ecnicase usan alfabetos extra~nospara cifrar el mensaje, este procedimiento de cifrado fue utilizado por la orden de los Templarios quienes extra´ıanlos s´ımbolos de un objeto conocido como la estrella de las ocho beatitudes, la cual fue utilizada como emblema de la orden. En la actualidad los m´etodos de cifrado son mucho m´assofisticados, entre ellos el m´asuti- lizado es el algoritmo RSA, creado por Martin Gardner publicado en 1977 en la revista Scientific American, basado en n´umerosprimos de gran magnitud [[1],p.104 ], el cual em- plea el modelo de clave p´ublica.La confiabilidad que ofrece el algoritmo RSA permiti´oa Phil Zimmerman, en 1991, desarrollar el PGP (Pretty Good Privacy) que es un algoritmo de cifrado que funciona f´acilmente en computadores dom´esticos.PGP utiliza conceptos de criptograf´ıacl´asicay los combina con el algoritmo RSA. Los m´etodos cl´asicosde cifrado siguen vigentes a´unen nuestra era, en la que la tecnolog´ıaes la principal herramienta, por esta raz´onllama la atenci´onque el cifrado por sustituci´onno 1Esta obra resume el conocimiento criptogr´aficode la ´epoca 3 haya sido completamente desmantelado a´un.En particular, la sustituci´onmonoalfab´eticaes una de las versiones m´as simples de los m´etodos de sustituci´on,sin embargo si tenemos un mensaje cifrado por sustituci´onmonoalfab´eticaen un alfabeto de n caracteres, tendremos que los posibles mensajes descifrados son n!. El alfabeto que utilizamos en nuestro idioma consta de n = 27 caracteres (incluyendo la letra ~n), por tanto existen 27! posibles mensajes. Por supuesto no consideraremos todos los posibles mensajes, ya que almacenar, procesar y analizar 27! (del orden de 1028) mensajes no es viable. En el proceso de criptoan´alisisde un mensaje, el punto de partida usual es el an´alisisde frecuencias, una t´ecnica que permite relacionar caracteres a partir de la frecuencia con que aparecen en el mensaje, sin embargo el proceso de descifrado suele realizarse por comparaci´on directa entre los resultados del an´alisisy tablas de frecuencias existentes para cada idioma, lo cual restringe dichos m´etodos a garantizar resultados satisfactorios cuando los mensajes son de gran longitud, debido a la ley de los grandes n´umeros. El principal problema de este tipo de t´ecnicasde ataque a un mensaje cifrado es el no considerar las diferencias entre los caracteres del alfabeto, ya que las consonantes y vocales no son distinguibles. En este trabajo se propone un algoritmo para descifrar mensajes cifrados por sustituci´on monoalfab´etica,dicho algoritmo se basa en los pilares del ´algebralineal con la que se establece un criterio para distinguir los caracteres que representan vocales de aquellos que representan consonantes en el mensaje cifrado, con lo cual se mejorar´ala precisi´onen el descifrado del mensaje. Para tal fin, este trabajo se dividi´ode tal manera que el lector podr´aencontrar en el cap´ıtulo2 los desarrollos a partir del an´alisisde frecuencias, seguido de las herramientas de ´algebralineal que permiten sustentar te´oricamente la efectividad del algoritmo propuesto; tambi´ense incluyen los criterios de clasificaci´ondesarrollados. Las consideraciones adicionales que permiten mejorar la precisi´ondel algoritmo propuesto son tratatadas con detalle en el cap´ıtulo3, de este modo se propon´eel algoritmo de descifrado. En el cap´ıtulo4 se comparan los resultados obtenidos sobre un mensaje que se ataca utilizando aritm´eticamodular, el an´alisisde frecuencias directamente y el m´etodo propuesto. Las conclusiones de este trabajo se encuentran en el cap´ıtulo5, seguidas por los ap´endices que permitir´anal lector conocer un poco m´asacerca de los m´etodos de cifrado por sustituci´on monoalfab´etica(Ap´endiceA), y de las herramientas de ´algebralineal empleadas (Ap´endice B). 2. Descifrando la realidad El proceso de conversi´onde un mensaje en texto plano a un texto cifrado, o viceversa, ma- tem´aticamente puede ser visto como una transformaci´onentre dos espacios de caracteres, en particular dicha transformaci´onpuede ser una modificaci´onde s´ımbolos o un reordena- miento en la manera en la cual se presentan los caracteres. El proceso de construcci´onde dicha transformaci´on,implica el dise~node algoritmos que permitan modificar la forma en que se presenta el mensaje, dependiendo de la funci´on del algoritmo, puede ser un algoritmo de cifrado o de descifrado. La principal garant´ıade que el mensaje se transmite de forma segura (incomprensible para cualquier persona que no sea el destinatario) es que el algoritmo de cifrado solo sea cono- cido por el destinatario y el emisario, sin embargo, debido a que el cifrado es de manera algor´ıtmica,resulta probable la construcci´onde un algoritmo inverso que permita, dado un texto cifrado, descifrar un mensaje. Si dicho algoritmo inverso existe, se dice que el sistema criptogr´aficoes reversible, es decir puedo a partir del texto plano construir un texto cifrado, y a partir de un texto cifrado reconstruir un texto plano, raz´onpor la cual algunos autores dicen que el sistema es de dos v´ıas. En el caso de los mensajes cifrados por sustituci´on,sabemos que son altamente susceptibles al an´alisisde frecuencias [[1], p.39], dicho an´alisispuede ser considerado como el estudio de la frecuencia con la que aparecen los s´ımbolos en los mensajes. El an´alisisde frecuencias fue desarrollado por el sabio Al-kindi (801-873), ha sido utilizado en diversas etapas de la historia, mostrando resultados bastante buenos, tanto as´ıque muchos m´etodos de cifrado fueron creados con el fin de burlar este tipo de ataque. La efectividad del an´alisisde frecuencias radica en que distintas letras no aparecen con la misma frecuencia en un mensaje, esto hace que algunas de ellas destaquen por su abundancia (e,a), y otras por su escasez (k,x), por ejemplo las vocales que, pese a ser solo 5, ocupan casi la mitad de la longitud de un texto en espa~nol.Este tipo de an´alisisnos permite determinar 2.1 Matriz de frecuencias 5 que caracteres son m´asfrecuentes en un mensaje, m´asa´unque combinaciones de caracteres suelen verse con m´asfrecuencia que otras, lo cual permite a un criptoanalista inferir sobre la correspondencia de los caracteres en el texto cifrado y en el texto plano.