Está en la página 1de 12

Una de las partes ms antigua de la matemtica es el lgebra, que ya era utilizada y desarrollada por babilnicos, egipcios y griegos, pero

fue en el siglo XIX de nuestra era cuando encontr su verdadero desarrollo. Una de sus ramas, el lgebra Lineal, es de tremenda utilidad prctica en diversas reas de las ciencias naturales o sociales, apareciendo las matrices y determinantes como una poderosa herramienta para el tratamiento de datos numricos que permiten esa utilidad del lgebra Lineal. Encriptacin Encriptacin es el proceso mediante el cual cierta informacin o texto sin formato es cifrado de forma que el resultado sea ilegible a menos que se conozca los datos necesarios para su interpretacin. Es una medida de seguridad utilizada para que al momento de almacenar o transmitir informacin sensible sta no pueda ser obtenida con facilidad por terceros. Opcionalmente puede existir adems un proceso de desencriptacin a travs del cul la informacin puede ser interpretada de nuevo a su estado original. Aunque existen mtodos de encriptacin que no pueden ser revertidos. El termino encriptacin es traduccin literal del ingls y no existe en el idioma espaol, la forma mas correcta de utilizar este trmino sera Cifrado. 4.1 Criptologa La encriptacin como proceso forma parte de la criptologa, ciencia que estudia los sistemas utilizados para ocultar informacin, La criptologa es la ciencia que estudia la transformacin de un determinado mensaje en un cdigo de forma tal que a partir de dicho cdigo solo algunas personas sean capaces de recuperar el mensaje original. 4.2 Usos de las Encriptacin Algunos de los usos mas comunes de la encriptacin son el almacenamiento y transmisin de informacin sensible como contraseas, nmeros de identificacin legal, nmeros de tarjetas crdito, reportes administrativos contables y conversaciones privadas, entre otros. 4.3 Mtodos de Encriptacin Para poder encriptar un dato, se pueden utilizar tres procesos matemticos diferentes. Los algoritmos HASH, los simtricos y los asimtricos. 4.3.1. Algoritmo HASH: Este algoritmo efecta un clculo matemtico sobre los datos que constituyen el documento y da como resultado un nmero nico llamado MAC. Un mismo documento dar siempre un mismo MAC. 4.3.2. Criptografa de Clave Secreta o Simtrica Utilizan una clave con la cual se encripta y desencripta el documento. Todo documento encriptado con una clave, deber desencriptarse, en el proceso inverso, con la misma clave, es importante destacar que la clave debera viajar con los datos, lo que hace arriesgada la operacin, imposible de utilizar en ambientes donde interactan varios interlocutores. Los Criptosistemas de clave secreta se caracterizan porque la clave de cifrado y de la descifrado es la misma, por tanto la robustez del algoritmo recae en mantener el secreto de la misma. Sus principales caractersticas son: -Rpidos y fciles de implementar -clave de cifrado y descifrado son la misma -cada par de usuarios tiene que tener una clave secreta compartida -una comunicacin en la que intervengan mltiples usuarios requiere de muchas claves secretas distintas. 4.3.3. Algoritmos Asimtricos (RSA) Requieren dos claves, una privada (nica y personal, solo conocida por su dueo) y la otra llamada pblica, ambas relacionadas por una frmula matemtica compleja

imposible de reproducir. El concepto de criptografa de clave pblica fue introducido por Whitfield Diffie y Martin Hellman a fin de solucionar la distribucin de claves secretas de los sistemas tradicionales, mediante un canal inseguro. El usuario, ingresando su PIN genera clave Publicas y Privadas necesarias. La clave publica podr ser distribuida sin ningn inconveniente entre todos los 4.5 Firma Digital: La firma digital permite garantiza algunos conceptos de seguridad y son importantes al utilizar documentos en formato digital, tales como identidad o autenticidad, integridad y no repudio. El modo de funcionamiento es similar a lo explicado para los algoritmos de encriptacin , se utilizan tambin algoritmos de clave pblica, aplicados en dos etapas. Ventajas ofrecidas por la firma Digital Integridad de la informacin: la integridad del documento es una proteccin contra la modificacin de los datos en forma intencional o accidental. El emisor protege el documento, incorporndole a ese un valor control de integridad, el receptor deber efectuar el mismo clculo sobre el documento recibido y comparar el valor calculado con el enviado por el emisor. Autenticidad del origen del mensaje: este aspecto de seguridad protege al receptor del documento, garantizndole que dicho mensaje ha sido generado por la parte identificada en el documento como emisor del mismo, no pudiendo alguna otra entidad suplantar a un usuario del sistema. No repudio del origen: el no repudio del origen protege al receptor del documento de la negacin del emisor de haberlo enviado. Este aspecto de seguridad es ms fuerte que los anteriores ya que el emisor no puede negar bajo ninguna circunstancia que ha generado dicho mensaje , transformndose en un medio de prueba inequvoco respecto de la responsabilidad del usuario del sistema. 4.6.Encriptar datos en un PDA. La importancia de tener nuestros datos a salvo de miradas extraas o tener un mnimo de privacidad se ha convertido en un tema muy importante. Los PDAs son muchas veces usados como pequeas oficinas porttiles donde se guardan datos de gran valor y donde es de gran importancia tener estos datos protegidos. Muchos usuarios PDA por comodidad no protegen el acceso de inicio con una clave, imagnense en caso de prdida del aparato o descuido poder dejar estos datos confidenciales en manos ajenas a las nuestras. Para solucionar este problema o tener cierto grado de seguridad, es muy importante poder encriptar nuestros datos. 4.7 Encriptacin de Ficheros: Windows XP profesional nos da una alternativa para poder proteger estos datos y prevenir su prdida. El Encripting File System (EFS) en el encargado de codificar los ficheros. Estod Ficheros solo se pueden leer cuando el usuario que los ha creado hace "logon" en su maquina (con lo cual, presumiblemente, nuestra password ser una pasword robusta). De hecho, cualquiera que acceda a nuestra mquina, no tendr nunca acceso a nuestros ficheros encriptados aunque sea un administrador del equipo. 4.8 Tipos de Cifrados Cifrado en otros nombre que se le da al proceso de encriptacin. El propsito de un cifrado es tomar datos sin encriptar, llamado texto claro, y producir una versin encriptada de los mismo. Existen dos clases de cifrad: Cifrado de Flujo de datos y Cifrado de bloques.

Primer

paso:

Generar una matriz, que contenga la palabra clave, luego de ello debera llenarse las filas con el texto a cifrar. c h m Como Paso pueden ver, queda u un espacio l a o n vacio, este debe v l d permanecer e a o asi. 2:

