Está en la página 1de 22

Autor: Guillermo Caracuel Ruiz

ndice
1. Introduccin ..................................pgina 3.
1.1 Un poco de historia ...................pgina 3. 1.2 Actualidad ................................pgina 4.

2. Criptosistemas: Tipos.....................pgina 4.
2.1 Criptosistemas simtricos ..........pgina 6. 2.2 Criptosistemas asimtricos .......pgina 11.

3. Criptosistemas: Construccin........pgina 17. 4. Usos de la Criptografa .................pgina 19. 5. Conclusiones ..................................pgina 22. 6.Bibliografa .......................................pgina 22.

1. INTRODUCCION
-1.1 Un poco de historia Criptografa, segn el diccionario de la real Academia de la Lengua Espaola: -Arte de escribir con clave secreta o de un modo enigmtico. Del griego kryptos, que significa oculto y grphein que quiere decir escritura, este antiguo arte (actualmente definido como una tcnica) data del principio de las civilizaciones humanas, desde entonces la llamada Criptografa Clsica ha sido usada para esconder secretos polticos y militares en su mayora para evitar que estos fueran comprendidos por quien no deba. Basada en algoritmos y clculos matemticos a veces complejos y otras veces no tanto, como por ejemplo el mismsimo Julio Cesar usaba una clave para encriptar sus mensajes y as mandarlos sin peligro a sus generales, su mtodo (su algoritmo de encriptacin) consista simplemente en sustituir cada una de las letras de su mensaje por la letra latina situada tres posiciones delante. Con el tiempo los sistemas criptogrficos (a partir de ahora criptosistemas) fueron pasando a ser clculos matemticos mas y mas complejos siendo estos sistemas cada vez mas necesarios para los estados, empresas y ejrcitos del mundo, quizs el caso mas notorio y trascendental del uso de la criptografa sea un caso considerablemente reciente: la maquina Enigma alemana, usada por los nazis para encriptar sus mensajes, especialmente los mensajes transmitidos a los submarinos, segn muchos historiadores fue cuando los aliados consiguieron desencriptar los mensajes Enigma del eje cuando empezaron a encaminarse hacia la victoria en la Segunda Guerra Mundial. No solo los ejrcitos han usado la criptografa clsica en la historia sino que grandes pensadores como Leonardo Da Vinci que encriptaba sus apuntes con un sencillo algoritmo (escriba con la mano izquierda y en sentido contrario) para evitar los espionajes de sus competidores, y el uso experimentado por muchas de las empresas para transmitir y cifrar sus documentos industriales.

-1.2 Actualidad Fue con la llegada de las primeras computadoras desde un principio usadas para descifrar las claves usadas en su tiempo cuando podemos definir la Criptografa Moderna como la usada computacionalmente. Con la llegada de estas mquinas con una capacidad de clculo impensable en la poca rompieron (romper: termino comnmente usado para indicar la desencriptacin de la clave y con ello la resolucin del sistema) todos o casi todos los sistemas criptogrficos existentes hasta la fecha fueron cayendo bajo la potencia de las computadoras, con lo que la antigua metodologa usada para la obtencin de las claves de encriptacin quedo obsoleta pasando a ser los nuevos sistemas clculos matemticos de muy difcil solucin y por tanto debiendo utilizar las computadoras para poder encriptar mensajes, es aqu donde empieza a encaminarse el uso conjunto de la criptografa y la informtica hasta el punto de ser su uso conjunto una necesidad para ambas tcnicas como ya explicaremos en mayor profundidad en los apartados siguientes de este trabajo en los que se explicaran los tipos y mtodos para el uso y obtencin de los sistemas criptogrficos y sobre todo su necesidad y uso tanto actual como el dado hasta ahora a la criptografa en los medios informticos para garantizar la seguridad en stos.

2. Criptosistemas: Tipos.
Los sistemas criptogrficos actuales pueden definirse de mltiples formas, por ejemplo segn el mtodo usado: pueden ser criptosistemas algebraicos, por sustitucin, etc. O la divisin ms interesante actualmente que divide los criptosistemas en 2 tipos fundamentales: Criptosistemas simtricos o de clave privada Criptosistemas asimtricos o de clave pblica Ambos sistemas en la prctica se suelen usar conjuntamente para alcanzar niveles de rpida ejecucin pues los simtricos podemos adelantar que son bastante ms rpidos en ejecucin y los asimtricos son mas seguros consiguiendo con su uso conjunto el nivel necesario para su uso en la seguridad informtica. A continuacin pasaremos a explicar ambos tipos con ms detalle.

-2.1 Criptosistemas simtricos Son conocidos como criptosistemas de clave privada pues su caracterstica mas notable es que usa una sola clave que es la misma para codificar y descodificar (en el ltimo apartado sern explicados los inconvenientes de cada sistema). Los algoritmos de clave privada son altamente eficientes (siempre hablando en relacin al tamao de la clave) y robustos, pero inseguros para los usos actuales y los posibles usos futuros de la criptografa de seguridad informtica. La criptografa simtrica era suficientemente difcil de desencriptar para la criptografa clsica (todos los sistemas histricos hasta la llegada de las computadoras eran criptosistemas simtricos como ejemplo cualquiera de los casos anteriormente explicados: mquina Enigma o criptografa de Cesar) pues eran suficientemente complejos para la capacidad de resolucin de la poca, otra de las razones de su desuso actual es la necesidad de transmisin de la clave al receptor deseado (ejemplo las mquinas Enigma eran enviadas en tren, en cualquier momento podan ser interceptadas y por tanto muy probablemente decodificadas) por un canal mas o menos seguro segn el caso. En la actualidad en uno de los campos de mas uso de la criptografa como seguridad informtica este canal son las redes o la misma Internet y por lo tanto no es canal nada seguro para transmitir nuestra clave, por ejemplo si queremos enviar una clave simtrica a uno de nuestros clientes para intercambiar cuentas bancarias esta clave podra ser interceptada por alguien y pondramos en bandeja tanto la codificacin como la descodificacin (es importante recordar que la misma clave sirve para ambas funciones) de nuestros mensajes a manos ajenas descubriendo as los datos confidenciales que pretendamos evitar, de aqu el desuso (luego veremos que no existe tal desuso) de los criptosistemas simtricos en la informtica. Por la existencia de esta posibilidad de hackeo de estos sistemas nace el segundo gran tipo de sistemas criptogrficos actuales: los criptosistemas asimtricos. Introducindonos de lleno en la criptografa informtica podemos encontrar que dentro de los criptosistemas simtricos existe una subdivisin segn la manera de cifrar y descifrar un mensaje: cifradores simtricos en flujo, cifradores simtricos por bloques y los cifradores en resumen. A continuacin pasamos a explicarlos en mayor detalle:

