una introducción a la criptografía,el criptosistema rsa
Post on 17-Oct-2015
81 Views
Preview:
TRANSCRIPT
-
. . . . . .. . . .
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
top related