Cifrado de flujo de datos: En el cifrado por flujo de datos encriptan un bit de texto en claro por vez. El ejemplo ms simple de cifrado por flujo de datos es el que consiste en combinar los datos, un bit a la vez, con otro bloque de datos llamado pad. Los cifrados por flujo de datos funcionan realmente bien con datos en tiempo real como voz y video. Cifrado por bloques: operan sobre bloques de tamao mayor que un bit del texto en claro y producen un bloque de texto cifrado, generalmente los bloques de salida son del mismo tamao que los de la entrada. El tamao del bloque debe ser lo suficientemente grande como para 4.9 Autenticacin Este proceso, es otro mtodo para mantener una comunicacin seguro entre ordenadores. La autenticacin es usada para verificar que la informacin viene de una fuente de confianza. Bsicamente, si la informacin es autentica, sabes quin la ha creado y que no ha sido alterada. La encriptacin y la autenticacin, trabajan mano a mano para desarrollar un entorno seguro. Hay varias maneras para autenticar a una persona o informacin en un ordenador: Contraseas El uso de un nombre de usuario y una contrasea provee el modo ms comn de autenticacin. Esta informacin se introduce al arrancar el ordenador o acceder a una aplicacin. Se hace una comprobacin contra un fichero seguro para confirmar que coinciden, y si es as, se permite el acceso. Tarjetas de acceso Estas tarjetas pueden ser sencillas como si de una tarjeta de crdito se tratara, poseyendo una banda magntica con la informacin de autenticacin. Las hay ms sofisticadas en las que se incluye un chip digital con esta informacin. Firma digital Bsicamente, es una manera de asegurar que un elemento electrnico (email, archivo de texto, etc.) es autentico. Una de las formas ms conocidas es DSS (Digital Signature Standard) la cual est basada en un tipo de encriptacin de clave pblica la cual usa DSA (Digital Signature Algorithm). El algoritmo DSA consiste en una clave privada, solo conocida por el que enva el documento (el firmante), y una clave pblica. Si algo es cambiado en el documento despus de haber puesto la firma digital, cambia el valor contra lo que la firma digital hace la comparacin, invalidando la firma. Recientemente, otros mtodos de autenticacin se estn haciendo populares en varios medios que deben mantenerse seguros, como son el escaneo por huellas, de retina, autenticacin facial o identificacin de voz. Realizar un programa en Java que resuelva una encriptacion basica utilizando matrices, el mismo deber poder descifrar los datos. La Utilizar Texto encriptacion a cifrar: debera una ser de palabra Hola la siguiente forma: clave: clave mundo

Ordenar alfabeticamente la palabra clave, que en nuestro caso es "clave" Y a su ves, debemos mover las columnas que estan debajo de la palabra clave, como se ve en la matriz. a l n Paso m c h o u e l o v a d 3:

La matriz debera voltearse, las filas deberan ser columnas, como en el siguiente ejemplo: a c e l v Y ln nuestro hm l h o a resultado o usarse se la n m o u d seria: ad clave: " clave"

ou palabra era

Y para la desencriptacion, debera acelv que en un principio Uso de Matrices para encriptado de mensajes

Desde que el ser humano logr comunicarse, existi la necesidad de hacer selectivos sus comentarios. El hombre de las cavernas coloreaba sus pinturas rupestres segn a quien estaban dirigidas informando sobre mtodos de ataque y caza de sus presas. Los egipcios tenan una codificacin de sus jeroglficos dependiendo de la clase social, existiendo codificaciones para el pueblo comn, los emperadores, faraones, etc. Ya en nuestra poca, tambin se hizo necesaria esta necesidad, tanto en pocas de guerra, para informar sobre ubicacin de tropas sin que el enemigo lo sepa, como en la transmisin de seales de TV donde solo el cliente con abono pago puede ver ciertos canales codificados. Codificar o encriptar?

Codificar significa convertir una cierta informacin en otra a travs del uso de una tabla que le asigna un cdigo un unvoco a cada carcter del mensaje. En cambio encriptar, es pasar el mensaje por algn algoritmo, normalmente matemtico, el cual lo modifica de tal manera que se hace muy difcil obtener el mensaje original. En ambos procesos, el destinatario del mismo, debe conocer o la tabla de codificacin o la clave de encriptado. La desventaja de la codificacin es su vulnerabilidad, ya que a cada carcter le corresponde el mismo cdigo, por lo tanto sabiendo esto, una persona entenada, estudiando el cdigo final sabra que caracteres son los mas repetidos (como la a y los espacios) y podra obtener un mensaje original comprensible, con lo que rompera la codificacin. En el caso del encriptado, esto no sucedera, ya que se toma un grupo de caracteres del mensaje y se los encripta en grupo, de modo tal que el cdigo final de un determinado carcter, depende de los que tena a su lado en el mensaje original. Por ejemplo en las palabras ALAS y GALAS las As no tendran asignado el mismo cdigo. Por otro lado en ambos sistemas se hace necesario junto con el mensaje enviar un dato importante tal como es el destinatario hacia quien se dirige el mensaje, ya que, si no es para mi, para que lo voy a decodificar y dado que esto hace selectiva la necesidad de decodificarlo o no, este dato debe ser uno de los primeros que se debe enviar. Esta serie de cdigos que conforman nuestro mensaje, se trasladarn de destinador a destinatario a travs de algn canal de comunicacin que puede alterar el contenido del mismo, recordemos que en el caso del encriptado, un dato mal no significa un carcter mal, sino un grupo de caracteres errado. Para evitar esto se utilizan distintas tcnicas como son entre otras el control de paridad de la cantidad de caracteres que son enviados la cual debe coincidir con la paridad de los caracteres recibidos y de no ser as, solicitar el re-envo del mensaje. Todo esto que comentamos se denomina protocolo de comunicacin, en este trabajo se desarrollar un protocolo personal, que no respeta los estndares, para enviar un mensaje codificado, encriptado y selectivo. Codificacin Para esto se utilizar una codificacin estndar en comunicaciones que es la ASCII a la cual se le asigna a cada carcter un nmero y es un cdigo abierto, o sea, de uso pblico. Como se ve en la tabla que se adjunta, se encuentran codificadas todas las letras del alfabeto en maysculas y minsculas como los nmeros, signos de puntuacin y caracteres especiales. Para nuestro protocolo utilizaremos los caracteres codificados bajo los nmeros decimales 32 al 90 para utilizar solamente nmeros de 2 dgitos.

Tabla de caracteres ASCII

Descripcin del protocolo A continuacin se muestra la estructura que tomar la organizacin de los datos en nuestro mensaje. AAAA MMMMMM..........MMMMM CCCC

1
Donde:

1)

2) 3)