-2.1.1 Cifrado en flujo (Block cipher) Se define como aquel cifrado con caractersticas simtricas (clave pblica, de pequeo tamao y con algoritmos rpidos) que cifra el mensaje bit a bit. A continuacin se explican algunos de los subtipos mas usuales. Cifrado sncrono y autosincronizante En el cifrado sncrono la secuencia pseudo aleatoria (clave) generada para cifrar y descifrar un mensaje es independiente de ste, mientras que en los cifradores de flujo autosincronizantes la secuencia de cifrado s es funcin del mensaje. As, en el cifrado sncrono, el emisor y el receptor deben usar la misma clave (que, adems, debe estar sincronizada) para poder establecer la comunicacin; por este motivo utilizan seales de sincronizacin, que no son necesarias en el cifrado autosincronizante, ya que al tener una realimentacin, en caso de prdida de sincronismo, ste puede recuperarse transcurrido un tiempo. Cifrado Vernam El cifrado Vernam fue desarrollado en los Estados Unidos y recibe el nombre del que fuera su creador en 1917. Originalmente se us en circuitos teletipo, siendo su diseo para el cifrado en tiempo real y el descifrado de seales teletipo. El cifrado Vernam hace uso de la funcin OR- exclusiva (XOR) para cifrar un mensaje dado con una clave determinada. Es un proceso simtrico, pues usa la misma clave para el proceso de cifrado y el de descifrado. Las versiones ms recientes de cifradores Vernam usan claves generadas electrnicamente, que son infinitamente largas y de naturaleza aleatoria, en principio, aunque por supuesto cada usuario del sistema debe ser capaz de generar la misma secuencia usada como clave. Sin embargo, no existen secuencias completamente aleatorias, sino secuencias peridicas con periodo muy elevado, conocidas como secuencias pseudo aleatorias o, en ingls, Pseudo Random Binary Sequence (PRBS) . Existen diferentes mtodos de generar estas secuencias, pero el ms habitual es el que usa registros de desplazamiento (shift registers). Es un sistema incondicionalmente seguro siempre que la clave sea realmente aleatoria, lo cual es imposible en la prctica. Actualmente un
6

rea de investigacin importante se centra en encontrar funciones generadoras de secuencias pseudo aleatorias que sean criptogrficamente seguras. El cifrador lineal perfecto Este cifrador fue introducido por Massey y Rueppel y es semejante al estndar utilizado para el cifrado de la televisin en la European Broadcasting Universe.

-2.1.2 Cifrado en bloques (Block cipher) Este tipo de cifradores simtrico toma un numero determinado de bits como elemento base y los cifra en bloques iguales (normalmente de 64 bits).Existen numerosos ejemplo de cifradores en bloque por ejemplo: DES Para la transmisin de datos confidenciales entre ordenadores se desarroll a principios de la dcada de 1970 LUCIFER, un sistema de cifrado basado tanto en la sustitucin como en la transposicin, y en 1976 se elabor la norma de cifrado de datos o DES (Data Encryption Standard) sobre la base del primero. Fue, y todava es, ampliamente usado, sobre todo, en el campo financiero. El DES transforma segmentos de mensaje de 64 bits en otros equivalentes de texto cifrado, empleando una clave de 56 bits. Cada usuario elige una clave al azar, que slo comunica a aquellas personas autorizadas a conocer los datos protegidos. El mensaje real se codifica y descodifica automticamente mediante equipos electrnicos incorporados a las computadoras emisoras y receptoras. Como existen ms de 70.000 billones de combinaciones de 56 bits, la probabilidad de descubrir la clave aleatoria parece mnima. As, es un mtodo de cifrado altamente resistente frente a ataques criptoanalticos diferenciales. Sin embargo, algunos expertos han criticado la tcnica DES por su vulnerabilidad frente a los potentes mtodos de descodificacin posibles para los grandes ordenadores y no lo han considerado apropiado para las aplicaciones recientemente realizadas. Y es que, por desgracia, el tamao de su clave (56 bits) lo hace vulnerable a ataques de fuerza bruta. Un reciente ataque contra un mensaje con cifrado DES requiri el uso de cientos de ordenadores durante 140 das. Pero hay diseos de mquinas que, con un costo de un milln de dlares, podran descifrar mensajes DES en cuestin de minutos.
7

