39
. . . . . . . . . . Monografía Una Introducción a la criptografía. El criptosistema R.S.A. . . . . . . . . . .   M a r i o M e r i no Ma r t í ne z  D 0405 055  Ba c h i l l e r a t o I n t e r na c i onal 2 0 03 - 2 0 04  I . E . S C a r d e n a l L ó p e z d e M e n d o z a 3970 Palabras, 39 Páginas

Una Introducción a La Criptografía,El Criptosistema Rsa

Embed Size (px)

Citation preview

  • . . . . . .. . . .

    Monografa

    Una Introduccin a la criptografa. El criptosistema R.S.A.

    . . . . . . . . . .

    Mario Merino Martnez D 0405 055 Bachillerato Internacional 2003 - 2004 I.E.S Cardenal Lpez de Mendoza 3970 Palabras, 39 Pginas

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    . . . . . . .. . .

    Una introduccin a la criptografa. El criptosistema R.S.A.

    Resumen

    Esta monografa trata sobre una de las aplicaciones directas de las matemticas: la criptografa. Describe qu es, as como su relacin con otras ciencias. Se comenta su valor histrico y actual, sus usos ms comunes. Se analizan los distintos tipos de criptosistemas que existen actualmente y su funcionamiento matemtico, comparando sus pros y sus contras, y se incluyen aplicaciones de ejemplo sobre algunos de los criptosistemas ms importantes.

    Desde una introduccin general a las bases matemticas de todo sistema criptogrfico, se centra en sistemas especficos, a los que les siguen ejemplos de operacin. En concreto, profundiza sobre el sistema de clave pblica llamado R.S.A., y las ventajas de este tipo de cifrado con respecto al resto.

    Las conclusiones de esta pequea investigacin son una visin general sobre la criptografa, que ha jugado un papel fundamental en la historia, y a la vez profunda sobre algunos de los sistemas criptogrficos ms comunes del pasado y del presente, de los cuales el R.S.A. podemos afirmar que es uno de los ms prcticos y ventajosos, por sus amplias posibilidades, su seguridad, el cumplimiento de gran nmero de requisitos, y la firma R.S.A., etc. Las conclusiones tambin son una comprensin del funcionamiento de estos sistemas, y de la lucha entre criptgrafos y criptoanalistas, en eterna rivalidad, con lo que se produce una evolucin constante de los criptosistemas y de las tcnicas empleadas.

    En los apndices finales se encuentran los algoritmos matemticos utilizados, una breve introduccin al criptoanlisis (en relacin directa con la criptografa), y otros datos auxiliares.

    2

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    ndice

    RESUMEN___________________________________________________________ 2 Introduccin__________________________________________________________ 5 Cripografa: Definicin_________________________________________________ 6 La criptografa en la historia y en la actualidad _____________________________ 8 Criptosistemas _______________________________________________________ 11 Criptosistemas de clave secreta __________________________________________ 13

    Sustitucin - El sistema del Csar _____________________________________________ 14

    Transposicin - Transposicin simple__________________________________________ 16

    Criptosistemas de clave pblica _________________________________________ 18 Condiciones de Diffie-Hellman:_______________________________________________ 19

    Diferentes sistemas de clave pblica:___________________________________________ 20

    El R.S.A.____________________________________________________________ 21 Funcionamiento del sistema: _________________________________________________ 22

    Ejemplo: _________________________________________________________________ 24

    Firma R.S.A.______________________________________________________________ 27

    Conclusiones ________________________________________________________ 28 APNDICES ________________________________________________________ 29 Criptoanlisis ________________________________________________________ 30

    Anlisis de Frecuencias _____________________________________________________ 31

    Seguridad de Shannon ________________________________________________ 32 Algoritmos __________________________________________________________ 34

    Algoritmo de Euclides ______________________________________________________ 34

    Exponenciacin binaria: _____________________________________________________ 36

    Programa utilizado ___________________________________________________ 37 BIBLIOGRAFA _____________________________________________________ 38

    3

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Agradecimientos:

    A mis padres, Roberto y Carmen, por estar all con sus frases de nimo.

    A mi profesor de matemticas, Serafn, por su apoyo y sus consejos.

    4

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Introduccin

    He elegido la criptografa como tema de esta monografa porque

    considero que es una materia de vital importancia en la sociedad actual, la

    cual necesita autenticidad, seguridad y confidencialidad en la transmisin de

    datos y mensajes. Hoy en da es una constante en la informtica y en la red,

    siendo un claro ejemplo el DES, o el sistema de clave pblica RSA, muy

    extendidos por todo el mundo.

    La criptografa es una ciencia, y ha servido a lo largo de la historia

    para ocultar mensajes secretos. Actualmente se considera una ciencia

    aplicada, y est relaccionada directamente con las matemticas,

    concretamente con la resolucin de problemas difciles, como la

    factorizacin de nmeros de 150 cifras, en el caso del sistema R.S.A.

    Pero, qu es exactamente? Cmo funciona la criptografa

    matemticamente? Estos y otros problemas constituyen el problema de

    investigacin principal, aunque tambin se estudian los usos que tiene

    actualmente y como ha intervenido a lo largo de la historia y su evolucin.

    Tras una introduccin histrica a la criptografa, analizar distintos

    tipos de criptosistemas, en especial el ya nombrado R.S.A.. Mi objetivo es,

    por lo tanto, estudiar y comprender los mtodos de encriptacin, con

    aplicaciones de ejemplo del R.S.A. y otros sistemas, y hallar cul es el ms

    seguro y prctico de los estudiados. Adems se explora el valor la

    criptografa en el pasado y en la sociedad actual.

    5

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Cripografa: Definicin

    La criptografa1, del griego krypts, escondido, y graphos,

    escritura, es el arte de enmascarar los mensajes con signos convencionales,

    que slo cobran sentido a la luz de una clave secreta. Es la ciencia y el arte

    de escribir para que sea indescifrable el contenido del texto escrito, para

    quien no posea la clave.

    La seguridad de un mensaje no ha de depender del secreto de su

    mtodo de ocultacin, sino de la clave utilizada en ese mtodo.2 La gente

    que la desconozca no podr entenderlos, aunque tengan algn conocimiento

    de cmo han ocultado los datos.

    En un principio, la criptografa era considerada un arte. Pero

    actualmente es considerada una ciencia aplicada, una rama de las

    matemticas, debido a su relacin con otras ciencias como la teora de

    nmeros, la estadstica, y las teoras de la informacin y de informacin

    computacional.

    El proceso de transformacin del texto original (mensaje), en el

    texto cifrado (criptograma), se conoce como cifrado o encriptacin, y su

    proceso contrario, es decir, el de recuperacin del texto original, descifrado o

    desencriptacin.

    El cifrado se lleva a cabo con una serie de parmetros, conocidos

    como clave, que son indispensables para la recuperacin del mensaje.

    1 Criptografa: (Del gr. , oculto, y -grafa). Conjunto de tcnicas que permiten cifrar y descifrar un mensaje. Arte de aplicarlas. (Criptografa, Nueva Enciclopedia Larousse. Tomo V. Ed. Planeta, Barcelona, 1982). 2 Aqu hay que distinguir entre criptografa y cdigo: un cdigo asigna una palabra a cada mensaje posible, o a cada palabra o grupo de palabras, de manera que se necesita un libro de traduccin para codificar y recuperar el mensaje. Por ello, no todos los mensajes se pueden transmitir, solo aquellos que dispongan de un cdigo establecido entre emisor y receptor. Por eso, hay veces que son denominados criptosistemas restringidos, pues su seguridad depende del secreto del sistema de encriptacin en s, y no de una clave. La verdadera criptografa, en cambio, permite cifrar cualquier mensaje, a partir de una clave establecida, que es la que ha de mantenerse en secreto.

    6

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    El criptoanlisis3, es la contrapartida de la criptografa. Ambos han

    tenido una gran relevancia en la historia y en la actualidad, han cambiado el

    rumbo de las guerras. Juntos, criptografa y criptoanlisis, constituyen la

    criptologa.

    La lucha entre ambas ciencias, puede equipararse con la metfora

    del escudo y la espada: a lo largo de la historia, la criptografa ha

    desarrollado criptosistemas aparentemente indescifrables, que con el tiempo

    han sido vencidos por nuevos mtodos de criptoanlisis. Puede decirse que

    ambos evolucionan a la par.

    Como dijo Edgar Allan Poe (apasionado de la criptografa), es

    dudoso que el gnero humano logre crear un enigma que el mismo ingenio

    humano no sea capaz de resolver4.

    3 Ciencia que estudia los mtodos de descubrir o romper la clave cuando no se conoce, a partir del texto cifrado o de otros mtodos. Arte de descifrar criptogramas (Criptoanlisis, Nueva Enciclopedia Larousse. Tomo V. Ed. Planeta, Barcelona, 1982). 4 Edgar Allan Poe, cita de The Gold Bug (El Escarabajo de Oro)

    7

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    La criptografa en la historia y en la actualidad

    El hombre se las ha ingeniado desde muy antiguo para garantizar el

    secreto de sus comunicaciones privadas. La existencia de la criptografa

    aparece ya en las tablas cuneiformes y los papiros. Desde el Antiguo Egipto

    hasta el mundo actual de internet, los criptogramas han sido protagonistas de

    varios sucesos histricos. Y son la base en la que se han apoyado los espas a

    lo largo del tiempo.

    Los espartanos, en Grecia, desarrollaron en el 400 a.C. la Scitala, -

    primer sistema criptogrfico por tansposicin5. Julio Cesar utiliz un mtodo

    basado en la sustitucin de cada letra por la que ocupa varios puestos ms

    all en el alfabeto, creando as el conocido cifrado que lleva su nombre6.

    La criptografa resurgi en la Europa de la Edad Media: era

    necesaria en las intrigas del Papado. Fue Grabiele de Lavinde, un servidor

    del Papa Clemente VII quien escribi el primer manual sobre la materia.

    En 1.466, Len Batista Alberti, cre el sistema polialfabtico, que

    emplea varios abecedarios, saltando de uno a otro cada tres o cuatro

    palabras. El emisor y el destinatario del mensaje deban ponerse de acuerdo

    en ciertos aspectos para conocer el orden de los saltos de alfabeto.

    Un siglo despus, Giovanni Battista Belaso7 instituy una nueva

    tcnica. La clave, formada por una palabra o una frase, deba transcribirse

    letra a letra sobre el texto original. Cada letra del texto se cambia por la

    correspondiente en el alfabeto que comienza en la letra clave.

    A partir del siglo XIX, surgen criptoanalistas tan ilustres como

    Charles Babbage8 , Friedrich Kasiski, Georges Painvin, Willian Friedman9...

    4 y 5: Ver Criptosistemas de clave privada, ms adelante. 7 Matemtico italiano conocido como el padre de la criptografa moderna. 8 Profesor de matemticas en Cambridge, famoso por haber diseado mquinas precursoras de los ordenadores actuales 9 Criptoanalista norteamericano que desarroll el criptoanlisis como disciplina cientifica, y criptoanaliz la mquina criptogrfica japonesa Purple

    8

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    En el siglo XX, Arthur Scherbius fue el inventor de Enigma,

    mquina criptogrfica que utilizaron los nazis durante toda la II Guerra

    Mundial, y que creyeron inviolable, sin saber que a partir de 1.942,

    significara su derrota. Los aliados consiguieron descifrar el funcionamiento

    de la mquina10, y as consiguieron desvelar los mensajes secretos de los

    alemanes.

    Mquina criptogrfica Enigma, utilizada durante la Segunda Guerra Mundial11

    Mientras los alemanes disearon Enigma, los estadounidenses

    utilizaron un mtodo llamado Sigaba. Este modelo fue el nico aparato

    criptogrfico que conserv intactos todos sus secretos durante la guerra,

    aunque despus tambin se ha desentraado su funcionamiento.

    Claude Elwood Shannon12, revolucion las comunicaciones y con

    ellas la criptografa. Se dieron los primeros pasos hacia los sistemas

    criptogrficos ms modernos, mucho ms fiables que la sustitucin y

    10 Fue Marian Rejewski, matemtico polaco, el primero que criptoanaliz la maquina Enigma. 11 Imagen de: www.phm.gov.au/universal/img/enigma.jpg 12 Ver Apndices, Seguridad de Shannon

    9

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    transposicin clsicas, como el DES13, que combina las posibilidades de

    ambos. Actualmente, se utilizan mtodos que combinan los elementos del

    mensaje con otros, o algoritmos de gran dificultad para los criptoanalistas.

    Philip Zimmermann, un criptgrafo aficionado, desarroll un

    sistema criptogrfico aparentemente inviolable en 1991, el P.G.P.14 y lo

    distribuy por las redes de comunicacin para que cualquiera pudiera

    utilizarlo: Ahora es uno de los ms comunes en cuestin de correo

    electrnico.

    Diffie y Hellman15 propusieron utilizar criptosistemas cuyo

    cripoanlisis fuese equivalente a la resolucin de un problema

    computacionalmente difcil, a fin de que a pesar de conocer los algoritmos

    para resolverle, no se pueda hacer por no ser factible ejecutarlo en un tiempo

    razonable16. Este es el principio de los sistemas de clave pblica, como el

    RSA, con muchas ventajas sobre los de clave privada.

    Hoy en da, lo que se pide a la criptografa es rapidez, sencillez de

    clculo al encriptar-desencriptar, y complejidad total de clculo para

    cualquier criptoanalista, es decir, seguridad para nuestras transmisiones.

    13 DES: Data encriptation Standart, encriptacin estndar de datos. Es un criptosistema de clave privada 14 El P.G.P. (Pretty Good Privacy, literalmente privacidad bastante buena) combina distintos tipos de sistemas criptogrficos: clave privada, R.S.A. para intercambio de claves, funciones HASH, etc. 15 Ver Criptosistemas de clave Pblica, condiciones de Diffie-Hellman

    10

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Criptosistemas

    Un criptosistema, o sistema criptogrfico, se puede definir como

    los fundamentos y procedimientos de operacin algoritmo17 que participan

    en el cifrado y descifrado de un mensaje.

    Todo sistema criptogrfico consta de cinco componentes: M, C, K, E y D.

    M es el conjunto de todos los mensajes a transmitir.

    C es el conjunto de todos los mensajes cifrados.

    K es el conjunto de claves a utilizar.

    E es el conjunto de todos los mtodos de cifrado: { }KkCMEE k = ,

    D es el conjunto de todos los mtodos de descifrado. { }KkMCDD k = , Cada mtodo de cifrado E est definido mediante un algoritmo, el

    cual, es comn a todos los mtodos y una clave Kk , la cual distinguir el algoritmo correspondiente a cada transformacin . kE

    Lo mismo ocurre para las transformaciones de descifrado de D.

    Para cada clave dada, k, la transformacin es la inversa de , y permite

    recuperar el mensaje original al aplicarla sobre el cifrado:

    kD

    kD kE

    ( ) KkMmmmED kk = ;,)( Otros elementos que se pueden considerar son el alfabeto de

    entrada y el de salida, as como el lenguaje en que est escrito el mensaje

    original.

    16 Gilles Brassard deca al respecto que el usuario de un criptosistema no debe esperar que el criptoanalista no tenga informacin suficiente para romperlo, sino que no tenga tiempo. 17 Conjunto ordenado y finito de operaciones que permite hallar la solucin de un problema. (Diccionario de la Real Academia Espaola, 2001)

    11

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Todo criptosistema debe cumplir, al menos, tres requisitos bsicos18:

    1. Todas las transformaciones de cifrado y descifrado, y , han de ser

    fcilmente calculables.

    kE kD

    2. Los algoritmos de las transformaciones y han de ser fcilmente

    implementables.

    kE kD

    3. La seguridad del sistema slo debe depender del secreto de las claves k y

    no de los algoritmos de las transformaciones E y D.

    Adems, un buen criptosistema ha de tener las siguientes

    cualidades: Seguridad, autenticidad y no repudio19.

    Seguridad: es la incapacidad para un criptoanalista de determinar el texto original, a partir del texto cifrado que haya podido interceptar.

    Autenticidad e integridad: considerada como la incapacidad para un criptoanalista de improvisar, sustituir o modificar un texto cifrado c por

    un c, sin que el receptor lo detecte.

    No repudio: el emisor, despus de haber enviado el mensaje, no puede afirmar que no es suyo. Esto ha de realizarse por otros medios, como la

    firma digital, etc., que se adaptan al criptosistema utilizado.

    A lo largo de la historia, se han utilizado cientos de criptosistemas

    diferentes, pero, a grandes rasgos, pueden dividirse en dos tipos: sistemas de

    clave privada o simtrica, y sistemas de clave pblica o antisimtrica.

    18 Sntesis de: LL. Huguet, J. Rif, Comunicacin Digital, (Teora Matemtica de la Informacin, Codificacin Algebraica, Criptologa), pgs 220-221. Ed. Masson, S.A., Barcelona 1991 19 Sntesis de: J. L. Gmez Pardo, La Gaceta de la Real Sociedad Matemtica Espaola Vol. 5, n 3, Septiembre-Diciembre 2002. Seccin Criptografa y curvas elpticas, pgs 738-739. Ed. Grficas Juma, Madrid 2002. R.S.M.E., 2002

    12

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Criptosistemas de clave secreta

    Los cripstosistemas de clave secreta, privada, o clsicos, se basan

    en que el emisor y el receptor comparten una nica clave secreta k; de forma

    que el proceso de encriptacin E es el inverso del de desencriptacin D, y el

    conocimiento de uno de ellos permite el conocimiento del otro con facilidad.

    Por eso tambin se conocen como sistemas simtricos.

    A lo largo de la historia, han sido muchos y muy utilizados, pero

    entraan un problema: la clave utilizada ha de transmitirse en algun

    momento entre el emisor y el receptor, por lo que se requiere un canal

    seguro, es decir, un canal de comunicacin donde no pueda existir ningn

    intruso, lo que en la prctica es imposible. La seguridad del sistema depende

    del secreto de la clave, y son, generalmente, ms fciles de criptoanalizar

    que los de clave pblica. Una forma de volverlos ms seguros es ampliar el

    conjunto de posibles claves a utilizar, lo que dificultara un ataque de fuerza

    bruta20

    A continuacin, me centrar en dos tipos de criptosistemas de clave

    privada: los de sustitucin y los de transposicin, y pondr como ejemplos

    los sistemas del Csar y el de transposicin simple.

    20 Ver Apndice, criptoanlisis.

    13

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Sustitucin - El sistema del Csar Fue el utilizado por Julio Csar y sus generales, y es uno de los

    primeros documentados histricamente. Es un sistema de sustitucin muy

    simple, en el que cada letra del alfabeto se corresponde con la que tiene un

    nmero k de puestos ms adelante. El nmero utilizado es la clave del

    sistema (Csar utilizaba, al parecer, el nmero 3). Si identificamos cada letra

    con un nmero entero m que indique la posicin que ocupa en el alfabeto,

    empezando por 0, ( [ ] 27,26 ... 03,02,01,00 ====== ZDCBA ), la sustitucin puede indicarse, en aritmtica modular21, por la siguiente

    frmula:

    )(mod Nkmc += siendo: c la letra ya encriptada, indicada en su nmero de orden del alfabeto,

    m la letra a encriptar, tambin en nmero, k la clave, y N el nmero

    de letras que tiene el alfabeto utilizado

    21 La aritmtica modular se centra en las propiedades de los nmeros enteros respecto a la divisin. As, , (ledo, a y b son congruentes mdulo m), quiere decir que b - a es divisible entre m, y que a y b al dividirlos entre m, tienen el mismo resto. La aritmtica modular es muy utilizada en la criptologa, y un ejemplo de ello son los sistemas de sustitucin simple. (Neal Koblitz, A Course in Number Theory and Cryptography (Un curso en Teora de los Nmeros y Criptografa), pgs 17-21. Ed. Springer-Verlag, New York Inc. Nueva York, 1987)

    )(modmba

    14

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Ejemplo:

    Vamos a codificar un pequeo mensaje con este sistema. Tomemos

    por ejemplo la frase ATAQUE INMINENTE, y una clave k = 5

    Primero, hallamos los nmeros correspondientes a cada letra, segn

    la siguiente tabla:

    A B C D E F G H I J K L M N

    00 01 02 03 04 05 06 07 08 09 10 11 12 13

    O P Q R S T U V W X Y Z [ ]

    14 15 16 17 18 19 20 21 22 23 24 25 26 27

    A T A Q U E [ ] I N M I N E N T E

    00 20 00 17 21 04 27 08 13 12 08 13 04 13 20 04

    Ahora, movemos cada letra 5 puestos a su derecha, con la frmula anterior:

    etcE 4 );28(mod5274V 22 );28(mod51722Y 25 );28(mod52025F 5 );28(mod505

    =+=+=+=+

    Una vez pasados los nmeros obtenidos a letras, obtenemos este

    mensaje codificado: FYFVZIENRQNRIRYI

    Actualmente, este sistema ha quedado desfasado, siendo de muy

    fcil criptoanlisis: basta con probar las 27 posibles k para dar con el

    mensaje original. Adems, es susceptible a un ataque estadstico22, ya que

    los smbolos que ms se repitan sern las letras ms utilizadas en el idioma

    del mensaje (aqu, la I aparece 3 veces en 15 letras, lo que nos da una pista

    de que puede ser la E, la letra ms comn en el espaol y as es).

    15

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Transposicin - Transposicin simple Este sistema se basa en el desorden de los elementos del mensaje,

    es decir, la transposicin o cambio de orden de las letras que lo componen.

    El mensaje m se divide en ciclos de tamao prefijado n por el

    emisor y el receptor, y despus se aplica sobre cada ciclo, y de forma

    independiente, una permutacin p. Este cifrado es, por lo tanto, un ejemplo

    de los denominados cifrados en bloque23

    La clave, por lo tanto, se compone del nmero n, tamao del

    bloque, y la permutacin p:

    mcccccDcmmmmmE

    Kpnk

    pdppppn

    pdppppn

    ====

    ...)(

    ...)(),(

    321),(

    321),(

    Siendo: k la clave, formada por n y p; m el mensaje original, c el mensaje

    cifrado; E y D las operaciones de cifrado y descifrado, respectivamente

    Ejemplo:

    Como en el apartado anterior, vamos a hacer una demostracin del

    sistema para ver su funcionamiento. Vamos a cifrar el mensaje TE VEO EN

    EL PARQUE, por ejemplo, utilizando la clave:

    k: n = 5,

    =

    25

    35144321

    p

    Primero, dividimos el mensaje en los bloques de 5 que sean

    necesarios, y los espacios vacos los rellenamos con un guion, por ejemplo.

    22 Ver Apndice, criptoanlisis. 23 Aquel criptosistema que cifra los elementos del mensaje (letras) juntos en bloques de tamao finito, dividiendo el mensaje dmmmmmmm .....54321= . De esta forma, se ahorran operaciones, y se acelera el proceso. (LL. Huguet, J. Rif, obra citada, pgs 248-249).

    16

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Aadimos tantos guiones al final como sea necesario para completar el

    ltimo bloque. Despus, hacemos la permutacin:

    T E V E O E N E L P A R Q U E

    E E V T N O E L A P E Q E R U

    El mensaje obtenido es irreconocible: EEVT---NOELAPE-Q-ERU.

    Como se ha cambiado la posicin de las letras, un intento de criptoanlisis

    por frecuencias no tiene sentido, ya que las letras utilizadas son las mismas

    que en el mensaje original.

    An as, el sistema no es difcil de criptoanalizar: se puede

    simplemente jugar con las letras hasta encontrar un posible patrn, o buscar

    relacciones: por ejemplo, en el ltimo fragmento de mensaje, hay una Q y

    una U muy juntas: es evidente que han de ir seguidas en el mensaje original,

    lo que nos da una gran pista y elimina muchas opciones. Tambin, el que al

    principio haya dos E seguidas indica que probablemente no vayan juntas en

    el mensaje original, ya que en espaol las dobles vocales son prcticamente

    inexistentes.

    ***

    Los criptosistemas de clave privada tienen un gran riesgo de

    criptoanlisis, a no ser que tengan dos cualidades bsicas, descritas por

    Shannon: confusin y difusin24. Por su cuenta, ni sustitucin ni

    transposicin cumplen ambas, por lo que en la actualidad se utilizan sistemas

    como el D.E.S. o sus variantes, que combinan las posibilidades de ambos y

    adquieren un gran nivel de seguridad.

    24 Ver Apndices, Seguridad de Shannon

    17

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Criptosistemas de clave pblica

    Los sistemas de clave pblica, a diferencia de los de clave privada,

    se basan en que cada usuario i posee un par de claves, funciones , la

    primera de las cuales se hace pblica, y es la que utiliza otro usuario j para

    transmitir un mensaje M a i, cifrndolo de la forma C

    ),( ii dc

    )(Mcii = , mientras que la segunda permanece privada y slo es conocida por su dueo, permite

    recuperar los mensajes cifrados para i, haciendo ))M (( Mcd ii)(Cd ii == . De esta manera, se puede crear un directorio, con todas las claves pblicas

    de los usuarios que participan en un sistema determinado.

    Dado que , para que exista la seguridad del sistema, es

    preciso que venga definida por una funcin conocida fcil de calcular,

    pero que sea computacionalmente imposible

    1= ii cdic

    id25 de hallar a partir de ella,

    sin la informacin complementaria que tiene i. Estas normas, junto con otras,

    constituyen las condiciones Diffie-Hellman

    25 Ver apndices, Seguridad de Shannon, sobre la seguridad computacional

    18

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Condiciones de Diffie-Hellman: Son considerados los iniciadores de la criptografa de clave pblica,

    a raz de su artculo de 1976. En l exponen tericamente los requisitos de

    cualquier sistema de este tipo, a pesar de que no utilizan ninguno a modo de

    ejemplo:

    El clculo de claves, pblica y privada, debe ser computacionalmente sencillo, es decir, dado por un algoritmo de complejidad polinmica26.

    El proceso de cifrado debe ser computacionalmente sencillo.

    El proceso de descifrado, conociendo la clave secreta, debe ser tambin computacionalmente sencillo.

    La obtencin de la clave secreta, a partir de la pblica, debe ser un problema computacionalmente imposible, es decir, dado por un

    algoritmo de complejidad exponencial27

    La obtencin del mensaje original, conociendo el mensaje cifrado y la clave pblica, debe ser tambin computacionalmente imposible.

    Una funcin que cumple esta teora es cualquier funcin trampa o

    de una via, y son las que dan lugar a los sistemas criptogrficos de clave

    pblica.

    26 Complejidad polinmica: un algoritmo tiene complejidad polinmica si, teniendo como datos iniciales enteros ni, de longitud ki, existe un polinomio p de s variables tal que el tiempo de ejecucin de dicho algoritmo, medido en operaciones bits (una operacin bit equivale a la suma binaria (modulo 2) de dos nmeros iguales a 0 1, es decir, bits), sea

    ). Este tipo de algoritmos se cononcen tambin como eficientes o bueno, ya que su tiempo de ejecucin crece logartmicamente al crecer los datos, y permite ser resuelto por un ordenador en tiempo razonable. (Carlos Munuera y Juan Tena, Codificacin de la informacin, Universidad de Valladolid, 1997, pgs 264-266)

    ),,,(( 2 si kkkpO K

    27 Complejidad exponencial: aquella en la que el tiempo de ejecucin del algoritmo es exponencial a la longitud de los datos. Dichos algoritmos son conocidos como no eficientes o malos. (Carlos Munuera y Juan Tena, obra citada)

    19

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Diferentes sistemas de clave pblica Actualmente, hay varios de estos sistemas funcionando, pero el

    ms usual es el R.S.A., que analizamos de forma detallada en el siguiente

    apartado.

    Un sistema muy prctico tambin, pero que actualmente se ha

    podido criptoanalizar en tiempo polinomial es el de Merkle-Hellman, basado

    en el mtodo de las mochilas o Knapsack28: consiste en una sucesin de

    crecimiento rpido29 ai por cada usuario, los cuales calculan ai = sa(mod r)

    (siendo ) y el resultado lo publican

    (clave pblica), guardando en secreto la sucesin a

    1),(...1 ; 1 = =11

    30 Otros sistemas de clave pblica: el del logaritmo, basado en las propiedades casi unidireccionales de algunos logaritmos ( )(log yx = ), o el sistema de El Gamal, o el de Massey-Omura, que requiere un doble trayecto de ida y de vuelta del mensaje para que su destinatario pueda descifrarlo, en cada uno de los cuales es tratado con diferentes claves para permitir su desencriptacin. Ambos son variantes de los logaritmos discretos.

    20

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    El R.S.A.

    En 1978, R.L. Rivest, A. Shamir y L. Adleman, idearon un sistema

    criptogrfico que cumpla todas las condiciones de Diffie-Hellman. Este

    sistema se conoce por R.S.A., en honor a sus inventores.

    Desde entonces, ha mantenido su seguridad, y an hoy sigue siendo

    utilizado: el nico cambio realizado es el tamao de las claves, que han

    aumentado considerablemente para impedir el criptoanlisis.

    El sistema est basado en la dificultad del problema matemtico de

    la factorizacin de un nmero compuesto, para lo que no existen algoritmos

    de tiempo polinomial, y en la facilidad de la operacin inversa, multiplicarlo.

    Tiene innumerables ventajas sobre los sistemas de clave secreta:

    permite el intercambio de claves, la firma matemtica, etc., con lo que se

    convierte en uno de los sistemas ms tiles del momento.

    21

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Funcionamiento del sistema:

    1. Cada usuario i elige dos numeros primos, p y q, que han de ser

    suficientemente grandes (hoy en da todos los ordenadores tienen

    mtodos para fabricar nmeros primos pseudoaleatorios)31, dependiendo

    de la capacidad de computacin de los posibles criptoanalistas,

    aproximadamente de 150 cifras.

    2. Se halla n, como producto n = p q

    3. Se halla z = )1)(1()( = qpn , que es la funcin del indicador de Euler32

    4. Se elige un nmero d menor que z, tal que mcd( 1), =zd , es decir, d y z sean primos entre s, o primos relativos: en la prctica se coge d primo

    directamente, y mayor que p y q, (mayor que el mayor de los dos), con lo

    que no nos caben dudas de que sean primos entre ellos. Otro mtodo es

    el algoritmo de Euclides33, para hallar el mcd, lo que evita factorizar

    ambos nmeros.

    5. Se obtiene un nmero e, tal que 1 )(mod1 , zdeze =

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    6. La clave pblica est constituida por P(n, e), la cual es enviada a los

    dems usuarios, y la secreta es S(n, d), que ha de ser conservada por i.36

    7. Para encriptar, se utiliza la funcin:C , siendo M el

    mensaje original y C el mensaje codificado.

    )(mod nM e

    8. El usuario i puede desencriptar cualquier mensaje que le haya enviado

    otro usuario con: ( ) nnMnCM ded modmodmod == Para que el sistema sea efectivo, n ha de ser mayor que cualquiera

    de los posibles mensajes o bloques de mensajes: si se utilizan caracteres

    sueltos, mientras sea mayor de 27 no habr problema alguno (sin contar con

    los caracteres numricos). Normalmente esto no es ningn problema, dado el

    tamao colosal de p y q.

    Para el clculo de las potencias modulares se utiliza el mtodo de la

    exponeniacin binaria: se basa en la posiblilidad de expresar el exponente en

    su forma binaria, y a partir de ah multiplicar y potenciar la base segn el

    nmero obtenido37

    As, logramos descomponer las grandes potencias en otras ms

    pequeas, ms manejables. El proceso de desencriptacin es el mismo, solo

    que se sustituye e por d.

    35 En un anillo Z / n, un elemento dZ / n tiene un nico inverso eZ / n tal que

    , si y slo si mcd (d, n) = 1 nde mod1 =36 Una vez que se tienen las claves pblica y privada, z, p y q ya no son necesarios: se borran totalmente, pues lo nico que podran causar es que otra persona descubra nuestra clave privada a partir de ellos. 37 Ver apndices, algoritmos, exponenciacin binaria: es una exposicin detallada del algoritmo seguido para simplificar estas potencias modulares.

    23

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Ejemplo:

    Vamos a intentar encriptar un mensaje de ejemplo, LA CASA

    GRANDE, con el sistema R.S.A.. Utilizaremos primos muy pequeos: en la

    realidad estos nmeros tienen alrededor de 150 cifras.

    1. Elegimos los primos p = 17 y q = 2: con ellos calculamos n = pq = 34

    2. Por lo tanto, z = (17 1)(2 1) = 16

    3. Tomamos d = 3, siendo mcd(3, 16) = 1 (d y z son primos relativos).

    4. Buscamos e. Para ello podemos utilizar e dzx /)1( += , siendo x un nmero natural, hasta que ocurra que el cociente no tenga resto (e ha de

    ser entero). Con este mtodo, hallamos que e = 11

    5. Clave secreta: (34, 3) la guarda el usuario A; Clave pblica: (34, 11) es

    distribuida, y llega hasta el usuario B

    Ahora, convertimos el texto letra por letra en nmeros38, basndonos en la

    tabla siguiente:

    A B C D E F G H I J K L M N

    00 01 02 03 04 05 06 07 08 09 10 11 12 13

    O P Q R S T U V W X Y Z [ ]

    14 15 16 17 18 19 20 21 22 23 24 25 26 27

    38 Obviamente, cuando se utiliza el sistema R.S.A. no se toman letras sueltas al cifrar el mensaje, pues el resultado as obtenido, como hemos visto, es una simple sustitucin: cada letra siempre va a dar el mismo texto cifrado, si la clave es la misma. Por eso, se toman las letras en grupos, siempre que sean menores que n, de forma que los posibles bloques a enviar son mucho ms numerosos y no se repiten apenas. En ese caso, el criptoanalista slo puede confiar en que los lenguajes son redundantes y repetitivos, y con mucho texto cifrado habr bloques que se repitan ms que otros, lo que puede permitir un ataque de frecuencias.

    24

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    L A [ ] C A S A [ ] G R A N D E

    11 00 27 02 00 19 00 27 06 18 00 13 03 04

    Ya podemos comenzar a cifrar el mensaje como lo hara el usuario B39:

    32102 22022)1011(11 +++== (mtodo de exponenciacin binaria)

    { }

    [ ] ( )( )( )( )

    3034mod419430434mod040734mod17714734mod03

    2134mod1331334mod))13)((13)(13(34mod131834mod18181834mod))18)((18)(18(34mod18

    2234mod36279705634mod062534mod1211934mod))19)((19)(19(34mod19

    0834mod204834mod020334mod33152734mod))27)((27)(27(34mod27

    0034mod034mod002934mod331911

    34mod)34mod)34mod)34mod11)(((34mod11)(34mod11(34mod11

    11

    11

    222211

    222211

    11

    222211

    11

    222211

    11

    222211

    ====

    ======

    =====

    =====

    ====

    ==

    EDNRGSC

    A

    L

    El mensaje cifrado nos queda:

    29 00 03 08 00 25 00 03 22 18 00 21 07 30

    39 Los mdulos los calculamos de la siguiente manera: ))/((mod nnaentana = , siendo ent( ) la parte entera del nmero entre parntesis. (Utilizamos la calculadora TI 83 Plus Silver Edition, creando en ella un programa para calcular los mdulos ms cmodamente. Ver Apndice, programa utilizado para el aritmtica modular)

    25

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    El usuario A, cuando recibe el mensaje, simplemente tiene que

    aplicar su clave secreta (34, 3) sobre ste para recuperar el original:

    [ ]

    [ ]

    EDNARG

    ASAC

    AL

    ==========

    0434mod30300334mod07 071334mod21 2100 001834mod18 180634mod22 22

    27 0300 001934mod25 2500 000234mod08 08

    2734mod03 030034mod00 001134mod2929

    3

    3

    3

    3

    3

    3

    3

    3

    3

    3

    Resultado: LA CASA GRANDE

    26

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Firma R.S.A.40

    El procedimiento es muy parecido a la encriptacin corriente, pero

    se aaden algunos pasos:

    1. El usuario B, que quiere enviar un mensaje a A, hace un pre-

    cifrado del mensaje, con su clave secreta, y luego lo cifra con la

    clave pblica de A.

    2. Cuando A recibe el mensaje, aplica su propia clave secreta, sin

    poder recuperar el mensaje todava. Aplica seguidamente la

    clave pblica de B, con lo que aparece el mensaje original.

    Con esto, A se asegura que el mensaje ha sido enviado por B y slo

    por l, y que no ha sido modificado por un tercero, y B no puede negar

    habrselo enviado pues slo l pudo hacerlo.

    Operaciones de B:

    21

    1

    mod3

    mod21

    CnC

    CnMM

    Ae

    Bd

    A

    B

    ==

    Operaciones de A:

    MnC

    CnC

    C

    Be

    Ad

    B

    A

    ==

    mod3

    mod2

    1

    1

    12

    2

    40 Una gran ventaja del R.S.A. cuando se utiliza para firmar mensajes es que permite asegurar las cualidades de No Repudio, Autenticidad e Integridad de los criptositemas, lo que le convierte en un sistema muy completo y uno de los ms seguros que existen.

    27

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Conclusiones

    Hemos estudiado varios sitemas criptogrficos de diferentes tipos

    desde el punto de vista matemtico, y hemos comprendido su

    funcionamiento al experimentar con ellos, con lo que hemos descubierto que

    ciertos sistemas tienen ventajas sobre otros, son ms seguros, o ms fciles

    de criptoanalizar.

    En concreto, hemos analizado y comprendido con un ejemplo el

    algoritmo del R.S.A., un sistema de clave pblica complicado, pero que

    posee muchas ventajas sobre los dems, tales como la posibilidad de firmar

    matemticamente cada mensaje.

    Hemos comprobado el gran valor de la criptografa en la sociedad

    actual y en la historia: es una constante en nuestro mundo: internet,

    comunicaciones, cuestiones econmicas y secretos de Estado dependen de

    ella, y ha modificado el curso de nuestra historia en guerras, traiciones,

    intrigas polticas...

    Vemos que la humanidad ha ido evolucionando hacia

    criptosistemas ms poderosos, y criptoanlisis ms potentes. La criptografa,

    toda una ciencia, aprovecha su relacin con otras reas del conocimiento

    como las matemticas, la teora de la informacin y de la comunicacin, etc.,

    para mejorarse a s misma.

    Hemos visto que ningun sistema es seguro al 100 % y que gracias

    al criptoanlisis todos se pueden romper, como ha demostrado la historia.

    Llegar un da en que seamos capaces de crear un sistema que no se pueda

    destruir? Parece imposible que los mismos creadores de un sistema sean

    vencidos por su propia obra. En mi opinin, eso nunca ocurrir, pero con la

    aplicacin de las matemticas en la criptografa podemos obtener resultados

    muy positivos.

    ***

    N de palabras: 3.970

    28

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Apndices

    29

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Criptoanlisis

    Si el propsito de la criptografa es garantizar la seguridad y el

    secreto de un mensaje, el criptoanlisis busca por todos los medios descubrir

    ese mensaje secreto, o la clave con la que est codificado, lo que permitira

    entender todos los mensajes posteriores.

    El primer mtodo en utilizarse fue sin duda el conocido como

    fuerza bruta, es decir, ir probando todas las posibles claves hasta dar con la

    correcta.

    Hay dos tipos de mtodos bsicos:

    1. Activos: el criptoanalista lleva a cabo acciones como hacerse pasar por

    un transmisor autorizado, tratar de sustituir o modificar los mensajes

    entre dos usuarios, etc.

    2. Pasivos: el criptoanalista tan solo intenta recuperar la clave y el mensaje

    a partir del texto cifrado C. No participa, por tanto, en la comunicacin

    entre los usuarios del sistema. Son, a su vez, de cuatro tipos distintos

    Ataques con texto cifrado conocido: si slo se dispone de textos cifrados: son los criptoanlisis ms duros. Aun as, se

    puede realizar un anlisis de frecuencias, por ejemplo.

    Ataques con texto claro conocido y su respectivo cifrado: esto ya es diferente: permite al criptoanalista descubrir relaciones

    entre ambos textos, hasta recuperar la clave k.

    Ataques con texto claro elegidos: el criptoanalista tiene tal acceso al sistema que puede elegir cualquier texto en claro

    que l desee y obtener su correspondiente cifrado.

    Ataques con texto cifrado elegido: es lo contrario que lo anterior: el criptoanalista puede obtener el texto descifrado de

    cualquier texto cifrado que l elija. Es el ms ventajoso de

    todos, permite revelar cualquier mensaje secreto.

    30

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Anlisis de Frecuencias

    Un ataque muy corriente que el criptoanalista puede llevar a cabo

    cuando no tiene acceso total es un intento de anlisis de frecuencias. Todos

    los idiomas son redundantes: se repiten los signos que utilizan, y unos con

    mayor frecuencia que otros. Aprovechando esto, el criptoanalista puede

    buscar los smbolos ms repetidos en el mensaje cifrado, y sustituirlos por

    las letras ms usuales en el sistema original. Las letras ms comunes son las

    siguientes, para el ingls y el francs son41:

    Frances E S A R N U T L I O Total Frecuencia % 15 8 6 5,5 5,4 4,8 4,7 4,6 4,5 4 54,5%

    Ingles E T A O I N S H R Total Frecuencia % 10 8,2 7 6,5 6,4 6,3 6 4 3,6 61,1%

    En espaol, son las letras del abecedario tienen las siguientes frecuencias42:

    Altas Medias Bajas Bajas E - 16,78% R - 4,94% Y - 1,54% J - 0,30% A - 11,96% U - 4,80% Q - 1,53% - 0,29% O - 8,69% I - 4,15% B - 0,92% Z - 0,15% L - 8,37% T - 3,31% H - 0,89% X - 0,06% S - 7,88% C - 2,92% G - 0,73% K - 0,00% N - 7,01% P - 2,776% F - 0,52% W - 0,00%D - 6,87% M - 2,12% V - 0,39%

    Vemos que la E es la ms comn en los tres idiomas, por lo que es

    lgico sustituir el smbolo ms comn por esta letra, si el mensaje est en

    uno de estos lenguajes.

    41 Datos de: http://rinconquevedo.iespana.es/rinconquevedo/Criptografia/frecuencia.html, tablas de frecuencias para idiomas comunes. 42 Datos de: Enrique Fontanillo Estudio lexicomtrico, diario El Pas

    31

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Seguridad de Shannon

    Shannon, 1916, Michigan. Publica por primera vez su artculo A

    mathematical theory of communication en 1948. Es considerado el padre de

    la teora de la informacin, y es uno de los hombres que ms han

    evolucionado individualmente el concepto de comunicacin humana.

    Fue Shannon quien describi los requisitos de seguridad de

    criptosistemas de una forma explicita: la difusin y la confusin:

    El propsito de la difusin consiste en evitar en lo posible la redundancia del texto original sobre el texto cifrado, y aumentar el desorden. Para

    ello, podemos utilizar la transposicin, que evita los criptoanlisis

    basados en las frecuencias de las n-palabras. Otra manera de conseguirlo

    es hacer que cada letra del texto cifrado dependa de un gran nmero de

    letras del texto base, con lo que adems acortaramos su longitud (cifrado

    en bloque).

    La confusin, en cambio, consiste en hacer que la relacin entre la clave y el texto cifrado sea lo ms compleja posible, haciendo as que las

    estadsticas del texto cifrado no estn muy influidas por las del texto

    original. Eso se consigue normalmente con la sustitucin.

    En solitario, ni confusin ni difusin constituyen buenas tcnicas

    de cifrado: En cambio, cuando se unen, pueden dar lugar a criptosistemas

    muy seguros, como el D.E.S. y sus variantes (triple D.E.S., etc.), que se

    utilizan ampliamente en la red. Se basan en una mezcla de transposicin y

    sustitucin, es decir, un criptosistema producto, (aquel que combina dos o

    ms tipos de sistemas simples) con lo que logran reunir un alto nivel de

    confusin y de difusin.

    32

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Shannon tambin aport los conceptos de seguridad incondicional

    y seguridad computacional:

    Seguridad incondicional: Un sistema criptogrfico es incondicionalmente seguro si es irrompible, no importa si el criptoanalista tiene tiempo y

    recursos ilimitados

    Seguridad computacional: Un sistema criptogrfico es computacional-mente seguro si es irrompible, suponiendo que el criptoanalista posee

    tiempo y recursos limitados.

    La seguridad incondicional parece ser inalcanzable: hoy en da lo

    nico que se ha logrado producir han sido sistemas de tal complejidad

    computacional que se supone que los mejores criptoanalistas tardaran aos

    en romper con los mejores equipos actuales, lo que es suficiente para

    mantener la seguridad.

    El sistema R.S.A. cumple este requisito de complejidad

    computacional: hoy en dia un nmero de 150 cifras o ms es

    computacionalmente casi imposible de factorizar, con le que se logra un

    grado de seguridad muy alto

    33

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Algoritmos

    Algoritmo de Euclides 43Es un algoritmo muy antiguo, que permite hallar el mcd (mximo

    comn divisor) de dos nmeros, a, b, en un tiempo , es decir,

    polinmico, sin necesidad de factorizar los nmeros dados.

    ))((log3 aO

    Siendo 0, bbaZ,

    , por la regla de la divisin tenemos que a = bq

    + r, rqba ,,

    Se cumple que el mximo comn divisor de (a, b) es tambin el

    mximo comn divisor de (r, b). Nos basamos en esto durante el algoritmo:

    el mcd de dos restos, avanzado el proceso, ser el mismo que el de los

    nmeros originales.

    Como mcd(a, b) = mcd(|a|, |b|), tomamos a b > 0.

    1. Dividimos a entre b, a = bq1 + r1, con 0 r1< b 2. Si r1 = 0, como a b, es obvio que b = mcd(a, b), ya que divide a a.

    Terminamos el proceso

    3. Si r1 0, dividimos b entre r1, b = r1q2 + r2, siendo 0 r2 < b 4. Si r2 = 0, entonces mcd(b, r1) = r1 y mcd(a, b) = r1. Terminamos.

    5. Si r2 0 continuamos dividiendo r1 por r2, y as sucesivamente, hasta que 6. De este modo obtenemos un conjunto de nmeros r1 > r2 >... , de modo

    que llegaremos a un rn = 0 en un nmero finito de pasos. Entonces:

    rn1 = mcd(rn2, rn1) = mcd(rn3, rn2) = ... = mcd(b, r1) = mcd(a, b)

    43 Fuente orientativa: Carlos Munuera y Juan Tena, obra citada, pgs 268-269.

    34

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Ejemplo:

    02484:8438288:28

    81283628:36281366436:64

    36126480464:8046428041672804:1672

    8042167241481672:4148:)1672 ,4148mcd(

    +=+=+=+=

    +=+=+=

    Como 8 : 4 es exacto, conclumos que mcd (8, 4) = 4, lo que implica que mcd (28, 8) = 4, ... , y finalmente: mcd (4148, 1672) = 4

    35

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Exponenciacin binaria:

    44El mtodo surge a partir de una propiedad de la aritmtica modular:

    ( )

    ( )exxxxsiendo

    nnananananaaaan

    mmbmamab

    i

    xxxx

    xxxx

    i

    i

    =++++=

    ==

    =

    ... :mod)mod()mod)(mod)(mod(

    mod)(moda:obtenemos donde De

    mod)mod)(mod(mod

    321

    e

    321

    321

    KK

    El nmero e puede expresarse en forma binaria, de cifras

    , siendo (k es el nmero

    de cifras binarias). Sabemos que en base binaria, los nmeros estn

    compuestos exclusivamente de unos y ceros, por lo que algunos se

    anularn.

    1210 ,...,,, kcccc 11

    22

    11

    00 2...222

    ++++= kk cccce

    ii c2

    Sustituyendo estos valores arriba, tenemos que : ii

    i cx 2=

    ( )eccccsiendo

    nnananana

    kk

    cccc kk

    ==

    11

    22

    11

    00

    2222

    2...222 :mod)mod()mod)(mod)(mod( 1

    12

    21

    10

    0 K

    Ejemplo:

    [ ][ ]{ }[ ][ ]{ }[ ][{ } 5mod)5mod(5mod)5mod(5mod)5mod)5mod)5mod)5mod((((5mod 5mod)5mod(5mod)(5mod))))((((5mod5mod)5mod(5mod(5mod5mod

    222)100101(37

    1222222237

    1222222237

    22237

    0252

    025

    aaaaaaaa

    aaaa

    ===

    ++==

    ]

    De esta forma somos capaces de calcular grandes potencias

    modulares mucho ms cmodamente, y dado que muchos factores se repiten,

    es suficiente con calcularlos una vez y volverlos a reutilizar cuando sean

    necesarios. Es utilizado en el sistema R.S.A.

    44 Fuente orientativa: Neal Koblizt, obra citada, pgs 22-23.

    36

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Programa utilizado

    A continuacin adjunto el programa que he creado en la

    calculadora y que me ha permitido calcular todas esas operaciones con

    mdulos, en los ejemplos del R.S.A. Es muy simple, pero me ha ahorrado

    muchas operaciones repetitivas.

    LimpPrinc Limpia la pantalla

    Mostrar aritmtica modular Ttulo

    Mostrar A^B mod M Ttulo

    Input Modulo M =, M El programa pide el valor de M, mdulo

    Lbl C Etiqueta C

    Input Valor A =, A El programa pide el valor A

    A (ent /A/M)M) R Halla el mdulo y lo guarda en R Mostrar Resultado: , R Muestra R

    Goto C Vuelve a C, para continuar con el mismo valor M

    37

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    Bibliografa

    Libros y Revistas:

    [01] J. L. Gmez Pardo, La Gaceta de la Real Sociedad Matemtica Espaola Vol. 5, n 3, Septiembre-Diciembre 2002. Seccin Criptografa y curvas elpticas, pgs 738-777. Ed. Grficas Juma, Madrid 2002. R.S.M.E., 2002

    [02] Joseph A. Gallian, Solomon Garfunkel, Las Matemticas en la vida cotidiana Captulo 10, pgs 303-331 Ed. Universidad Autnoma de Madrid. Madrid, 1999. Addison Wesley Iberoamericana.

    [03] Carlos Munuera y Juan Tena, Codificacin de la Informacin Ed. Universidad de Valladolid, Valladolid 1997

    [04] LL. Huguet, J. Rif, Comunicacin Digital, (Teora Matemtica de la Informacin, Codificacin Algebraica, Criptologa) Ed. Masson, S.A., Barcelona 1991

    [05] Neal Koblitz, A Course in Number Theory and Cryptography (Un curso en Teora de los Nmeros y Criptografa), (en ingles). Ed. Springer-Verlag, New York Inc. Nueva York, 1987

    [06] Grupo Larousse, Nueva Enciclopedia Larousse, Planeta n 3. Ed. Planeta, Barcelona, 1982

    [07] Microsoft Corporation, Encarta 98 (CD-Rom) Criptografa Microsoft Encarta, 1993-1997

    Pginas Web en Internet:

    [01] Rincn Quevedo, Introduccin a la Criptografa. A consultar en el World Wide Web: http://rinconquevedo.iespana.es/rinconquevedo/Criptografia/introduccion.html

    [02] Criptosistemas. A consultar en el World Wide Web: http://es.tldp.org/Manuales-LuCAS/doc-unixsec/unixsec-html/node306.html#crypsys

    38

  • Una Introduccin a la criptografa. El criptosistema R.S.A. Mario Merino Martnez Monografa D 0405 055

    39

    [03] HTML Seguridad, Criptografa Diffie Hellman. . A consultar en el World Wide Web: http://www.htmlweb.net/seguridad/cripto/cripto9.html

    [04] MundoCripto: Nmeros Primos. . A consultar en el World Wide Web: http://webs.ono.com/usr005/jsuarez/primos.htm

    [05] RSA. A consultar en el World Wide Web: http://pracgi.ulpgc.es/~a1480/rsa.htm

    [06] Matemticas.net Criptotaller. A consultar en el World Wide Web: http://www.matematicas.net/paraiso/cripto.php?id=cripto

    Herramientas matemticas utilizadas:

    Calculadora grfica Texas Instrument TI-83 Plus Silver Edition. Programa de clculo Derive 5, 2002 Texas Instrument. Version 5.06 Calculadora de Windows 98, Microsoft

    ResumenndiceIntroduccinCripografa: DefinicinLa criptografa en la historia y en la actualidaCriptosistemasCriptosistemas de clave secretaSustitucin - El sistema del CsarTransposicin - Transposicin simple

    Criptosistemas de clave pblicaCondiciones de Diffie-Hellman:Diferentes sistemas de clave pblica

    El R.S.A.Funcionamiento del sistema:Ejemplo:Firma R.S.A.

    ConclusionesCriptoanlisisAnlisis de Frecuencias

    Seguridad de ShannonAlgoritmosAlgoritmo de EuclidesExponenciacin binaria:

    Programa utilizado