Direccin codificada del destinatario, 2 caracteres lo que representan 100 destinos posibles. La direccin 00 se suele denominar direccin masiva o de broadcast y tiene la particularidad de notificar de algo a todos los destinatarios a la vez. Como por ejemplo enviar un cambio en la clave de encriptado, que es un dato que todos los usuarios de este mtodo deben saber. Cuerpo del mensaje, esta compuesto por los caracteres que lo componen pero afectados por la tabla de codificacin y a la vez encriptados con el cdigo. Control, son 2 caracteres codificados que informan de la cantidad de caracteres de la que est compuesto el mensaje, esto forma parte del control de errores de la transmisin. Al recibir el mensaje se cuentan los caracteres recibidos y deben coincidir con el nmero de control incluido en la recepcin, el cual no interviene dentro del conteo. Para este control se incluyen los caracteres del mensaje junto con los de direccin, como as tambin los caracteres de control.

Observamos que obtenemos nuevamente el vector fila X que no es mas que nuestro mensaje original. Solo resta comparar si la cantidad de caracteres enviados es igual a la cantidad de caracteres recibidos y decodificar con la tabla ASCII para reconstruir el mensaje original enviado por nuestro emisor. Veamos un ejemplo para que quede claro. Supongamos que queremos enviar al destinatario 19 el mensaje A LA TARDE EN EL BOSQUE . 1) Codifiquemos con la tabla ASCII el nmero 19 y cada carcter del mensaje.

19: 49, 57 A LA TARDE EN EL BOSQUE: 65, 32, 76, 65, 32, 84, 65, 82, 68, 69, 32, 69, 78, 32, 69, 2 76 ,32, 66, 79, 83, 81, 85, 69, 32 La cantidad de caracteres a transmitir son 26 que codificado sera: 50,54. 2) Elegimos la matriz A de 3x3 1 -1 1 3) Y1: (65 Y2: (65 Y3: (65 Y4: (69 Y5: (78 Y6: (76 Y7: (79 Y8: (85 -2 1 -1 2 3 -4

Es de notar que solamente el bloque correspondiente al mensaje est encriptado, ya que la direccin es necesaria que sea rpidamente reconocida para decidir si iniciar el procedimiento de decodificacin del mensaje, en caso de ser el destinatario, o desecharlo por no ser para mi. Algo parecido ocurre con los caracteres de control, necesito tener acceso rpidamente a ellos para constatar si lo recibido corresponde fielmente a lo transmitido y en caso contrario, solicitar el re envo del mismo. Decodificar un mensaje con un posible error implica una prdida de tiempo y recursos, ya que es muy posible que su contenido sea ilegible. Con respecto a este control, existen formas mas seguras de verificar y hasta de corregir errores en los mensajes recibidos, para esto se usan algoritmos matemticos con polinomios llamados CRC (siglas de cdigo de redundancia cclica). Encriptado del mensaje Vamos a explicar la teora de este procedimiento. Sea A una matriz de orden N x N elegida de tal manera que sus elementos pertenezcan a los naturales, tenga inversa y los elementos de ella tambin pertenezcan 1 a los naturales , sea X una matriz fila (orden 1 x N) formada por los caracteres, codificados segn tabla ASCII, del mensaje. X *A=Y de encriptado. Donde X es de orden 1 x N (Vector fila) y A de orden N x N es la matriz Y ser el vector fila del mensaje a transmitir de orden 1 x N. El destinatario debe realizar la siguiente operacin. Y*A
-1

=A

Formamos los vectores fila con los caracteres codificados del mensaje 32 32 82 32 32 32 83 69 76) 84) 68) 69) 69) 66) 81) 3 32)

4) Realizamos la operacin Y * A

= (X*A ) * A

-1

-1 de A. = X Donde A es la matriz inversa

-1

Recordemos que: (A) * (A) = (I)


-1

Matriz identidad del mismo orden que A


2

Se busca esta caracterstica para que al obtener los elementos encriptados estos sean enteros y no tener inconvenientes con el cdigo obtenido del carcter final.

Se observa la vulnerabilidad de esta codificacin ya que los cdigos 32: espacio y 65: a son los mas repetidos. 3 La cantidad de caracteres del mensaje a encriptar no es mltiplo de 3 por lo que se completa al final con caracteres espacio (ASCII 32).

1 (65 32 76) * -1 1 1 (65 32 84) * -1 1 1 (65 82 68) * -1 1

-2 1 -1 -2 1 -1 -2 1 -1

2 49, 57 que corresponden a los caracteres 1 y 9 o sea la direccin 19 en decimal. 3 -4 2 3 -4 2 3 -4 = (109 -174 -78) =X1 2) Sabiendo la matriz con la que se encript el mensaje, obtengo su inversa: 1 -1 1 -2 1 -1 2 3 -4

= (117 -182 -110) =X2

A=

Obtengo su inversa = (51 -116 104) =X3 A =


-1

-1 -1 0

-10 -6 -1

-8 -5 -1

1 (69 32 69) * -1 1 1 (78 32 69) * -1 1 1 (76 32 66) * -1 1 1 (79 83 81) * -1 1 1 (85 69 32) * -1 1 4)

-2 1 -1 -2 1 -1 -2 1 -1 -2 1 -1 -2 1 -1

2 3 -4 2 3 -4 2 3 -4 2 3 -4 2 3 -4

= (106 -175

-42) =X4

3)

Cuento los caracteres del mensaje recibido y lo comparo con el cdigo de verificacin incluido al final del mensaje.

= (115

-193

-24) =X5

2 caracteres de direccin + 24 caracteres de mensaje = 26 caracteres Cdigo de verificacin 50, 54 correspondientes a 2 y 6 o sea 26 caracteres El mensaje no tiene errores por lo que se puede tomar como vlido.

= (110

-186

-16) =X6

4)

Inicio el proceso de desencriptado usando los vectores fila recibidos y la matriz inversa obtenida -1 -1 0 -1 -1 0 -1 -1 0 -1 -1 0 -1 -1 0 -1 -1 0 -1 -1 0 -10 -6 -1 -10 -6 -1 -10 -6 -1 -10 -6 -1 -10 -6 -1 -10 -6 -1 -10 -6 -1 -8 -5 -1 -8 -5 -1 -8 -5 -1 -8 -5 -1 -8 -5 -1 -8 -5 -1 -8 -5 -1

= (77

-156

83) =X7

(109 -174 -78) *

= (65 32 76) =Y1

= (48

-133

249) =X8

(117 -182 -110) *

= (65 32 84) =Y2

La cadena de nmeros a enviar es: (51 -116 104) *

= (65 82 68) =Y3

49, 57, X1, X2, X3, X4, X5, X6, X7, X8, 50, 54 XXXX : Direccin del destinatario (Codificada) (106 -175 -42) * XXXX : Mensaje (Codificado y encriptado) XXXX : Caracteres de control (Codificado) (115 -193 -24) *

= (69 32 69) =Y4

= (78 32 69) =Y5