Quiz por eso el gobierno de EEUU lo utiliza solamente para cifrar datos no clasificados. En la actualidad ofrece proteccin contra el pirata informtico habitual, pero no contra un esfuerzo masivo por parte de un usuario con grandes recursos. Una variantes de DES, Triple- DES (3DES), basado en el uso de DES tres veces (normalmente en una secuencia de cifrado- descifrado- cifrado con tres claves diferentes y no relacionadas entre s). El sistema 3DES es bastante ms seguro que el Des (simple), aunque presenta el inconveniente de ser considerablemente ms lento que los modernos sistemas de cifrado en bloque. A pesar de que DES parece ser de escaso inters para aplicaciones de hoy en da existen numerosas razones para considerarlo todava importante. Fue el primer sistema de cifrado en bloque que se extendi al sector pblico, por lo que ha desempeado un importante papel en hacer asequible la criptografa segura al gran pblico. Adems, su diseo era excepcionalmente bueno para un sistema de cifrado pensado para tener un uso de tan slo unos aos. Demostr ser un sistema fuerte y soport una dcada de ataques, hasta que llegaron los procedimientos ms potentes de criptoanlisis diferencial y lineal (ataques a partir del texto en claro escogido). En la etapa de introduccin del DES su filosofa de diseo se mantuvo en secreto, pero actualmente ya se conoce gran cantidad de informacin sobre su diseo, y uno de sus diseadores, Don Coppersmith, ha comentado que ya se descubrieron ideas similares a las del criptoanlisis diferencial cuando estaban diseando DES all en 1974; as pues, slo era cuestin de tiempo el que estas ideas fundamental fueran `redescubiertas'. An actualmente, cuando DES ya no se considera una solucin prctica, es usado a menudo para describir nuevas tcnicas de criptoanlisis. Es importante destacar que incluso hoy, no existe ninguna tcnica de criptoanlisis que pueda vulnerar completamente DES de un modo estructural; de hecho, la nica debilidad de DES es el pequeo tamao de la clave (y quiz el pequeo tamao del bloque) Claves: Para todos los cifradores en bloque existen claves que se deben evitar debido a la escasa complejidad del cifrado al que dan lugar. Estas claves son aquellas para las que la misma sub- clave es generada en ms de una iteracin e incluyen: Claves dbiles: La misma sub- clave es generada en cada iteracin. DES tiene 4 claves dbiles. Claves semi- dbiles: Slo dos sub- claves se generan en iteraciones alternadas. DES tiene 12 claves de estas (en 6 pares). Modos de cifrado de DES: DES cifra bloques de datos de 64 bits usando una clave de 56 bits. Normalmente tenemos una cantidad de informacin arbitraria para cifrar y necesitamos una forma de
8

especificar cmo realizamos ese cifrado. La manera en que usamos un cifrador en bloque se denomina modo de uso y para DES se han definido cuatro por el estndar ANSI. En bloque: Electronic Codebook Book (ECB): El mensaje se divide en bloques independientes de 64 bits y el cifrado se efecta bloque a bloque. C(i) = DES(K1) (P(i)) Cipher Block Chaining (CBC): De nuevo el mensaje se divide en bloques de 64 bits, pero estos se unen en el cifrado mediante un vector de inicializacin IV. C(i) = DES(K1) (P(i)(+)C(i- 1)), con C(- 1)=IV En flujo: Cipher FeedBack (CFB): Los bits del mensaje son aadidos a la salida del DES, y el resultado se lleva al siguiente bloque. Requiere tambin de un vector de inicializacin. C(i) = P(i)(+) DES(K1) (C_(i- 1)), con C_(- 1)=IV Output FeedBack (OFB): Es igual que el anterior pero sin realimentacin. C(i) = P(i)(+) O(i) O(i) = DES(K1)(O(i- 1)), con O(- 1)=IV Cada modo presenta sus ventajas y sus desventajas.

Rijndael Actualmente el algoritmo DES est obsoleto y, para sustituirlo, el NIST (National Institute of Standards and Technology) propuso una competicin para desarrollar el estndar AES, hasta cuya resolucin ha adoptado el sistema Triple- DES como una solucin temporal. Los cinco algoritmos finalistas para AES, elegidos entre un total de quince, fueron MARS, RC6, Rijndael, Serpent y Twofish. As, Rijndael es un cifrador en bloque diseado por John Daemen y Vincent Rijmen como algoritmo candidato al AES (Advanced Encryption Standard). Su diseo estuvo fuertemente influenciado por el de un cifrador (block cipher Square), que tambin fue creado por John Daemen y Vincent Rijmen y se centraba en el estudio de la resistencia al criptoanlisis diferencial y lineal. El nombre del algoritmo es una combinacin de los nombres de sus dos creadores El cifrador tiene longitudes de bloque y de clave variables y puede ser implementado de forma muy eficiente en una amplia gama de procesadores y mediante hardware. Como todos los candidatos del AES es muy seguro y hasta la fecha no se le han encontrado puntos dbiles. La longitud de la clave de Rijndael, si bien es variable, debe ser de 128, 192 o 256 bits, segn los requisitos establecidos para el AES. Asimismo, la longitud del bloque puede variar entre 128, 192 o 256 bits.
9

Todas las posibles combinaciones (nueve en total) entre longitudes de clave y bloque son vlidas, aunque la longitud oficial de bloque para AES es de 128 bits. Las longitudes de la clave y el bloque pueden ser fcilmente ampliadas a mltiplos de 32 bits. El nmero de iteraciones del algoritmo principal puede variar de 10 a 14 y depende del tamao del bloque y de la longitud de la clave. Una de las crticas ms habituales de Rijndael es el escaso nmero de iteraciones, pero esto no supone un problema, pues el coste operacional puede aumentarse sin ms que incrementar el tamao del bloque y la longitud de la clave. La implementacin Stealth de Rijndael usa una clave de 256 bits y un bloque de 128 bits de tamao. Usando la mayor longitud posible de clave conseguimos la mxima seguridad para el usuario. La filosofa de este diseo concedera pues mayor importancia a la seguridad que a la velocidad. Si el usuario proporciona una clave de menor longitud Stealth la transforma de una forma especial, casi aleatoriamente, para hacerla de 256 bits. Y aunque acepta tamaos de bloque mayores que 128 bits, n existe ninguna razn para usarlos siendo que este nmero de bits ha sido elegido como tamao estndar. -2.1.3 Cifrado en resumen, funciones hash (hash functions) Estas funciones son bsicas en la programacin y en la seguridad informtica actual por su alta eficiencia y su gran rapidez de ejecucin. El funcionamiento de estas funciones es sencillo, mediante una clave crean un resumen del mensaje que es nico para cada mensaje y de un tamao relativamente pequeo, siendo este resumen complemente distinto al resumen de otro mensaje distinto. Como luego se pasar a explicar con mayor detalle son esenciales para la codificacin en las redes que es la ms importante en cuanto a uso actualmente. Como ejemplos de algoritmos hash podemos poner: MD2 (Message Digest 2). Se dise para ordenadores con procesador de 8 bits, y hoy apenas se utiliza. Se conocen ataques a versiones parciales de MD2. MD4 (Message Digest 4). Fue desarrollado por Ron Rivest, de RSA Data Security. Su diseo es la base de otros hash, aunque se le considera inseguro. Un ataque desarrollado por Hans Dobbertin permite generar colisiones (mensajes
10

aleatorios con los mismos valores de hash) en cuestin de minutos para cualquier PC. Por ese motivo, est en desuso.

SHA-1 (Secure Hash Algorithm) Fue desarrollado como parte del estndar hash seguro (Secure Hash Standard, SHS) y el estndar de cifrado digital (Digital Signature Standard, DSS) por la Agencia de Seguridad Nacional norteamericana (NSA). Aparentemente se trata de un algoritmo seguro y sin fisuras, al menos por ahora. La primera versin, conocida como SHA, fue mejorada como proteccin ante un tipo de ataque que nunca fue revelado. El documento FIPS (Federal Information Processing Standard) que oficialmente lo describe afirma que los principios subyacentes al SHA- 1 son similares a los del MD4 de Rivest. Su implementacin puede estar cubierta por patentes en Estados Unidos y fuera de ellos. A falta de ataques ulteriores, se le puede considerar seguro. Es el algoritmo de firmado utilizado por el programa PGP (un conocido programa comercial de cifrado usado casi siempre en codificacin de correo electrnico) en sus nuevas claves DH/DSS (que significa: cifrado mediante clave Diffie- Hellman y firmado mediante funcin hash/ Digital Signatura Standard). Para la generacin de otro tipo de firmas digitales suelen usarse algoritmos basados en criptografa de clave pblica, sobre todo RSA y DSS.

-2.2 Criptosistemas asimtricos A diferencia de los criptosistemas simtricos la clave pblica es la caracterstica ms importante de los sistemas criptogrficos asimtricos y que da nombre a este tipo de sistemas. Los criptosistemas asimtricos tienen siempre 2 tipos de claves distintas siempre existentes, una de ellas la pblica que se utiliza para codificar el mensaje en cuestin, sta clave puede ser mas o menos pblica en su significado habitual segn el campo en el que se vaya a usar, por ejemplo si la usamos para enviar mensajes a una sola persona solo deberan poseer esa clave 1 o las 2 personas que van a enviarse los mensajes pero existen otros usos como el correo electrnico que obligan a que esta clave pblica este en el mayor numero de maquinas posibles para facilitar as nuestras ventas en la red por lo tanto se suele distribuir como un estndar.
11

Y el segundo tipo de clave, la clave privada se usar para descodificar el mensaje ( en algunos casos estas claves son intercambiables, si con una codificamos con la otra podremos descodificar sin importar el orden de uso). Estos criptosistemas fueron desarrollados para resolver los inconvenientes de los sistemas simtricos por los matemticos del MIT (Massachussets Institute of Technology) en la dcada de los sesenta usando para su creacin funciones matemticas basadas sobretodo en la importancia de los nmeros primos para crear funciones de clculo considerablemente sencillo (funciones de direccin nica) para codificar nuestros mensajes pero con una funcin inversa de muy difcil resolucin o incluso prcticamente imposible de calcular para descifrar los mensajes. En estos criptosistemas es mucho mas difcil calcular la clave (se entiende que la privada) a partir mensajes o de la misma clave pblica por cualquier medio ya sea el de los clculos computacionales o cualquier otro, por tanto se los considera sistemas criptogrficos mucho mas seguros que los simtricos pero siempre dentro de la afirmacin siempre cierta de que no existe el criptosistema perfecto y irresoluble. Como anteriormente hicimos pasaremos a explicar algunos ejemplos de sistemas criptogrficos asimtricos, importante indicar que son considerados cifradores en bloque todo los que explicaremos en detalle. -2.2.1 Ejemplos de sistemas asimtricos RSA Se han propuesto diferentes alternativas, como el criptosistema de clave pblica (PKC), que utiliza una clave pblica y otra secreta. El PKC, basado en un enfoque matemtico, elimina el problema de la distribucin de claves pero no resulta tan eficaz, desde el punto de vista informtico, como el DES. En 1978 apareci el denominado algoritmo RSA, ideado por Rivest, Shamir y Adleman, que utiliza nmeros primos y la aritmtica modular, que trabaja con subconjuntos finitos de nmeros enteros: los conjuntos de todos los nmeros enteros que tienen el mismo resto al dividirlos entre n. Por ejemplo, la aritmtica mdulo 7 viene dada por el conjunto {0,1,2,3,4,5,6}, y para representar cualquier nmero entero en este conjunto, bastar con tomar su resto despus de dividirlo por 7. As, por ejemplo, el nmero 64 corresponder al 1 mdulo 7, ya que si dividimos 64 entre 7, nos queda como resto 1. En otras palabras, podemos poner 64=k*7+1, donde k ser un nmero entero cuyo valor no nos va a importar. Anlogamente, 17=k*7+3
12

(luego 17 corresponde a 3 mdulo 7), 57=k*7+1 (57, al igual que 64, corresponde a 1 mdulo 7), etc. Pues bien, dentro de estos conjuntos se pueden definir fcilmente las operaciones aritmticas suma, resta y multiplicacin: bastar con sumar, restar o multiplicar y luego tomar el mdulo correspondiente. Siguiendo con nuestro ejemplo, el producto de 3 por 5 mdulo 7 es precisamente 1 (ya que 3*5 = 15, y al dividir por 7 nos queda como resto 1). Al igual que con los nmeros reales, si el producto de dos nmeros vale 1, diremos que uno es la inversa de otro, por lo que 3 es la inversa de 5 mdulo 7. Una vez que tenemos la nocin de inversa de un nmero en aritmtica modular, podemos definir la operacin divisin a/b como el producto de a por la inversa de b. Por ejemplo, 4/3 ser igual a 4*5 = 20 = 6 mdulo 7. Existe una propiedad muy interesante, y es que un nmero a tiene inversa mdulo n siempre y cuando no exista ningn nmero menor que a y n que los divida de forma exacta a los dos, es decir, a y n sean primos relativos. Fijndose un poco, en el ejemplo anterior, el mdulo empleado es un nmero primo, por lo que podemos concluir que todos los nmeros (excepto el cero) tienen inversa mdulo 7. En general, se define la funcin (n) (Totient de Euler) como la cantidad de nmeros que tienen inversa mdulo n. En particular, si n puede descomponerse en dos nmeros primos p y q, (n)= (p- 1)*(q- 1). La ltima propiedad que nos interesa es que si multiplicamos un nmero a (distinto de cero) por s mismo (n) veces, obtenemos 1 mdulo n, y en esto es precisamente en lo que se apoya RSA. Para poder emplear el algoritmo RSA tenemos que escoger un nmero entero n que sea producto de dos nmeros primos p y q muy grandes. Escogemos luego un nmero e aleatoriamente, que sea primo relativo con (n), y calculamos su inversa mdulo (n), que denominaremos d. El par (n,e) ser nuestra clave pblica, y d ser la clave privada. Para cifrar un nmero m calcularemos me mdulo n (m elevado a e mdulo n, o bien m multiplicado por s mismo e veces). La parte ms complicada viene al intentar descifrar un nmero: hay que elevarlo a d. Como d*e = 1 modulo (n), elevar m a e y luego a d ser equivalente a multiplicar m por s mismo d*e(o sea, k*(n)+1) veces. Esto es equivalente a calcular m elevado a (n), multiplicarlo por s mismo k veces, y luego multiplicar por m una vez ms. Como m elevado a (n) es igual a 1, ser como multiplicar 1 por s mismo k veces y luego multiplicar por m, con lo que nos queda de nuevo m. Para ayudar a comprenderlo, vamos a poner un ejemplo: supongamos que n=5*11=55, entonces (n)=4*10=40. Sea e=7, cuya inversa mdulo 40 es 23, ya que 7*23=161=1 mdulo 40. Nuestra clave pblica ser (55,7), y nuestra clave privada ser 23. Para cifrar ahora el nmero 2
13

bastar con calcular 27=128=18 mdulo 55. Si luego elevamos 18 a 23 mdulo 55 nos queda de nuevo 2. El `truco' de RSA est precisamente en que si conocemos los factores de n podemos calcular fcilmente el valor de (n), por lo que un atacante tendr que factorizar n si quiere calcular nuestra clave privada d, lo cual resulta prcticamente imposible si n es lo suficientemente grande. En la prctica, encontrar esta factorizacin para nmeros grandes requiere mucho tiempo de trabajo de un potente ordenador. La factorizacin de un nmero en producto de primos esconde en s misma dos problemas matemticos: reconocer si un nmero es primo o no y encontrar la factorizacin. Si queremos factorizar un nmero de 300 dgitos que es producto de dos primos de gran tamao, con los mtodos actuales necesitaramos alrededor de un siglo. Por ello este tipo de sistemas son tiles y poco menos que invulnerables ya que, dentro de un siglo, qu puede importarnos ya que alguien descubra el contenido de un mensaje nuestro? Un detalle, no obstante, debe tenerse en cuenta. La dificultad intrnseca de factorizar grandes nmeros es un tema abierto. Actualmente el mtodo de factorizacin ms rpido conocido es la Criba Numrica Especial de Campo (Special Number Field Sieve), pero no est demostrado que no haya otro mejor. Si se descubre un mtodo de tiempo polinmico (esto es, cuyo tiempo de ejecucin dependa del nmero N de cifras como Na), cualquier producto de nmeros primos podr factorizarse con relativa facilidad. No obstante, desde1978 se han estudiado muchas variantes de este tipo de claves y parece ser que RSA contina siendo el sistema ms eficaz y seguro. ElGamal Propuesto por T. ElGamal, este sistema de clave pblica est basado en un procedimiento de cifrado que usa dos valores pblicos: un nmero primo p de aproximadamente 200 dgitos y un entero g tal que sus potencias generan todos los elementos del grupo. As, la clave secreta del firmante es un entero aleatorio x elegido por el mismo tal que 1 < x < p- 1, y la clave pblica asociada y se obtiene como sigue: y = gx (mod p) El cifrado de un mensaje en claro M tal que 1 < M < p, se lleva a cabo eligiendo un valor entero aleatorio k con 1 < k < p- 1 y k relativamente primo con p. Si los valores de k elegidos para la computacin de un mismo mensaje en claro son distintos los cifrados resultantes tambin lo sern. Un inconveniente importante de este sistema de cifrado es la capacidad de almacenamiento necesaria, al ser la longitud del mensaje cifrado el doble que la del mensaje en claro.
14