La trama de nmeros a enviar sera: (110 -186 -16) * 49, 57, 109, -174, -78, 117, -182, -110, 51, -116, 104, 106, -175, -42, 115, -193, -24, 110, -186, -16, 77, -156, 83, 48, -133, 249, 50, 54 Ahora hagamos el camino contrario para obtener el mensaje original. 1) Verifico la direccin del destinatario: (77 -156 83) *

= (76 32 66) =Y6

= (79 83 81) =Y7

Criptografa clsica, de llave privada o simtrica (48 -133 249) * -1 -1 0 -10 -6 -1 -8 -5 -1 = (85 69 32) =Y8 La seguridad criptografa clsica se basa en el secreto de la clave, por lo que utilizando algoritmos simples puede dar lugar a textos tan seguros como los que ofrece la criptografa actual con un coste operacional mucho menor. La clave de encriptacin es la misma que la de desencriptacin, de forma que los llamaremos tambin sistemas simtricos.

5)

Agrupamos los cdigos obtenidos y buscamos su carcter correspondiente en la tabla ASCII.

65: A, 32: esp, 76: L, 65: A, 32: esp, 84: T, 65: A, 82; R, 68:D, 69: E, 32: esp, 69: E, 78: N, 32: esp, 69: E, 76: L, 32: esp, 66: B, 79: O, 83: S, 81: Q, 85: U, 69: E, 32: esp Obteniendo el mensaje A LA TARDE EN EL BOSQUE que era nuestra cadena de caracteres original. Washington. El gigante informtico Google ha lanzado un programa para fortalecer los cdigos de encriptacin de sus sistemas ante los recientes revelaciones de espionaje electrnico por parte de agencias de seguridad de EE.UU., indic hoy el diario Washington Post. Aunque la iniciativa ya estaba en marcha desde finales de 2012, Google ha decidido acelerar su implantacin en sus centros de datos de todo el mundo con el objetivo de reforzar su reputacin de proteccin de la privacidad del consumidor. No obstante, la compaa informtica reconoce que estas acciones no podrn impedir por completo el espionaje, pero s hacer ms difcil el acceso tanto para hackers como para agencias de espionaje gubernamentales. La industria informtica ha reaccionado con preocupacin a las filtraciones del ex tcnico de la CIA, Edward Snowden, acerca de informacin clasificada que demuestra varios programas de inteligencia dedicados a obtener datos de correos electrnicos de Yahoo, Facebook, Google y Microsoft, entre otros. Por su parte, y en un comunicado emitido esta semana, la Oficina del Director de Inteligencia Nacional, James Clapper, afirm que "a lo largo de la historia las naciones han utilizado la codificacin para proteger nuestros secretos, y hoy los terroristas y cibercriminales tambin los utilizan para estas actividades". "Nuestros servicios de inteligencia no estaran haciendo su trabajo si no tratasen de contrarrestar esto", agreg el comunicado. Las ltimas filtraciones de Snowden al New York Times, sacaron a la luz nuevas informaciones acerca de cmo la Agencia Nacional de Inteligencia (NSA) de EE.UU. corrompi los estndares de seguridad para hacerlos vulnerables a su tecnologa con el fin de facilitar el espionaje. Segn esos datos, la NSA habra usado todos los mtodos a su alcance, desde la persuasin a la colaboracin forzada de empresas, hasta el robo de claves de encriptacin y alteracin de software y hardware para tener acceso a las comunicaciones privadas en la web dentro y fuera de EE.UU. EFE Sistemas de encriptacin

Algoritmos de sustitucin. Estos algoritmos se basan en sustituir un carcter o cadena de caracteres por otro carcter o cadena de caracteres.

Sustituciones monoalfabticas. Son los algoritmos de sustitucin ms simples y su utilizacin se remonta ya a Julio Csar. Por ejemplo, la A se sustituye por la B, la B por la C, etc... Podemos asociar este mtodo a una suma. Si damos a cada carcter un valor (A=1, B=2, C=3, etc...) el cifrado se reduce a sumar 1 a cada carcter del texto. Si en vez de sumar 1 sumamos 2, 3 o cualquier otro valor, ese valor se convierte en la clave. Este sistema nos enfrenta por primera vez al concepto de mdulo. Llamaremos mdulo al valor mximo que puede adquirir una suma. En este sistema que hemos diseado, el mdulo ser 27, el nmero de caracteres del alfabeto. As, si a la Z, cuyo valor es 27, le sumamos 1, obtenemos 28, pero no tenemos 28 caracteres, por lo que, cuando al cifrar nos enfrentemos a estas situaciones, lo que haremos es restar el mdulo a todo valor que lo supere. Supongamos texto plano "TAXI". El valor de sus caracteres es: 21, 1, 25, 9. Si la clave es 7, sumamos 7 a cada carcter, y nos queda 28, 8, 32, 16. Pero no existen ms que 27 caracteres, por lo que no podemos representar el primer carcter del texto cifrado, cuyo valor es 28. Para ello restamos 27 a cada valor que supere dicho nmero y nos queda 1, 8, 5, 16, que nos da el texto cifrado "AHEO". Si nuestro alfabeto comprendiera caracteres en mayscula, en minscula y los diez dgitos, el mdulo sera 64 y operaramos exactamente igual, restando 64 a cada valor mayor que 64. En cierto modo, el concepto de mdulo se reduce a decir que tras la Z viene la A. En este caso los caracteres sustitutos tienen una cierta relacin: primero la A, luego la B, luego la C etc... Podramos hacer que los caracteres no guardaren relacin alguna. Es decir, que al cifrar sustituimos la A por la D, la B por la Z, la C por la R... En este caso la clave sera una tabla con la correspondencia entre carcter del texto plano y su cifrado.

Estos algoritmos son muy vulnerables. Para abrirlos basta con estudiar las caractersticas de los lenguajes naturales. Por ejemplo, si nos enfrentamos a un texto cifrado, y sabemos que est escrito en castellano, contamos cada carcter. El que ms aparezca ser, probablemente, una A o una E, pues son las letras que ms se utilizan. Despus, en cada palabra de dos caracteres podemos tener la seguridad de que una es una vocal. Entre las palabras de un solo carcter, las ms frecuentes son "a", "y" u "o", entre las de tres letras "que", "con", "ms"... etc. De esta forma, y con paciencia, se puede abrir cualquier texto.

Estos sistemas son ms seguros que los monoalfabticos, pero tampoco son inviolables. La seguridad viene dada por la longitud de la clave.

El algoritmo Playfair. Este mtodo fue desarrollado por Charles Weathstone en 1.854. Sin embargo se conoce por el nombre del Barn Playfair, quien insisti para que este mtodo fuera utilizado por el servicio secreto Britnico.

Sustituciones polialfabticas. Para aadir una dificultad surgieron los cifradores polialfabticos. Un ejemplo es el cifrado Vigenre, que consiste en lo siguiente. Se crea una matriz de 27x27 y se rellena escribiendo en cada fila un alfabeto. A cada fila se la identifica con una letra