La ruptura de este sistema pasa por la resolucin de un problema de logaritmo discreto, lo cual resulta complicado cuando se trabaja con nmeros suficientemente grandes. Sin embargo, en ocasiones el clculo del logaritmo discreto resulta viable incluso para valores de p de gran tamao, lo cual se debe a la existencia de nmeros primos con caractersticas debilitantes para el sistema, esto es, nmeros a partir de los que resulta posible obtener la clave secreta x a partir de la pblica y, que deberemos evitar. Es el predecesor del DSS (Digital Signature Standard) y su uso est bastante extendido a pesar de que no se ha creado ningn estndar conocido para ello. Criptografa con curvas elpticas Son los criptosistemas ms recientes dentro del campo de los sistemas de clave pblica y representan slo otra forma de implementar mtodos de logaritmo discreto(aparte de la mas usual: los nmeros primos y sus operaciones que se explicar en las pginas siguientes) . Las curvas elpticas en criptografa son bsicamente un conjunto de puntos que cumplen la y2 = x3 + ax + b siempre que sean considerados en un cuerpo finito de caracterstica p (con p > 3). Para caractersticas del cuerpo p = 2 y p = 3 se requiere una ecuacin ligeramente diferente. Los puntos de una curva elptica forman una estructura llamada grupo (concretamente son un grupo abeliano). Esto significa que podemos realizar las operaciones aritmticas de suma y resta con ellos del mismo modo que lo hacemos con los enteros. Adems de presentar algunas ventajas tericas son muy prcticas. No existe ningn algoritmo rpido de clculo de un logaritmo, lo cual supone que el tamao de la clave, as como las firmas digitales y mensajes cifrados obtenidos son pequeos. De hecho, los criptosistemas basados en curvas elpticas proporcionan la misma seguridad que los basados en factorizacin o logaritmo discreto reduciendo considerablemente el nmero de dgitos. Las curvas elpticas pueden ser implementadas con gran eficiencia en hardware y software, y son capaces de competir en velocidad con sistemas como RSA y DSS. En general se cree que son bastante seguros, pero no ha sido demostrado. S se sabe que existe un tipo de curvas que recientemente se ha revelado extremadamente vulnerable, por lo que stas no deben usarse en criptografa. Y de entre los dems tipos de curvas se deber examinar cuidadosamente antes de elegir uno concreto para comprobar su idoneidad como base para un cdigo de cifrado de datos. La seguridad de los sistemas de criptografa con curvas elpticas es buena a priori y, pese al esfuerzo realizado para intentar atacarlos, hasta el momento no ha habido ninguna sorpresa.
15

El algoritmo XTR introducido recientemente por Lenstra y Verheul podra convertirse en una competencia importante para las curvas elpticas. Sin embargo, las curvas elpticas parecen funcionar ligeramente mejor en la prctica y presentan una ventaja definitiva en cuanto al tamao de la clave. Hay varios intentos de estandarizacin para los criptosistemas de curvas elpticas (como por ejemplo ECDSA por ANSI). Actualmente las curvas elpticas son sobradamente conocidas, pero no su uso en la prctica no est muy extendido. Para que quede comprobado el potencial(en cuanto a eficiencia y seguridad) de este sistema lo compararemos con el RSA mediante una tabla:

Podemos observar que las diferencias son significativas, siempre muy a favor de las curvas elpticas. Esto es as porque el logaritmo elptico puede ser una funcin mucho ms segura que el logaritmo discreto o la factorizacin cuando se trabaja con nmeros enteros de una determinada dimensin. Todas estas cuestiones de factorizacin sern mas tarde explicadas.

16

- 2. Criptosistemas: Construccin
Una de las mejores definiciones para la palabra Criptografa, viene a decir que es el conjunto de tcnicas que permiten transformar un trozo de informacin, de tal forma que quienes deseen recuperarlo sin estar en posesin de otra pieza de informacin (clave), se enfrentarn a un problema intratable. Conviene recordar que "intratable" no significa lo mismo que "irresoluble"; puesto que el nmero de posibles claves ha de ser finito, la fuerza bruta siempre nos permitir recuperar el mensaje original, al margen de que seamos luego incapaces de reconocerlo. En cualquier caso, desde un punto de vista prctico la casualidad debe ser descartada, ya que las probabilidades de que se descifre por la fuerza bruta un mensaje en tiempo razonable es nfima. Solo nos quedara explicar que entendemos como problema intratable que podamos adaptar al uso de computadoras?, la respuesta parece sencilla: complejos clculos matemticos que superen la capacidad de resolucin o clculo de un posible atacante y que no existen lo que se conoce como atajaos para la resolucin del problema que pueda encontrar un atacante y le sirve para descifrar nuestros mensajes. Para introducir el principio fundamental de la criptografa moderna supongamos dos nmeros enteros cualesquiera a y b. Recordemos que el nmero de operaciones elementales que requiere un algoritmo sencillo para obtener su producto no depende directamente del valor de a y b, sino del nmero de dgitos que stos posean (o sea, de su logaritmo). Esta propiedad permite que podamos multiplicar nmeros muy grandes en un nmero de pasos razonablemente pequeo. Por ejemplo, dos nmeros de siete cifras (del orden del milln) requieren menos de sesenta operaciones elementales para ser multiplicados. Ya explicamos anteriormente la importancia de las operaciones inversas en los criptosistemas asimtricos por lo que si suponemos que tenemos un nmero n y queremos conocer sus dos factores a y b. En la actualidad existen algoritmos relativamente eficientes para llevar a cabo esta operacin, pero siguen requiriendo un nmero de operaciones que se vuelve astronmico cuando a y b son lo suficientemente grandes. Normalmente el caso ms desfavorable se da cuando a y b son nmeros primos, puesto que entonces son los nicos factores de n. Esta dificultad es aprovechada por muchos algoritmos de clave privada, como es RSA, que en principio basa su fuerza en el problema de la factorizacin. Sin embargo, aunque es conocido que si dicho problema