Este algoritmo se basa en la sustitucin de parejas de caracteres o digramas. Se genera una matriz con el conjunto de caracteres que se van a utilizar. La primera lnea es la palabra clave y el resto de la matriz se rellena con los dems caracteres de forma ordenada. La sustitucin se realiza de la siguiente forma:

Fila A Fila B Fila C Fila D ... A Z Y X ... B A Z Y ... C B A Z ... D C B A ... ... ... ... ... ... +0 +26 +25 +24 ...

Despus se decide una palabra clave y se va rotando ininterrumpidamente, de forma que el carcter i-esimo de la clave decide qu fila de la matriz usamos para cifrar el carcter i-esimo del texto plano. Por ejemplo, con el texto plano "ESTO ES UN SECRETO" y la clave "PUERTA" procederamos as:

Si una pareja de caracteres del texto original se encuentra en filas y columnas diferentes se sustituyen por los caracteres situados en las intersecciones de las filas y columnas que ocupan. Es decir, se considera que los caracteres originales son los extremos de una diagonal de un rectngulo y se sustituyen por los extremos de la otra diagonal. El orden se determina de la siguiente forma: primero se toma la interseccin de la fila de la primera letra con la columna de la segunda, despus la interseccin de la fila de la segunda letra con la columna de la primera. Si una pareja de caracteres est en la misma fila se sustituyen por las letras que tienen a su derecha. El carcter a la derecha del carcter situado en la ltima columna de una fila es el carcter situado en la primera columna de la misma fila. Si una pareja de letras est en la misma columna se sustituyen por las letras que tienen debajo. El carcter debajo del carcter situado en la ltima fila de una columna es el carcter situado en la primera fila de la misma columna. Si una pareja de caracteres son dos caracteres iguales se pone una X en medio.

El alfabeto Playfair no reconoce la y representa igual la I que la J. Texto plano: Clave: E S P U T O E R E S U T A P N U S E E R C T R A E T P U ... ... Veamos un ejemplo con la palabra clave "CLAVE" y el texto "ESTO ES UN SECRETO".

El primer carcter del texto plano lo cifraramos con el alfabeto de la fila P, el segundo con el de la fila U, el tercero con el de la fila E... hasta el sptimo, que corresponde de nuevo a la primera letra de la clave, que vamos repitiendo hasta el fin del mensaje. Tambin se puede hacer que los alfabetos de la matriz no se generen de forma ordenada, como en este caso, sino de forma aleatoria. El problema en este caso es que la matriz es parte de la clave.

C B IJ P U

L D K Q W

A F M R X

V G N S Y

E H O T Z

ES vt

TO zt

ES vt

UN yi

SE tv

CR ap

ET hz

OX mz

El algoritmo stream. Este algoritmo se basa en la suma de valores de los caracteres del texto plano y de la clave. De esta forma el valor del primer carcter del texto cifrado es el de la suma del valor del primer carcter del texto plano y el del primero de la clave, el valor del segundo carcter del texto cifrado es el de la suma del segundo carcter del texto plano y el del segundo de la clave, etc... Una vez ms, nos valemos del concepto de mdulo, de forma que cuando un valor excede el mdulo se lo restamos.

Del mismo modo que usamos una X para separar los caracteres de una pareja cuando son iguales, hemos usado aqu una para emparejar un carcter que estaba solo. Este algoritmo en muy vulnerable al estudio estadstico de digramas. Al igual que hacamos para vulnerar un texto cifrado mediante una sustitucin monoalfabtica, estudiando los caracteres ms usuales en los lenguajes naturales, en este caso buscamos los digramas ms habituales "un", "el", "la", "lo"...

Texto plano: Valor: "Rebeca". En su novela "La clave est en Rebeca" Ken Follet describe el siguiente algoritmo, utilizado por un espa alemn en El Cairo durante la II guerra mundial. Clave: Valor Suma: Mdulo (27): Wolff fue hasta el armario donde guardaba la radio. Sac la novela inglesa y la hoja de papel con la clave del cdigo. Estudi la clave. Era 28 de mayo. Tena que sumar 42 -el ao- al 28 para calcular el nmero de la pgina de la novela que deba utilizar en el cifrado de su mensaje. Mayo era el quinto mes, as que deba descartar una de cada cinco letras de la pgina. Decidi comunicar: "He arribado. Control equipo. Confirmen recepcin." Empez a buscar, desde la primera lnea de la pgina 70, la letra H. Era el dcimo signo, descartando cada quinta letra. Por lo tanto, en su cdigo estara representada por la dcima letra del alfabeto, la J. Luego necesitaba una E. En la pgina la tercera letra despus de la H era una E. Por consiguiente, la E de "he" estara representada por la tercera letra del alfabeto, la C. Las letras raras, como la X, se codificaban en forma especial. Este tipo de cdigo era una variante de los cuadernillos de un solo uso, nico tipo de cdigo inviolable en teora y en la prctica. Para descifrar el mensaje, el escucha deba tener el libro [Para nosotros la clave] y conocer la clave [Para nosotros el algoritmo]. [Ken Follet, "La clave est en Rebeca"] Texto cifrado:

E 5

S T O E 20 21 16 5

S U N S E 20 22 14 20 5 P U E 17 22 5

C 3

R E 19 5

T ... 21 ...

P U E 17 22 5

R T A 19 21 1

R T A 19 21 1

P U ... 17 22 ...

22 42 26 35 26 27 39 36 25 24 24 20 22 43 ... 22 15 26 8 26 27 12 9 25 24 24 20 22 16 ... U Y H Y Z L I X W W S U O ...

Con una clave aleatoria y tan larga como el propio texto plano este algoritmo es, en teora y en la prctica, inviolable, pues cualquier texto plano de la misma longitud es un posible candidato. Una forma prctica de generar una clave tan larga como se desee es recurrir a un libro que sera nuestra clave. De esta forma, podramos indicar a nuestro destinatario que la clave comienza (por ejemplo) en el tercer prrafo de la pgina 25 o utilizar un mtodo parecido al del algoritmo "Rebeca" para decidir la pgina. Sin embargo, no se debe utilizar dos veces la misma clave. El texto cifrado es la suma del texto plano y la clave. Si tenemos dos textos planos y los ciframos con la misma clave, la resta de los dos textos cifrados anula la clave en ambos y da un texto vulnerable.

X1 = P1 + K X2 = P2 + K

[1] [2]

X1 - X2 = P1 - P2

[1]-[2]

P1 - P2 puede parecernos seguro, pero un criptoanalista puede obtener a partir de l los textos originales. La criptografa actualmente se encarga del estudio de los algoritmos, protocolos y sistemas que se utilizan para dotar de seguridad a las comunicaciones, a la 1 informacin y a las entidades que se comunican. El objetivo de la criptografa es disear, implementar, implantar, y hacer uso de sistemas criptogrficos para dotar de alguna forma de seguridad. Por tanto el tipo de propiedades de las que se ocupa la criptografa son por ejemplo:

Criptografa simtrica.- Agrupa aquellas funcionalidades criptogrficas que se apoyan en el uso de una sola clave. Criptografa de clave pblica o Criptografa asimtrica.- Agrupa aquellas funcionalidades criptogrficas que se apoyan en el uso de parejas de claves compuesta por una clave pblica , que sirve para cifrar, y por una clave privada , que sirve para descifrar. Criptografa con umbral.- Agrupa aquellas funcionalidades criptogrficas que se apoyan en el uso de un umbral de participantes a partir del cual se puede realizar la accin. Criptografa basada en identidad.- Es un tipo de Criptografa asimtrica que se basa en el uso de identidades. Criptografa basada en certificados Criptografa sin certificados Criptografa de clave aislada Evaluacin de la seguridad[editar editar cdigo] El objetivo de un sistema criptogrfico es dotar de seguridad. Por tanto para calibrar la calidad de un sistema criptogrfico es necesario evaluar la seguridad que aporta dicho sistema. Hacer pblico o no[editar editar cdigo] Para poder evaluar mejor la seguridad de un sistema criptogrfico, adems de las verificaciones internas de seguridad que la organizacin haga, se puede considerar hacer pblico a todo el mundo los entresijos del sistema. Sin embargo, al hacer pblica esa informacin se facilita el que alguien pueda descubrir alguna debilidad y la aproveche o incluso la haga pblica para que otros la puedan utilizar. Cuanta ms informacin se publique ms fcil ser encontrar debilidades tanto para buenos objetivos (mejorar el producto) como para malos (realizar ataques). En resumen cuanta ms informacin se publique ms personas podrn evaluar la seguridad y se podrn corregir las debilidades que se encuentren, pero tambin aumenta la exposicin a ataques. En funcin de las decisiones que se tomen se establecer una poltica de revelacin. Se considera que la seguridad de un sistema criptogrfico debe descansar sobre el tamao de la claves utilizadas y no sobre el secreto del algoritmo. Esta consideracin se formaliza en el llamado principio de Kerckhoffs. Esto no quiere decir que cuando usemos criptografa tengamos que revelar los algoritmos, lo que quiere decir es que el algoritmo tiene que ser seguro aunque ste sea difundido. Evidentemente si un sistema criptogrfico es seguro aun revelando su algoritmo, entonces ser aun ms seguro si no lo revelamos. A la poltica de revelacin de no publicar ninguna informacin para que ningn atacante encuentre debilidades se le llama de no revelacin y sigue una estrategia de seguridad por oscuridad. A lapoltica de revelacin de revelar toda la informacin se le llama revelacin total. Entre ambos tipos de poltica de revelacin hay estratetigias intermedias llamadas de revelacin parcial. Grado de seguridad[editar editar cdigo] Cuando se evala la seguridad de un sistema criptogrfico se puede calibrar la seguridad que aporta en funcin de si ste es seguro de forma incondicional o si es seguro slo si se cumplen ciertas condiciones. Seguridad incondicional[editar editar cdigo]

Confidencialidad. Es decir garantiza que la informacin est accesible nicamente a personal autorizado. Para conseguirlo utiliza cdigos y tcnicas de cifrado. Integridad. Es decir garantiza la correccin y completitud de la informacin. Para conseguirlo puede usar por ejemplo funciones hash criptogrficas MDC, protocolos de compromiso de bit, oprotocolos de notarizacin electrnica. Vinculacin. Permite vincular un documento o transaccin a una persona o un sistema de gestin criptogrfico automatizado. Cuando se trata de una persona, se trata de asegurar su conformidad respecto a esta vinculacin (content commitment) de forma que pueda entenderse que la vinculacin gestionada incluye el entendimiento de sus implicaciones por la persona. Antiguamente se utilizaba el trmino "No repudio" que est abandonndose, ya que implica conceptos jurdicos que la tecnologa por s sola no puede resolver. En relacin con dicho trmino se entenda que se proporcionaba proteccin frente a que alguna de las entidades implicadas en la comunicacin, para que no pudiera negar haber participado en toda o parte de la comunicacin. Para conseguirlo se puede usar por ejemplo firma digital. En algunos contextos lo que se intenta es justo lo contrario: Poder negar que se ha intervenido en la comunicacin. Por ejemplo cuando se usa un servicio de mensajera instantnea y no queremos que se pueda demostrar esa comunicacin. Para ello se usan tcnicas como el cifrado negable. Autenticacin. Es decir proporciona mecanismos que permiten verificar la identidad del comunicante. Para conseguirlo puede usar por ejemplo funcin hash criptogrfica MAC o protocolo de conocimiento cero. Soluciones a problemas de la falta de simultaneidad en la telefirma digital de contratos. Para conseguirlo puede usar por ejemplo protocolos de transferencia inconsciente.

Un sistema criptogrfico es seguro respecto a una tarea si un adversario con capacidades especiales no puede romper esa seguridad, es decir, el atacante no puede realizar esa tarea especfica. Terminologa[editar editar cdigo] En el campo de la criptografa muchas veces se agrupan conjuntos de funcionalidades que tienen alguna caracterstica comn y a ese conjunto lo denominan 'Criptografa de' la caracterstica que comparten. Veamos algunos ejemplos:

Se dice que un sistema criptogrfico tiene una seguridad incondicional (en ingls unconditional security) sobre cierta tarea si un atacante no puede resolver la tarea aunque tenga infinito poder computacional.
3 4 5

En funcin de la tarea sobre la que se dice que el sistema criptogrfico es incondicionalmente seguro, podemos hablar por ejemplo de:

Criptosistemas incondicionalmente seguros (cifrado). Autenticacin incondicionalmente segura (autenticacin). Distribucin de claves incondicionalmente segura. Firma digital incondicionalmente segura (firma digital).

temporizaciones, por anlisis de consumos de energa o por anlisis de consumos de radiaciones electromagnticas o por anlisis de consumo de espacio de almacenamiento. Malos diseos o implementaciones del software o el hardware pueden hacer que la solucin prctica sea insegura. Ejemplos de ataques que se aprovechan de debilidades producidas por un mal diseo o implementacin: desbordamiento de buffer, Inyeccin SQL, Cross Site Scripting, ataques basados en deficiencias del hardware. Seguridad condicional[editar editar cdigo]
9

Es habitual que los sistemas incondicionalmente seguros tengan inconvenientes importantes como por ejemplo en la longitud de las claves (libreta de un solo uso). Para certificar una seguridad incondicional los criptlogos se suelen basar en la teora de la informacin y, por tanto, en la teora de la probabilidad. Limitaciones[editar editar cdigo] El que un sistema tenga seguridad incondicional no quiere decir que su seguridad sea inviolable. Veamos dos consideraciones