17

fuera resuelto el algoritmo caera, nadie ha demostrado que no exista un mtodo para descifrar un mensaje RSA sin factorizar el mdulo. En fin, parece bastante claro que la investigacin dentro de estos mbitos matemticos es fundamental, ya que permitir constatar (o refutar en su caso) la capacidad que tienen muchos algoritmos de proteger nuestros datos. Una vez conocida la importancia de los nmeros primos, hay que buscar un mtodo para identificarlos. Y aqu es donde surge la primera paradoja aparente: un nmero es primo si no se puede factorizar, pero intentar factorizarlo es una tarea impracticable si el nmero es lo suficientemente grande. Por suerte, existen tcnicas probabilsticas para tener un grado de certeza aceptable acerca de la primalidad de un nmero concreto. Las tcnicas arriba mencionadas se basan en escoger un nmero aleatorio x y efectuar una serie de operaciones entre x y n. Si se cumplen ciertas propiedades, sabremos con un grado de certeza determinado que n puede ser primo. Repitiendo este test muchas veces con diferentes valores de x, podemos aumentar nuestra confianza en la primalidad de n tanto como queramos. Los nmeros primos que conocemos actualmente no son nmeros grandsimos computacionalmente hablando (el mas grande en la actualidad es 26972593 descubierto por Nayan Hajratwala) Y sabemos que los sistemas no son perfectos (tericamente nunca lo sern) y al ritmo que avanza el hardware los sistemas actuales pronto quedaran obsoletos es por ello que se tiene la vista fijada en la muy posiblemente computacin del futuro, la computacin cuntica, capaz tericamente de alcanzar niveles de clculo en los que el uso de los nmeros primos como sistema para construir claves quede aplastado por la futura criptografa cuntica que base sus principios en los fsico-cunticos para obtener sistemas indescifrables por esas futuras mquinas de las que an solo se han producido prototipos simples, quizs aun nos quede mucho que esperar pero la criptografa debe avanzar paralelamente a estas nuevas mquinas para garantizar la seguridad informtica. Otro de los grandes problemas de la criptografa y que afectan sobretodo a la creacin de nuevos sistemas es la imposibilidad de poder medir la seguridad de un sistema, como nunca podemos afirmar que el sistema sea seguro debemos probar ataques contra l y esto es algo no demasiado sencillo y aun as podra resultar seguro hasta que alguien consiga descifrarlo, por ello la dificultad de crear nuevos sistemas y de implantar los mas recientes (este es el caso de las curvas elpticas que aun no se consideran fiables) con los posibles fallos de seguridad que ello podra llevar.
18