Se dice que un sistema criptogrfico tiene una seguridad condicional (en ingls conditional security) sobre cierta tarea si un atacante puede tericamente resolver la tarea, pero no es computacionalmente factible para l (debido a sus recursos, capacidades y acceso a informacin). Hay un tipo especial de seguridad condicional llamada seguridad demostrable (en inglsprovable security). La idea es mostrar que romper un sistema criptogrfico es computacionalmente equivalente a resolver un problema matemtico considerado como difcil. Esto es, que se cumplen las dos siguientes sentencias:


10

Los sistemas son incondicionalmente seguros desde un punto de vista probabilstico: El oponente siempre tiene una probabilidad mayor que cero de romper la seguridad. Sin embargo, esta probabilidad puede ser muy muy pequea. Esto es lo que sucede con los sistemas incondicionalmente seguros. 7 En la mayora de los estudios sobre la seguridad de un sistema se hace la suposicin de que los atacantes tienen slo un intento para atacar la seguridad del sistema. El xito o el fracaso estn determinados por el xito o fracaso de ese intento. Esta suposicin es vlida, por ejemplo, en ciertos problemas de comunicacin segura donde el enemigo no tiene oportunidad de verificar si el mensaje estimado es correcto o no. Sin embargo hay otros tipos de problemas donde esta suposicin no tiene sentido. Por ejemplo, en un sistema de autenticacin con usuario y contrasea para entrar en una cuenta restringida, el atacante puede realizar varios intentos. Adems, en algunos casos, los intentos fallidos anteriores dan informacin para hacer una estimacin mejor para los intentos siguientes.

Si el problema difcil puede ser resuelto, entonces el sistema criptogrfico puede ser roto Si el sistema criptogrfico puede ser roto, entonces el problema difcil puede ser resuelto.

La seguridad demostrable es difcil de lograr para sistemas criptogrficos complejos. Se ha desarrollado una metodologa (modelo de orculo aleatorio) para disear sistemas que no tienen realmente una seguridad demostrable, pero que dan unas buenas sensaciones respecto a su seguridad. La idea bsica es disear un sistema ideal que usa una o varias funciones aleatorias -tambin conocidas como orculos aleatorios- y probar la seguridad de este sistema matemtico. A continuacin el sistema ideal es implementado en un sistema real reemplazando cada orculo aleatorio con una buena y adecuada funcin pseudoaleatoria conocida -tpicamente un cdigo de deteccin de manipulaciones como SHA-1 o MD5-. Si las funciones pseudoaleatoriasutilizadas tiene buenas propiedades, entonces uno puede esperar que la seguridad probada del sistema ideal sea heredada por el sistema real. Observar que esto ya no es una prueba, sino una evidencia sobre la seguridad del sistema real. Se ha demostrado que esta evidencia no siempre es cierta y que es posible romper sistemas criptogrficos cuya seguridad se apoya en elmodelo de orculo aleatorio. Puntos de vista desde los que evaluar la seguridad[editar editar cdigo] Para evaluar la seguridad de un esquema criptogrfico se suelen usar tres enfoques 11 principales. Cada enfoque difiere de las suposiciones acerca de las capacidades de los oponentescriptoanalistas. El primer mtodo est basado en la teora de la informacin, y ofrece una seguridad incondicional y por tanto una seguridad independiente del poder de computacin de los adversarios. El enfoque basado en la teora de la complejidad comienza a partir de un modelo abstracto para la computacin, y asume que el oponente tienen un poder limitado de computacin. El tercer enfoque intenta producir soluciones prcticas. Para ello estima la seguridad basndose en el mejor algoritmo conocido para romper el sistema y estima de forma realista el poder necesario de computacin o de hardware para romper el algoritmo. A este enfoque se le suele llamar enfoque basado en la prctica

Cuando decimos que un sistema criptogrfico es incondicionalmente seguro, nos estamos refiriendo a nivel terico. Sin embargo cuando es implementado en la prctica puede no mantenerse esa seguridad. Hay muchos tipos de ataques que slo se aplican cuando los sistemas estn implementados en un sistema concreto. Ejemplos: Explotacin de canales ocultos. Los canales ocultos son canales de comunicacin no intencionados y de difcil deteccin, que permiten la transferencia de informacin de forma que viola la poltica de seguridad del sistema. En un computador real los procesos al ejecutarse producen una serie de efectos y fenmenos que pueden ser medidos y explotados para revelar informacin relevante que puede ser utilizada para romper el sistema (Ej. pistas sobre la clave). Este problema es inherente y no puede ser evitado mediante tcnicas criptogrficas. Son ejemplos tpicos de este tipo de canales los canales ocultos generados por anlisis de

Enfoque basado en la teora de la informacin[editar editar cdigo] En este enfoque se evala la seguridad del sistema utilizando las herramientas que proporciona la teora de la informacin. Permite declarar sistemas incondicionalmente seguros, es decir, sistemas seguros independientemente del poder de computacin del atacante. La teora de la informacin proporciona valiosas herramientas para analizar la seguridad de los sistemas criptogrficos. Por ejemplo est la entropa, distancia de unicidad, el concepto de secreto perfecto etc. Enfoque basado en la teora de la complejidad[editar editar cdigo]
12