- 4. Usos de la criptografa actuales


Ahora que conocemos los tipos de criptosistemas que se usan en la informtica explicaremos como se suelen usar, que como ya dijimos es un uso conjunto entre sistemas, es decir, con criptosistemas asimtricos ciframos lo que ser nuestra clave simtrica con la que cifraremos nuestro mensaje a transmitir. Este es el esquema de algoritmo criptogrfico ms habitual en los mltiples usos a los que la criptografa se dedica actualmente. Con la llegada de Internet esa utilidad fonolgica de la criptografa pas a ser un uso continuo del que el usuario no se percata pero que es esencial para salvaguardar los datos (ya sean contraseas, cuentas bancarias, datos personales o cualquier otro tipo de informacin confidencial) que con frecuencia se deben enviar a travs de redes o por algn otro medio. En la red de redes se plantea otro gran problema, esto es, Cmo sabemos que nuestro destinatario es quien dice ser? o Cmo sabemos si el mensaje que estamos recibiendo no es un mensaje parcial, es decir si no se han perdido datos por alguna razn? Todos estos problemas actualmente se resuelven con la Firma Digital. La firma digital forma parte de los mensajes que enviamos acreditando as nuestra autora y la misma integridad del mensaje. La firma digital es la base de las compras en Internet y de la llamada ciberdemocrcia. Una buena firma digital debe ser: nica e infalsificable, o lo que es lo mismo, computacionalmente segura. Verificable por el receptor de la misma. Viable, es decir, fcil de generar. Para firmar un documento digital, su autor utiliza su propia clave secreta, a la que slo l tiene acceso, lo que impide que pueda despus negar su autora (no revocacin). De esta forma, el autor queda vinculado al documento que firma. Una firma digital ofrece una forma de asociar un mensaje con la entidad que lo enva, y es la forma en la que podemos "firmar" (de forma similar a la que firmamos tradicionalmente sobre un papel) al efectuar una compra en el ciberespacio. De esta manera se evitan fraudes y falsificaciones, ya que, por ejemplo, slo nosotros podremos utilizar nuestra cuenta de tarjeta Visa en la Red de Internet. Cualquier persona puede verificar la validez de una firma si dispone de la clave pblica del autor. Para realizar una firma digital el software del firmante aplica de forma transparente al usuario un algoritmo hash, (los ms usados son MD5 o SHA- 1, que resume el mensaje o parte de l), sobre el texto a firmar,
19

obteniendo un extracto de longitud fija, y absolutamente especfico para ese mensaje (un mnimo cambio en el mensaje produce un extracto completamente diferente). Este extracto, cuya longitud oscila entre 128 y 160 bits (en funcin del algoritmo utilizado), se somete a continuacin a cifrado mediante la clave secreta del autor, previa peticin de contrasea. El algoritmo utilizado para cifrar el extracto puede ser el mismo RSA o una clave especfica para firmar tipo DSS. El extracto cifrado constituye la firma y se aade al final del mensaje o en un fichero adherido a l. Para comprobar la validez de una firma digital se necesita disponer de la clave pblica del firmante para poder verificar su firma. El software del receptor descifra el extracto cifrado que constituye la firma digital (de forma transparente al usuario), utilizando para ello la clave pblica del remitente y obtiene como resultado un bloque de caracteres. A continuacin, calcula el extracto hash que corresponde al texto del mensaje. Si el resultado coincide exactamente con el bloque de caracteres obtenido en la operacin anterior, la firma se considera vlida. Si existe la menor diferencia, la firma se considera no vlida. Para que este esquema tenga xito, es preciso una funcin hash que elija fragmentos adecuados del texto a cifrar. Evidentemente, no sirve cifrar las cuatro primeras palabras del mensaje, ya que podra usarse esa firma en otro mensaje cuyas tres primeras palabras sean iguales. Por otro lado, puede cifrarse todo el mensaje, pero este procedimiento podra doblar fcilmente el tamao del mismo, lo cual no resulta conveniente ni aconsejable: el ataque principal contra el sistema de cifrado RSA consiste en firmar un mensaje cuidadosamente escrito por el atacante; eso puede permitirle averiguar la clave secreta del firmante. Lo que se ha de firmar es un "resumen" o "revoltillo" en Sudamrica (hash) representativo del mensaje particular, que solamente pueda generarse mediante la clave secreta del firmante y mediante el mensaje, y que no sea de longitud excesiva. As que no sirven sistemas que puedan generar firmas iguales para mensajes distintos. Tampoco puede admitirse un hash que filtre informacin sobre el mensaje; si se puede reconstruir el mensaje a partir del hash se podra obtener un segundo mensaje con el mismo hash. El sistema tiene un punto dbil, que es consustancial a los criptosistemas de clave pblica. Efectivamente, la firma digital nos permite comprobar la relacin entre un mensaje y la clave utilizada pero no podemos estar seguros de que esa clave corresponde realmente a la persona o entidad que dice poseerla. Este problema requiere la intervencin de una tercera parte fiable, en la que confen las dos partes implicadas.
20

Es lo que se llama Autoridad de Certificacin. Y es esa tercera parte fiable la que acredita, actuando como una especie de notario que extiende un certificado de claves (firmado con su propia clave), la ligazn entre una determinada clave y su propietario real. Algunos programas, como PGP, no utilizan autoridades de certificacin externas, sino que delegan en el propio usuario la responsabilidad de certificar claves conforma a su criterio, estableciendo lo que se denomina una red de confianza (Web of Trust) totalmente descentralizada, pero con el apoyo de una red de servidores de claves. Los servidores de certificados son aplicaciones destinadas a crear, firmar y administrar certificados de claves, y que permiten a una empresa u organizacin constituirse en autoridad de certificacin para subvenir sus propias necesidades. La relevancia del firmado digital, pese a que no se suele pensar mucho en l cuando se estudia la seguridad global de un protocolo criptogrfico, es grande: si bien pocas veces nos vemos en la necesidad de cifrar nuestros datos, s es importante autentificarlos. Al hacer un pedido a una cibertienda por correo electrnico, importa relativamente poco que los datos vayan cifrados (a no ser que incluyamos informacin sensible como nmeros de cuenta corriente); pero es imprescindible tener un medio de certificar que ese mensaje ha sido enviado. Si compro la tostadora de 30 y el vendedor se empea en que mi mensaje peda el televisor de 300, cmo puedo demostrar lo contrario? Y al revs, si yo soy el vendedor, cmo s que el comprador no se va a echar atrs alegando que jams envi ese mensaje? Las cabeceras de los mensajes son demasiado fciles de falsificar o alterar, por lo que no constituyen ninguna prueba. En algunos estados norteamericanos, la firma digital se acepta como elemento de prueba en iguales trminos que la firma autografiada en papel. En Espaa se acepta un fax como documento vinculante, a pesar de que resulta un juego de nios digitalizar una firma (o fotocopiarla) y adosarla a otro documento, de manera que por qu no aceptar firmas digitales sin estn convenientemente construidas? Por desgracia, no podremos efectuar tal cosa hasta que dispongamos de un procedimiento seguro de creacin de firmas digitales.

21

- 5. Conclusiones
Quizs lo mas repetido en este trabajo haya sido la importancia de la criptografa en la informtica pues de ello se trataba y creo ha quedado bastante claro lo mas bsico de la criptografa computacional, sus tipos ejemplos actuales y usos en este tiempo considerada una parte imprescindible en cualquier sistema y creo lo ser aun mas si cabe en el futuro cuando segn se prev todo fluya en la red incluso lo mas confidencial he aqu la importancia del cifrado, la autentificacin, la comprobacin de integridad y los posibles usos que de la criptografa se pueda sacar en un futuro. Con la mirada atenta en el futuro de la criptografa (como ya dijimos la muy posiblemente futura criptografa cuntica) y confiando en la seguridad que nos proporcionan los sistemas actuales que esperemos nunca caiga (aunque no parece muy probable con el ritmo actual de avance tecnolgico alcanzado) y pueda cumplir los principios con los que la informtica naci: tratamiento seguro de informacin.

- 6. Bibliografa
PASTOR FRANCO, J.; SARASA LPEZ, M.A. Criptografa digital Libro electrnico de seguridad informtica y criptografa. Jorge Ramiro Aguirre UPM (http://www.criptored.upm.es/descarga/CriptoClasica.zip) Criptografa clsica. Jorge Ramiro Aguirre http://www.pgpi.org http://www.redsegura.com http://www.htmlweb.net/seguridad/cripto/cripto_1.html

22

También podría gustarte