Es tpico en este tipo de enfoque disear bloques con ciertas propiedades demostradas estableciendo una biblioteca de bloques disponibles. Ejemplos de propiedades buenas para este tipo de bloques pueden ser: buenas propiedades estadsticas, buenas propiedades para la confusin y difusin, o de no linealidad. Posteriormente estos bloques se ensamblan para la construccin de sistemas criptogrficos que aprovechan sus propiedades para dotar de mayor seguridad. Este enfoque permite llegar a establecer sistemas que tienen seguridad condicional. Este tipo de sistemas tienen una seguridad computacional Historia de la criptografa[editar editar cdigo] Artculo principal: Historia de la criptografa. La historia de la criptografa es larga y abunda en ancdotas. Ya las primeras civilizaciones desarrollaron tcnicas para enviar mensajes durante las campaas militares, de forma que si el mensajero era interceptado la informacin que portaba no corriera el peligro de caer en manos del enemigo.El primer mtodo de criptografa fue en el siglo V a.C, era conocido como "Esctala". El segundo criptosistema que se conoce fue documentado por el historiador griego Polibio: un sistema de sustitucin basado en la posicin de las letras en una tabla. Tambin los romanos utilizaron sistemas de sustitucin, siendo el mtodo actualmente conocido como Csar, porque supuestamente Julio Csar lo emple en sus campaas, uno de los ms conocidos en la literatura (segn algunos autores, en realidad Julio Csar no usaba este sistema de sustitucin, pero la atribucin tiene tanto arraigo que el nombre de este mtodo de sustitucin ha quedado para los anales de la historia). Otro de los mtodos criptogrficos utilizados por los griegos fue la esctala espartana, un mtodo de trasposicin basado en un cilindro que serva como clave en el que se enrollaba el mensaje para poder cifrar y descifrar. En 1465 el italiano Leon Battista Alberti invent un nuevo sistema de sustitucin polialfabtica que supuso un gran avance de la poca. Otro de los criptgrafos ms importantes del siglo XVI fue el francs Blaise de Vigenre que escribi un importante tratado sobre "la escritura secreta" y que dise una cifra que ha llegado a nuestros das asociada a su nombre. A Selenus se le debe la obra criptogrfica "Cryptomenytices et Cryptographiae" (Luneburgo, 1624). En el siglo XVI Mara Estuardo, reina de Escocia, fue ejecutada por su prima Isabel I, reina de Inglaterra, al descubrirse un complot de aquella tras un criptoanlisis exitoso por parte de los matemticos de Isabel. Durante los siglos XVII, XVIII y XIX, el inters de los monarcas por la criptografa fue notable. Las tropas de Felipe II emplearon durante mucho tiempo una cifra con un alfabeto de ms de 500 smbolos que los matemticos del rey consideraban inexpugnable. Cuando el matemtico francsFranois Vite consigui criptoanalizar aquel sistema para el rey de Francia, a la sazn Enrique IV, el conocimiento mostrado por el rey francs impuls una queja de la corte espaola ante del papa Po V acusando a Enrique IV de utilizar magia negra para vencer a sus ejrcitos. Durante la Primera Guerra Mundial, los Alemanes usaron el cifrado ADFGVX. Este mtodo de cifrado es similar a la del tablero de ajedrez Polibio. Consista en una matriz de 6 x 6 utilizado para sustituir cualquier letra del alfabeto y los nmeros 0 a 9 con un par de letras que consiste de A, D, F, G, V, o X.

En este enfoque se evala la seguridad de los sistemas criptogrficos en funcin de la cantidad de trabajo computacional requerido para romperlo. Para estimar esa cantidad de trabajo se estudia la complejidad computacional de los mejores mtodos conocidos hasta ahora para realizar esa tarea. En funcin de los resultados de este estudio y del poder computacional lmite estimado para el atacante, se decide si esa cantidad de trabajo es realizable por un atacante. Si ese trabajo no es realizable se dice que el sistema es seguro desde un punto de vista computacional (seguridad computacional, en ingls computationally security). Este tipo de enfoque para evaluar la seguridad es muy usado en la criptografa asimtrica. En concreto, la seguridad de muchos de los algoritmos de la criptografa asimtrica estn basados en el anlisis de complejidad de los mtodos conocidos para el clculo de factorizacin de enteros y del logaritmo discreto. Por definicin el tipo de seguridad que aporta este tipo de enfoque es una seguridad condicional basada en los mtodos de resolucin de problemas 13 evaluados. En este punto hay que tener en cuenta dos consideraciones: Actualmente no se puede considerar que como buenos los algoritmos que se usan para estimar la complejidad de la resolucin de los problemas. Se considera que hay algoritmos mucho mejores. Especialmente en el campo de la criptografa. Por tanto las estimaciones sobre el poder de computacin necesario para romper el sistema no se consideran fiables. Se ha demostrado que algunos de los problemas (Ej. factorizacin de enteros y el logaritmo discreto) en los que se sustenta la seguridad (computacional) de muchos algoritmos, pueden resolverse con algoritmos con una complejidad computacional de peor calidad usando computadores cunticos. Si alguien pudiera disponer de un computador cuntico muchos de los sistemas criptogrficos que se consideran seguros (con seguridad condicional) habra que catalogarlos como inseguros. Enfoque basado en la prctica[editar editar cdigo]
14

El objetivo de este enfoque es producir soluciones prcticas a partir del estudio de sistemas concretos y de la experiencia acumulada. Es un enfoque de pruebaerror donde se proponen soluciones basndose en la experiencia y luego se somete esa solucin a un proceso intensivo en el que se intenta romper su seguridad. A partir de este enfoque se han hecho importantes avances en conseguir sistemas robustos ya que los criptgrafos disean ataques y posteriormente adaptan los sistemas para anular dichos ataques. Por ejemplo, de esta forma se han conseguido importantes avances en la seguridad frente a ataques basados en estudios estadsticos y ataques meet in the middle.

La criptografia en el correo electrnico[editar editar cdigo] Si un correo electrnico es enviado por internet sin seguridad alguna, la informacin que conlleva es frgil y descifrable. Para ello, se usa la criptografia en el correo electrnico. Entre las varias ventajas que tiene usar un certificado al enviar un email, podramos destacar la seguridad que nos aporta ya que as evita que terceras personas (o hackers) puedan leer su contenido, o bien que tenemos la certeza de que el remitente este correo electrnico es realmente quien dice ser.

La mquina Enigma utilizada por los alemanes durante la II Guerra Mundial. Desde el siglo XIX y hasta la Segunda Guerra Mundial, las figuras ms importantes fueron la del holands Auguste Kerckhoffs y la del prusianoFriedrich Kasiski. Pero es en el siglo XX cuando la historia de la criptografa vuelve a experimentar importantes avances. En especial durante las dos contiendas blicas que marcaron al siglo: la Gran Guerra y la Segunda Guerra Mundial. A partir del siglo XX, la criptografa usa una nueva herramienta que permitir conseguir mejores y ms seguras cifras: las mquinas de clculo. La ms conocida de las mquinas de cifrado posiblemente sea la mquina alemana Enigma: una mquina de rotores que automatizaba considerablemente los clculos que era necesario realizar para las operaciones de cifrado y descifrado de mensajes. Para vencer al ingenio alemn, fue necesario el concurso de los mejores matemticos de la poca y un gran esfuerzo computacional. No en vano, los mayores avances tanto en el campo de la criptografa como en el del criptoanlisis no empezaron hasta entonces. Tras la conclusin de la Segunda Guerra Mundial, la criptografa tiene un desarrollo terico importante, siendo Claude Shannon y sus investigaciones sobre teora de la informacin esenciales hitos en dicho desarrollo. Adems, los avances en computacin automtica suponen tanto una amenaza para los sistemas existentes como una oportunidad para el desarrollo de nuevos sistemas. A mediados de los aos 70, el Departamento de Normas y Estndares norteamericano publica el primer diseo lgico de un cifrador que estara llamado a ser el principal sistema criptogrfico de finales de siglo: el Estndar de Cifrado de Datos o DES. En esas mismas fechas ya se empezaba a gestar lo que sera la, hasta ahora, ltima revolucin de la criptografa terica y prctica: los sistemas asimtricos. Estos sistemas supusieron un salto cualitativo importante, ya que permitieron introducir la criptografa en otros campos que hoy da son esenciales, como el de la firma digital.

También podría gustarte