Professional Documents
Culture Documents
INSTITUTO TECNOLGICO SUPERIOR DE CENTLA Academia de Informtica y Sistemas Computacionales Antologa CRIPTOGRAFA
Contenido
Unidad 1 ................................ ........................................................................................................................... 3 ........................... Introduccin................................ ................................................................................................ ...................................................... 3 1.1 Historia de la Criptografa. ................................................................ riptografa. ................................................. 3 1.2 Servicios y Mecanismos de Seguridad. .............................................................. 3 .............................. 1.3 Ataques. ................................ ................................................................................................ .............................................. 3 1.4 La Arquitectura de Seguridad de OSI. OSI................................................................. 3 ................................ Unidad 2 ................................ ........................................................................................................................... 7 ........................... Tcnicas clsicas de cifrado ............................................................................................. 7 ............................. 2.1 Introduccin y clasificacin de los sistemas de cifrado. ................................ 7 .................................... 2.2 Operaciones utilizadas. utilizadas................................................................. ....................................................... 8 2.3 Nmeros de claves. claves............................................................................................ 22 ........................... 2.4. Formas de procesamiento de datos. datos................................................................. 22 ................................. Unidad 3 ................................ ......................................................................................................................... 23 ......................... Gestin de claves. ................................ ................................................................................................ ........................................... 23 3.1 Generacin de claves ........................................................................................ 24 ........................ 3.3 Claves aleatorias ................................ ............................................................................................... 24 ............................... 3.4. Distribucin de claves ................................................................ ..................................................... 24 3.5. Almacenamiento de claves ................................................................ .............................................. 25 3.6. Tiempo de vida de claves ................................................................ ................................................ 26 3.7. Destruccin de claves ...................................................................................... 27 ...................... 3.8. Normas de Eleccin de Claves ................................................................ ormas ........................................ 27 Normas para Proteger una Clave ................................................................ .......................................... 27 Contraseas de un Slo Uso Uso................................................................ ................................................... 29 Gestin de claves ................................ ................................................................................................ 29 .................................... Distribucin de claves ............................................................................................ 30 ............................ Unidad 4 ................................ ......................................................................................................................... 32 ......................... Criptografa simtrica ................................ ................................................................................................ 32 ..................................... 4.1. La criptografa simtrica simtrica................................................................ .................................................. 32 Seguridad................................ ................................................................................................ ................................................ 32 Ejemplos ................................ ................................................................................................ ..................................................... 33 Inconvenientes ................................ ................................................................................................ ............................................ 33 Unidad 5 ................................ ......................................................................................................................... 38 ......................... Criptografa Asimtrica ................................ ................................................................................................ 38 ..................................
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
1.3 Ataques.
Las 10 mayores amenazas a la seguridad 1. Errores en el software 2. Mala proteccin contra ataques annimos 3. No hay donde guardar secretos 4. Malos generadores aleatorios 5. Mala eleccin de passwords 6. Confianza inmerecida en el canal de comunicacin 7. Protocolos y sistemas mal entendidos 8. Mal asesoramiento sobre amenazas y riesgos 9. Hacer la seguridad cara y complicada de usar 10. Poca demanda de seguridad
Autenticacin de entidad par. Este servicio corrobora la fuente de una par. unidad de datos. La autenticacin puede ser slo de la entidad origen o de la entidad destino, o ambas entidades se pueden autenticar la una o la otra.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Control de acceso. Este servicio se utiliza para evitar el uso no autorizado de recursos. Confidencialidad de datos. Este servicio proporciona proteccin contra la revelacin deliberada o accidental de los datos en una comunicacin. Integridad de datos Este servicio garantiza que los datos recibidos por datos. el receptor de una comunicacin coinciden con los enviados por el emisor. No repudio. Este servicio proporciona la prueba ante una tercera parte . de que cada una de las entidades comunicantes han participado en una comunicacin. Puede s de dos tipos: ser o Con prueba de origen. Cuando el destinatario tiene prueba del origen. origen de los datos. o Con prueba de entrega. Cuando el origen tiene prueba de la entrega. entrega ntegra de los datos al destinatario deseado.
Para proporcionar estos servicios de seguridad es necesario incorporar en los seguridad niveles apropiados del Modelo de Referencia OSI los siguientes mecanismos de seguridad:
Cifrado. El cifrado puede hacerse utilizando sistemas criptogrficos . simtricos o asimtricos y se puede aplicar extremo a ext extremo o individualmente a cada enlace del sistema de comunicaciones. El mecanismo de cifrado soporta el servicio de confidencialidad de datos al tiempo que acta como complemen to de otros mecanismos de seguridad.
Firma digital. Se puede definir la firma digital como el conjunto de . datos que se aaden a una unidad de datos para protegerlos contra la falsificacin, permitiendo al receptor probar la fuente y la integridad de los mismos. La firma digital supone el cifrado, con una componente secreta del firmante, de la unidad de datos y la elaboracin de un valor nte, de control criptogrfico. La firma digital descrita por ITU y OSI en el Entorno de Autenticacin del Directorio utiliza un esquema criptogrfico asimtrico. La firma consiste en una cadena que contiene el resultado de cifrar con RSA contiene aplicando la clave privada del firmante, una versin comprimida, mediante una funcin hash unidireccional y libre de colisiones, del texto a firmar. Para verificar la firma, el receptor descifra la firma con la clave pblica del emisor, comprime con la funcin hash al texto original blica recibido y compara el resultado de la parte descifrada con la parte comprimida, si ambas coinciden el emisor tiene garanta de que el texto no ha sido modificado. Como el emisor utiliza su cl clave secreta para cifrar la parte comprimida del mensaje, puede probarse ante una
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
tercera parte, que la firma slo ha podido ser generada por el usuario que guarda la componente secreta. El mecanismo de firma digital soporta los servicios de integridad de datos, autenticacin de origen y no repudio con prueba de origen. Para proporcionar el servicio de no repudio con prueba de entrega es necesario forzar al receptor a enviar al emisor un recibo firmado digitalmente.
Control de acceso. Este mecanismo se utiliza para autenticar las liza capacidades de una entidad, con el fin de asegurar los derechos de accesoa recursos que posee. El control de acceso se puede realizar en el origen o en un punto intermedio, y se encarga de asegurar si el enviante est autorizado a comunicar con el receptor y/o a usar los recursos de comunicacin requeridos. Si una entidad intenta acceder a un recurso no autorizado, o intenta el acceso de forma impropia a un recurso autorizado, entonces la funcin de control de acceso rechazar el intento, al tiempo que puede informar del incidente, con el tento, propsito de generar una alarma y/o registrarlo. El mecanismo de control de acceso soporta el servicio de control de acceso.
Integridad de datos. Es necesario diferenciar entre la integridad de una unidad de datos y la integridad de una secuencia de unidades de datos ya que se utilizan distintos modelos de mecanismos de seguridad para proporcionar ambos servicios de integridad. Para proporcionar la integridad de una unidad de datos la entidad emisora aade a la unidad de datos una cantidad que se calcula en funcin de los datos. Esta cantidad, probablemente encriptada con tcnicas simtricas o asimtricas, puede ser una infomracin suplementaria compuesta por un cdigo de control de bloque, o un ompuesta valor de control criptogrfico. La entidad receptora genera la misma cantidad a partir del texto original y la compara con la recibida para determinar si los datos no se han modificado durante la transmisi transmisin. Para proporcionar integridad a una secuencia de unidades de datos se requiere, adicionalmente, alguna forma de ordenacin explcita, tal como la numeracin de secuencia, un sello de tiempo o un encadenamiento criptogrfico. El mecanismo de integridad de datos soporta el servicio de integridad integridad de datos.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
o o
Autentificacin simple. El emisor enva su nombre distintivo y simple. una contrasea al receptor, el cual los comprueba. Autentificacin fuerte. Utiliza las propiedades de los criptosistemas de clave pblica. Cada usuario se identifica por un nombre distintivo y por su clave secreta. Cuando un segundo usuario desea comprobar la autenticidad de su interlocutor deber comprobar que ste est en posesin de su clave secreta, para lo cual deber obtener su clave pblica.
Para que un usuario confe en el procedimiento de autenticacin, la clave pblica de su interlocutor se tiene que obtener de una fuente de confianza, a la que se denomina Autoridad de Certificacin. La Autoridad de Certificacin utiliza un algoritmo de clave pblica para certificar la clave pblica de un usuario produciendo as un certificado. do Un certificado es un documento firmado por una Autoridad de Certificacin, vlido durante el perodo de tiempo indicado, que asocia una clave pblica a nte un usuario. El mecanismo de intercambio de autenticacin se utiliza para sopo soportar el servicio de autenticacin de entidad par.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
En la cifra de Vigenre se utilizan no uno, sino 26 alfabetos cifrados (cifrado polialfabtico), cada uno de ellos comenzando en la letra siguiente ), del anterior. La naturaleza polialfabtica es lo que le da su fuerza, pero tambin hace que sea mucho ms complicada de usar. La cifra resulta inexpugnable para el anlisis de frecuencia, pues una misma letra que aparezca varias veces en el texto cifrado puede representar en cada ocasin una letra diferente del texto llano y a su vez una letra que aparezca varias veces en el texto llano puede estar representada por arias diferentes letras en el texto cifrado,. Para descifrar un mensaje, el receptor necesita saber que lnea del cuadro Vigenre ha sido utilizada para codificar cada letra, de manera que tiene que haber un sistema acordado (clave) para cambiar de lnea. ber Para ilustrar como se utiliza una clave con el cuadro Vigenre vamos a cifrar la frase desve tropas a la loma este, utilizando la clave HIELO. Para este, empezar, se deletrea la clave sobre el mensaje, repitindola las veces que repitindola sea necesario hasta que cada letra del mensaje quede asociada con una letra de la clave. Clave Texto llano HIELOHIELOHIELOHIELOHIE desv i et r o p as al a lo ma e s t e
Para cifrar la primera letra, d, hay que comenzar por identificar la , letra clave que hay sobre ella, H, que a su vez define una lnea particular en , el cuadro Vigenre. La lnea que comienza por H, la lnea 7, es el alfabeto cifrado que se utilizar para encontrar la letra que sustituir a la d del texto encontrar llano. Observamos dnde se cruza la columna que comienza por d con la lnea que comienza por H y resulta ser la letra K. Por consiguiente, a esa letra d del texto llano la representa la K en el texto cifrado.. Para codificar la segunda cifrado.. letra del mensaje, e, repetimos el proceso. La letra clave que hay sobre la e , es la I, as, que la codificamos mediante una lnea diferente del cuadro de Vigenre: la lnea I (lnea 8), que es un nuevo alfabeto cifrado. Para codificar 8), la e observamos dnde se cruza la columna que empieza por e con la lnea que comienza por I, y resulta ser la letra M. ,
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Texto cifrado KMWGWLBV Z D HAE T O SWQ L S Z B I Una palabra clave ms larga, una frase clave, introducira ms lneas una en el proceso de codificacin e incrementara la complejidad de la cifra. El siguiente muestra un cuadro de Vigenre a b c d e f g h i j k l m n o p q r s t u v x y z
La debilidad fundamental de la cifra Vigenre es su naturaleza cclica. Si la clave tiene cinco letras, entonces cada cinco letras del texto llano est codificad segn el mismo alfabeto cifra. Si el criptoanalista puede identificar la longitud de la clave, el texto puede ser tratado como una serie de cinco ave, cifras monoalfabticas, y cada una de ellas se puede descifrar con el anlisis de frecuencia.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Cifrado de Vernam, de cuaderno de uso nico o de cinta aleatoria Para evitar el inconveniente del sistema de Vigenre, en 1917 el ingeniero americano Vernan, propone un sistema de sustitucin polialfabtico de gran importancia en la criptografa, pues es el nico que se demuestra matemticamente perfecto. En l podemos abordar cuestiones probabilsticas, en concreto sobre la generacin de nmeros aleatorios. ncreto Conocida el tamao, k, del mensaje que deseamos cifrar, consideramos una sucesin finita de k de variables aleatorias independientes e idnticamente distribuidas segn una distribucin equiprobable sobre Zm, que ser la clave usada. Entonces realizaremos una suma mdulo m entre cada letra del mensaje con cada letra de esta sucesin de claves. Las mejores claves aleatorias se crean utilizando procesos fsicos naturales como la radiactividad, que se sabe exhibe una conducta verdaderamente aleatoria. El exhibe criptgrafo podra colocar algo de material radiactivo en una banqueta y detectar su emisin con un contador Geiger. Las comunicaciones militares requeran velocidad y simplicidad, ya que podan enviar y recibir cientos de mensajes cada da, por lo que los mandos ir militares se mostraban reticentes a adoptar la cifra polialfabtica, a causa de su complejidad y buscaron formas intermedias, que fueran ms difciles de descifrar que las monoalfabticas pero ms sencillas que una cifra sencillas polialfabtica. As surgi la cifra de sustitucin homofnica. En ella cada letra es . reemplazada por una variedad de sustitutos, y el nmero de sustitutos potenciales es proporcional a la frecuencia de la letra. Por ejemplo, la letra a supone el 8% de todas las letras del ingls escrito, de manera que asignaramos ocho smbolos para representarla. Cada vez que apareciese una a en el texto llano sera reemplazada en el texto cifrado por uno de los ocho smbolos elegido al azar, de forma que al final de la codificacin cada smbolo constituira aproximadamente el 1% del texto codificado.
La palabra cdigo alude a un tipo muy particular de comunicacin secreta, que ha ido cayendo en desuso a lo largo de los siglos. En un cdigo, una palabra o una frase es reemplazada por una palabra, un nmero o un abra smbolo. Por ejemplo, los agentes secretos tienen nombres codificados, palabras que se utilizan en vez de sus verdaderos nombres para enmascarar su identidad. La alternativa al cdigo es la cifra, una tcnica que funciona a un cifra, nivel ms bsico, reemplazando letras en vez de palabras enteras. Por ejemplo, cada letra de una frase podra reemplazarse por la siguiente letra del alfabeto. Tipos de Cifrados Clsicos 2.2.1 Algoritmos de Sustitucin.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Se puede hacer una gran divisin de los cifrados segn el tipo de operacin que se realiza en el cifrado. Dada la caracterstica finita del alfabeto y la hiptesis de no variacin de la longitud del texto, existen dos opciones para el cifrado. La primera, llamada sustitucin consiste en iones sustitucin, sustituir las unidades del texto original por otras; la segunda llamada transposicin, consiste en crear el texto cifrado simplemente desordenando , las unidades que forman el texto original Los algoritmos de sustitucin y los es original. cdigos, preservan el orden de los smbolos en claro, pero los disfrazan. A diferencia de stos, los algoritmos de transposicin, reordenan las letras pero no las disfrazan. Ejemplo de transposicin:
TU SECRETO ES TU PRISIONERO; SI LO SUELTAS, T ERES SU PRISIONERO
B G
C Q L N E
P T
USMQZLUCQSQN V CUXGVSQMBU Este es un ejemplo ilustrativo claro de una funcin matemtica; a cada letra del alfabeto llano (elemento del dominio) le hace corresponder una letra del alfabeto cifrado (elemento del rango o conjunto imagen de la funcin). Por otra parte, para el proceso de descifrado es necesario contar con que la funcin sea biyectiva para poder ser inversible. Los sistemas criptogrficos donde la clave de descifrado se pueden deducir de la clave de cifrado se llaman simtricos o de clave secreta secreta. Los criptgrafos a menudo piensan en trminos de alfabeto llano o iptgrafos claro, el alfabeto que se usa para el mensaje original, y alfabeto cifrado las , cifrado, letras que sustituyen a las del alfabeto llano.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Cada una de las cifras puede ser considerada en trminos de un mto mtodo de codificacin general, conocido como el algoritmo, y una clave, que , especifica los detalles exactos de una codificacin particular. En los casos siguientes, el algoritmo conlleva sustituir cada letra del alfabeto llano por una letra del alfabeto cifrado y el alfabeto cifrado puede consistir de cualquier do combinacin del alfabeto llano. El algoritmo de transposicin ms comn es el de tipo columnar; la clave del cifrado debe ser una palabra que no tenga ninguna letra repetida, en el ejemplo que se presenta a continuacin la clave es la palabra MEGABUCK. El propsito de la clave es el de numerar las diferentes columnas que se formarn, de forma que la columna 1 es aquella que queda bajo la letra de la clave ms prxima al principio del alfabeto y as sucesivamente. El texto en claro se escribe debajo de la clave en renglones horizontales; el texto cifrado se lee por columnas, comenzando por la columna cuya letra clave tiene el menor valor. e Texto llano: please transfer one million dollars to my Clave de cifrado: M E G A B U C K
M E G A B U C 7 p a d 4 l n o 5 1 2 8 3 e a s e t s i l f e r o l l i o s l a r
K 6 r n n t e
e m
o m y a b c d
Texto cifrado: afllaselabtoosdlnmomesilyrnntepaedoerirc Para desbaratar un cifrador de transposicin, el criptoanalista debe estar primero enterado de que se trata efectivamente de un cifrado de trata transposicin. Esto puede comprobarse de una forma relativamente sencilla, observando la frecuencia de las letras e, t, a, o, i, n, ... ya que en los cifrado bservando cifrados de este tipo se cambia de lugar las letras, pero no se cambian las letras propiamente, por lo que si la frecuencia de aparicin de las letras se corresponde con la observada para el lenguaje natural, es decir, la e es la que ms aparece, ... entonces se podra afirmar con mucha seguridad que el cifrador es de transposicin y no de sustitucin. El siguiente paso consistira en determinar cul es el nmero de columnas. En muchos casos una palabra o frase probable, puede llegar a os adivinarse a partir del contexto del mensaje. Si el criptoanalista sabe, o
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
supone que una determinada palabra o frase est contenida en el mensaje, entonces no le costar mucho esfuerzo d determinar el nmero de columnas. mero El ltimo paso consistira en ordenar las columnas. 2.2.1.1 Monoalfabtica: cifrado del Csar. El algoritmo de Csar, llamado as porque es el que empleaba Julio Csar para enviar mensajes secretos, es uno de los algoritmos criptogrficos ms simples. Es un algoritmo de sustitucin que consiste en sumar 3 al nmero de orden de cada letra. De esta forma a la A le corresponde la D, a la B la E, y forma as sucesivamente. Si asignamos a cada letra un nmero (A = 0, B = 1. . . ), y consideramos un alfabeto de 27 letras, la transformacin criptogrfica sera: y = T3(x) = (x + 3) mod 27 Obsrvese que este algoritmo ni siquiera posee clave, puesto que la algoritmo transformacin siempre es la misma. Obviamente, para descifrar basta con restar 3 al nmero de orden de las letras del criptograma. (o en trminos de funciones inversas: T3-1(x) = (x 3) mod 27) NOTA IMPORTANTE: La eleccin del tamao del alfabeto es una IMPORTANTE: decisin que tiene implicaciones. En la prctica es conveniente contar con un alfabeto con un nmero primo de letras. ABCDEFGH I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Vamos a cifrar el siguiente mensaje: Texto llano: ZAPATO Podemos hacerlo manualmente utilizado la frmula anteriormente dada: Reemplazar x por el valor de la primera letra, en este caso Z equivale a 26 letra, 26. Realizar la operacin indicada: T3(Z) = (26 + 3) mod 27 = 2 = C 1. Realizar la operacin con las letras restantes. Texto cifrado: CDSDWR El sistema anterior se generaliza de forma evident a Tn(x) = (x + n) mod 27 evidente
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Es el caso general del algoritmo de Csar. Su transformacin sera: T(a,b) (x) = (ax + b) mod N Siendo a y b dos nmeros enteros menores que el cardinal N del alfabeto, y cumpliendo que mcd(a, N) = 1. La clave de cifrado k viene . entonces dada por el par (a, b). El algoritmo de Csar sera pues una . transformacin afn con k = (1; 3). Para descifrar un mensaje hay que utilizar la funcin inversa: T(a,b)-1(x) = ax + b donde a = a-1 mod N; b= a-1b mod N b; N. NOTA IMPORTANTE: Es necesario que N sea primo para que exista y sea nico a-1. Puede ser interesante hallar la grfica de la transformacin y de su inversa para entender estos procedimientos. La simplicidad y fortaleza de los cifrados de sustitucin hicieron que stos dominaran el arte de la escritura secreta a lo largo del primer milenio de nuestra era. La cifra Pigpen La cifra de sustitucin monoalfabtica perdur a travs de los siglos en formas diversas. Por ejemplo la cifra de los templarios: El Temple era una orden de monjes fundada en el siglo XII., cuya misin principal era asegurar la seguridad de los peregrinos en Tierra Santa. Rpidamente, los templarios se desentendieron de este objetivo, y se enriquecieron considerablement hasta el punto de llegar a ser tesore iquecieron considerablemente tesoreros del rey y del Papa. Para codificar las letras de crdito que ellos intercambiaban, ellos remplazaban cada letra por un smbolo, siguiendo la sustitucin zaban guiendo siguiente:
Otro ejemplo es la cifra Pigpen fue utilizada por los masones en el siglo XVIII para preservar la privacidad de sus archivos, y todava la usan los nios
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
hoy en da. La cifra no sustituye una letra por otra, sino que sustituye cada letra por un smbolo de acuerdo al siguiente modelo:
Para codificar una letra particular, encuentre su posicin en una de las cuatro cuadrculas y luego dibuje esa porcin de la cuadrcula para representar esa letra. Por tanto: Si conoce la clave, la cifra Pigpen es fcil de descifrar. Si no, se puede descifrar fcilmente con el: ente
Los criptoanalistas rabes lograron encontrar un mtodo para descifrar la cifra de sustitucin monoalfabtica (un nico alfabeto cifrado), aunque no se sabe quin fue el primero en darse cuenta de que la variacin en la frecuencia de las letras poda explotarse para descifrar. ras Una de las mejoras ms sencillas de la seguridad de la cifra de sustitucin monoalfabtica fue la introduccin de nulos, es decir, smbolos o , letras que no eran sustitutos de letras autnticas, sino meros huecos que no representaban nada. Por ejemplo, era posible sustituir cada letra llana pon un nmero entre 0 y 99, lo que dejaba 73 nmeros que no representaban nada y que podan ser salpicados aleatoriamente y con frecuencias variables por todo el texto cifrado. El cifrado Bifido o de Polibio rado En el siglo II a.C. Polibio fue miembro de la Liga Aquea dirigida por Filipmenes que fue derrotada por los romanos en Pidna, Polibio fue llevado como rehn a Roma para ser maestro de Escipin Emiliano Presenci la Emiliano. destruccin de Cartago y posiblemente estuvo en el sitio de Numancia Escribi Numancia. cuarenta libros donde recoge sus "Historias", conservndose slo cinco en los que se manifiesta su deseo de apartar de los acontecimientos todo resto de mitologa, utopa o poesa poesa. Polibio est en el origen de un mtodo muy original para ci cifrar (l describa un sistema de seales a distancia basado en el empleo de antorchas). Para esto, se disponen las letras en un cuadrado 5x (Al ser un n 5x5 cuadro slo de 5x5 nos vemos obligados a cifrar de la misma forma la I y la J. El contexto nos permitir distinguir cual de las dos letras se pretenda cifrar cifrar): 1 2 3 4 5
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
1 2 3 4 5
A F L Q V
B G M R W
C H N S X
D I/J O T Y
E K P U Z
Se remplaza entonces cada letra por sus coordenadas en el cuadrado, escribiendo en primer lugar la fila y luego la columna. Por ejemplo, la A es columna. reemplazada por 11, la B es re reemplazado por 12, la F por 21, la M po 32.... or por (en la idea de Polibio para transmitir la letra R a distancia se encendan las cuatro primeras antorchas y las dos ltimas) as Si nosotros codificamos LONGTEMPS JE ME SUIS COUCHE DE BONNE HEURE Obtenemos: 313433224415323543 2415 3215 133445132315 1415 1234333315 2315454215 El cuadrado de Polibio posee algunas propiedades interesantes. En iedades particular, reduce el nmero de smbolos utilizados para la codificacin, lo que hace su anlisis ms difcil. Adems altera la frecuencia de los caracteres a diferencia de lo que ocurre por ejemplo con los cifrados monoalfabticos. Es por lo que lo hace un precursor de los mtodos modernos. Remarquemos que n modernos. podemos llenar el cuadrado de manera diferente de como se ha hecho aqu, por ejemplo comenzando poniendo una palabra clave y luego el resto de las letras en orden alfabtico tico. Observemos un ejemplo donde la clave para el alfabeto desordenado es donde DIPLOMA: * 1 2 3 4 5 1 D M F Q V 2 I/J A G R W 3 P B H S X 4 L C K T Y 5 O E N U Z
Si por ejemplo el texto llano es: VEN A LAS TRES El equivalente numrico es: 51 25 35 22 14 22 43 44 42 25 43
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
En el cifrado bfido lo dividi dividimos en dos partes quedando: 51253522142 24344422543 Si ahora leemos los nmeros como columnas en lugar de por filas resulta: 52 14 23 54 34 54 22 22 15 44 23 Y volviendo a consultar la tabla resulta en el mensaje cifrado: WLBYKYAAOTB Admite ms variaciones como por ejemplo dividir la lista en 3, 4, ...n partes. El cuadrado de Polibio se utiliz en los siglos XIX y XX por los nihilistas rusos. La cifra Playfair La cifra Playfair se utiliz durante las dos guerras mundiales y esta ayfair basado en el cuadrado de Polibio, fue popularizada por Lyon Playfair, primer barn Playfair de St. Andrews, pero fue inventada por sir Charles Wheatstone, uno de los pioneros del telgrafo elctrico. Los dos hombres vivan cerca, elctrico. cada uno a un lado del puente de Hammersmith, y se reunan a menudo para hablar de sus ideas sobre la criptografa. La cifra sustituye cada par de letras de texto llano con otro par de letras. Para codificar y transmitir un mensaje, el emisor y el receptor deben un acordar primero una palabra clave. Por ejemplo, podemos utilizar el propio nombre de Whetstone, CHARLES, como clave. A continuacin, antes de codificar, las letras del alfabeto se escriben en un cuadrado de 5 x 5, comenzando con la palabra clave, y combinando las letras I y J en un solo omenzando elemento:
A continuacin, se divide el mensaje en pares de letras o dgrafos. Las dos letras de todos los dgrafos deben ser diferentes, lo que se consigue en el ejemplo siguiente insertando una x adicional entre las dos m de nsertando hammersmith, y se aade una x adicional al final para convertir en un dgrafo la letra final que queda sola:
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Texto llano: meet me at hammersmith bridge tonight Texto llano en dgrafos: me me-et-me-at-ha-mx-me-rs-mi-th-br-id-ge ge-to-ni-gh-tx Ahora puede comenzar la codificacin. Todos los dgrafos caen en una de estas tres categoras: ambas letras estn en la misma fila, o en la misma columna o en ninguna de las dos. Si ambas letras estn en la misma fila, son reemplazadas por la letra que queda a la derecha de cada una de ellas; as, azadas mi se convierte en NK. Si una de las letras est al final de la fila, es reemplazada por la letra que hay al principio de la fila; por ejemplo, ni se convierte en GK. Si ambas letras estn en la misma columna, son estn reemplazadas por la letra que hay debajo de cada una de ellas; as pues ge se convierte en OG. Si una de las letras est en la parte inferior de la columna, es reemplazada por la letra de la parte superior de la columna, as pue ve pues, se convierte en CG. Si las letras del dgrafo no estn ni en la misma fila ni en la misma columna, la codificacin se rige por una regla diferente. Para codificar la primera letra, hay que mirar en su fila hasta llegar a la columna que contiene la segunda letra; la letra que hay en esa interseccin reemplaza a la primera egunda letra. Para codificar la segunda letra, mirar en su fila hasta llegar a la columna que contiene a la primera letra, la letra que hay en la interseccin reemplaza a la segunda letra. Por tanto, me se convierte en GD y et se convierte en DO. La codificacin completa es: Texto llano en dgrafos: me et me at ha mx me rs mi th br id ge to ni gh tx Texto cifrado: GD DO GD RQ AR KY GD HD NK PR DA MS OG UP GK IC QY El receptor, que tambin conoce la palabra clave, puede descifrar fcilmente el texto cifrado simplemente invirtiendo el proceso: por ejemplo, las letras cifradas que estn en la misma fila se descifran reemplazndolas por la letra que haya a la izquierda de cada una de el ellas. La cifra de Playfair recurre al cuadrado de Polibio para su definicin. Sin embargo, es posible encontrar una transformacin bialfabtica para su definicin. La cifra ADFGVX En la cifra ADFGVX hay sustitucin y transposicin. La codificacin comienza dibujando una cuadrcula de 6x6, y llenando los 36 cuadrados con nza una disposicin aleatoria de las 26 letras y los 10 dgitos. Cada lnea y cada columna de la cuadrcula se identifica con una de las seis letra A, D, F , G, V o X. La disposicin de los elementos de la cuadrcula funciona como parte de la elementos clave, de modo que el receptor necesita conocer los detalles de la cuadrcula para poder descifrar los mensajes. A D F G V X
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
A D F G V X
8 l 7 j x 9
p t k u s e
3 4 b 6 v y
d o c w i 0
1 a 5 g r f
n h z m 2 q
La primera fase de la codificacin es tomar cada letra del mensaje, localizar su posicin en la cuadrcula y sustituirla con las letras que dan nombre a sus lnea y su columna. Por ejemplo, 8 sera sustituido por AA, y p sera reemplazado por AD. Veamos un mensaje corto codificado segn este sistema. Texto llano: ven a las 10 de la noche
Texto cifrado fase 1: VF XD AX DV DA DV VD AV XG AG XD DA DV AX DG FG DX XD
Hasta ahora, es una simple cifra de sustitucin monoalfabtica, y bastara un anlisis de frecuencia para descifrarla. Sin embargo, la segunda fase de ADFGVX es una transposicin, lo que dificulta muchsimo ms el criptoanlisis. La transposicin depende de una palabra clave, que en este caso es la palabra PACO, y que debe compartirse con el receptor. La transposicin se lleva a cabo de la siguiente manera. Primero, las letras de la palabra clave se escriben en la lnea superior de una nueva cuadrcula. Lu Luego el texto cifrado fase 1 se escribe debajo en una serie de lneas, tal como se muestra a continuacin. Despus, las columnas de la cuadrcula se cambian de posicin de modo que las letras de la palabra clave queden en orden alfabtico. El texto cifrado final se logra descendiendo cada columna y escribiendo las letras en este nuevo orden.
Texto cifrado final: FXADGDVGXXDDAADAFXDVVVGAXGDVADVXXDDD El texto cifrado final se transmitira entonces en cdigo Morse, y el receptor invertira el proceso de codificacin para obtener el texto original. codificacin Todo el texto cifrado se compone con slo seis letras (esto es, A, D, F, G, V, X), porque stas son las que dan nombre a las lneas y las columnas de la cuadrcula inicial de 6x6. A menudo, la gente se pregunta por qu se eligieron por esas letras, en vez de, pongamos A, B, C, D, E y F. La respuesta es que A, D,
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
F, G, V y x son muy diferentes entre s cuando se convierten en las lneas y puntos del Morse, de modo que la eleccin de letras reduce al mnimo el riesgo de errores durante la transmisin. Cifrado de Hill Los cifrados monogrficos, en los que se sustituye un carcter por otro de una forma preestablecida, son vulnerables al anlisis de frecuencia de aparicin de las letras. Para evitarlo se desarrolla desarrollaron esquemas basados en cifrar bloques de letras de una cierta longitud fija, o sea, cifrados poligrficos. El esquema que aqu trataremos se debe a Hill (hacia 1.930). Tiene un inters didctico importante debido al uso de matrices que en l se hace. Un cifrado de Hill se obtiene al transformar bloques de n caracteres en rado un texto cifrado a travs de la relacin C = (A P + B) (mod 28), donde: A es una matriz nxn, que debe ser inversible mdulo 28, es decir, el m.c.d , (determinante de_la_matriz A, 28) = 1.
n P es un bloque de n caracteres. P = Z 28
28 es el nmero de smbolos del alfabeto: _ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z que se corresponden con los nmeros del 0 al 27 (el 0 corresponde al espacio en blanco separador de dos palabras) Un ejemplo para un cifrado digrfico (bloques de 2 caracteres) sera para el texto original siguiente: ESTACION CENTRAL X E S T A C I O N C E N T R A L X 5 20 21 1 3 9 16 14 0 3 5 14 21 19 1 12 0 25 Disponemos el texto de la forma siguiente y aplicamos la transformacin indicada: E S T A C O E T I N C N R A L X
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
INSTITUTO TECNOLGICO SUPERIOR DE CENTLA C1 = (((1 * P1) + (27 * P2 +1) (mod 28) 2)) C2 = (((0 * P1) + (3 * P2))+0) (mod 28) ))+0)
Donde P1 y P2 son dos caracteres del mensaje sin cifrar, C1 Y C2 los correspondientes cifrados y K. E Continuando con el ejemplo y codificando S siendo E = 5 y S = 20, entonces: C1= (((1 * 5) + (27 * 20) + 1)(mod 28) = 546 (mod 28) = 14 (mod 28) (l = (letra N) C2= (((0 * 5) + ( 3 * 20) + 0))(mod 28) = 60 (mod 28) = 4 (mod 28) (letra D) =
C1 1 27 P1 1 C 0 3 P 0 (mod 28) 2 2
Y as sucesivamente para cada bloque de 2 caracteres, resultando: Texto cifrado: NDTCVZCNYISNCAQHDR La consecuencia es que el mismo carcter se codifica de distintas formas (la primera E se ha codificado como una N, y la segunda E del texto original se ha codificado como una S). El descifrado del sistema de Hill es simtrico (la clave de desencriptacin se calcula a partir de la clave de encriptacin y viceversa) y n ser aplicar la transformacin: P = A-1 (C B) (mod 28) , donde A-1 es la matriz inversa de A mod 28 Para calcular la inversa mdulo N de una matriz cualquiera: Si A es una matriz tal que m.c.d(det( m.c.d(det(A), N)=1 y llamamos d = det(A) entonces A-1= d-1.B ) -1 donde d es el inverso de d mdulo N y B es la transpuesta de la matriz adjunta de A. Vamos a cifrar la palabra MAX utilizando un cifrado poligrfico de tamao 3. Tomemos sus equivalentes numr numricos: M A X 13 1 25 Si las matrices de cifrado A y B son:
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
1 0 3 27 0 3 0 A = 1 1 2 1 1 2 ; B = 0 1 1 1 1 1 27 0 Det(A) = d = 3 entonces tendremos que d-1 = 19 pues 3.19 = 57 = 1(mod 28) por otro 28); lado 0 25 3 0 3 3 3 3 3 t Adj(A) = 3 2 1 3 26 1 ; Adj (A) = 3 2 5 3 5 1 25 5 27 0 1 1 1 27 1 27 25 3 0 1 1 Por lo que A = 19. 3 26 1 = 1 10 11 1 18 11 25 5 27 0 19 19 0 19 9 C1 1 0 3 13 6 Para cifrar C 2 1 1 2 1 8 C 1 1 1 25 17 3
-1
El resultado es [62 64 -11] es decir [18 8 17] tomndolo mdulo 26. As que 11] el bloque que corresponde a MAX es QHP. Probemos con el descifrado:
1 6 13 P1 1 1 P2 1 10 11 8 1 P 0 19 19 17 3 3
El resultado es como era de prever [13 1 25], es decir el bloque MAX original.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Partiendo de la premisa en que no se disponen de esa cantidad de aos para analizarlas por fuerza bruta, se deber comenzar a probar con las claves ms posibles, comnmente llamadas Claves Dbiles. Segn demuestra el anlisis de +NetBuL (1) realizado sobre 2.134 cuentas y probando 227.000 palabras por segundo: Con un diccionario 2.030 palabras (el original de John de Ripper 1.04), se obtuvieron 36 cuentas en solo 19 segundos (1,77%). Con un diccionario de 250.000 palabras, se obtuvieron 64 cuentas en de 36:18 minutos (3,15%). Otro estudio (2) muestra el resultado obtenido al aplicar un ataque, mediante un diccionario de 62.727 palabras, a 13.794 cuentas: En un ao se obtuvieron 3.340 contraseas (24,22%). En la primera semana se descubrieron 3.000 claves (21,74%). En los primeros 15 minutos se descubrieron 368 palabras claves (2,66%).
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Segn los grandes nmeros vistos, sera vlido afirmar que: es imposible encontrar 36 cuentas en 19 segundos!. Tambin debe observarse, en el debe segundo estudio, que el porcentaje de hallazgos casi no vara entre un ao y una semana. Tal vez, esto sucedi porque existan claves nulas; que corresponde al nombre del usuario; a secuencias alfabticas tipo "abcd"; a secuencias numricas tipo "1234"; a secuencias observadas en el teclado tipo "qwer"; a ricas palabras que existen en un diccionario del lenguaje del usuario?. S, estas claves (las ms dbiles) son las primeras en ser analizadas y los tiempos obtenidos confirman la hiptesis.
Frases de paso
Esta solucin al problema de la generacin de contraseas seguras (y fciles de recordar) por parte del usuario consiste en utiliza una frase utilizar suficientemente larga que posteriormente es convertida en una clave aleatoria por medio de un algoritmo (key (key-crunching).
distribucin debe efectuarse previamente a la comunicacin. Los requisitos especficos en cuanto a seguridad de esta distribucin dependern de para qu y cmo van a ser utilizadas las claves. As pues, ser necesario garantizar necesario la identidad de su origen, su integridad y, en el caso de claves secretas, su confidencialidad. Las consideraciones ms importantes para un sistema de gestin de claves son el tipo de ataques que lo amenazan y la arquitectura del sistem sistema. Normalmente, es necesario que la distribucin de claves se lleve a cabo sobre la misma red de comunicacin donde se est transmitiendo la informacin a proteger. Esta distribucin es automtica y la transferencia suele iniciarse con la peticin de clave por parte de una entidad a un Centro de Distribucin de Claves (intercambio centralizado) o a la otra entidad involucrada en la comunicacin (intercambio directo). La alternativa es una distribucin manual (mediante el empleo de correos seguros, por ejemplo), independiente del ejemplo), canal de comunicacin. Esta ltima alternativa implica un alto coste econmico y un tiempo relativamente largo para llevarse a cabo, lo que la hace descartable en la mayora de las situaciones. La distribucin segura de claves sobr canal sobre inseguro requiere proteccin criptogrfica y, por tanto, la presencia de otras claves, conformando una jerarqua de claves. En cierto punto se requerir proteccin no criptogrfica de algunas claves (llamadas maestras), usadas para intercambiar con los usuarios de forma segura las claves que usarn en su(s) futura(s) comunicacin(es). Entre las tcnicas y ejemplos no criptogrficos podemos citar seguridad fsica y confianza. La distribucin de claves se lleva siempre a cabo mediante protocolos, es decir, secuencias de pasos de comunicacin (transferencia de mensajes) y pasos de computacin. Muchas de las propiedades de estos protocolos dependen de la estructura de los mensajes intercambiados y no de los algoritmos criptogrficos subyacentes. Por ello, las debilidades de estos ello, protocolos provienen normalmente de errores cometidos en los niveles ms altos del diseo. Las claves criptogrficas temporales usadas durante la comunicacin, llamadas claves de sesin, deben ser generadas de forma aleatoria Para aleatoria. protegerlas ser necesaria seguridad fsica o cifrado mediante claves maestras, mientras que para evitar que sean modificadas deber utilizarse seguridad fsica o autenticacin. La autenticacin hace uso de parmetros como time-stamps y contadores para protegerse tambin contra la stamps para reactuacin con antiguas claves.
insertar el dispositivo empleado en alguna ranura a tal efecto para introducir alguna su clave. Otra manera de almacenar claves difciles de recordar es en forma encriptada mediante una clave fcil de recordar, como por ejemplo almacenar en disco la clave privada RSA cifrada mediante una clave DES.
Para protocolos orientados a conexin, una eleccin obvia es usar la misma clave de sesin durante la duracin de la comunicacin, siendo descartada al finalizar la comunicacin y nunca reutilizada. Si la conexin izar lgica posee una vida muy larga, sera prudente en este caso cambiar la clave de sesin peridicamente, por ejemplo cada vez que el nmero de secuencia de la PDU completa un ciclo. Para protocolos no orientados a conexin, no existe un inicio o fin de sesin explcitos. Por lo tanto, no resulta tan obvio con qu frecuencia debera cambiarse la clave. Con el fin de no recargar la informacin de control ni retrasar la transaccin, una estrategia vlida sera usar una clave vlida de sesin durante un cierto perodo o para un cierto nmero de transacciones. Las claves maestras no necesitan ser reemplazadas tan frecuentemente, ya que se usan ocasionalmente para el intercambio de claves. En cualquier caso, no hay que olvidar que si una clave maestra se compromete, la prdida potencial es enorme, de hecho, todas las comunicaciones cifradas con claves intercambiadas con esa clave maestra. En el caso del cifrado de grandes ficheros de datos, una solucin econmica y segura, mejor que andar descifrando y volviendo a cifrar los ca ficheros con una nueva clave todos los das, sera cifrar cada fichero con una nica clave y despus cifrar todas las claves con una clave maestra, que deber ser almacenada en un lugar de alta seguridad, ya que su prdida o alta compromiso echara a perder la confidencialidad de todos los ficheros.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
La siguiente frase difundida en UseNet resume algunas de las reglas bsicas de uso de la contrasea: "Un password debe ser como un cepillo de dientes. salo cada da; cmbialo regularmente; y NO lo compartas con tus amigos". Algunos consejos a seguir: 1. No permitir ninguna cuenta sin contrasea. Si se es administr administrador del sistema, repasar este hecho peridicamente. 2. No mantener las contraseas por defecto del sistema. Por ejemplo, cambiar las cuentas de Root, System, Test, Demo, Guest, etc. 3. Nunca compartir con nadie la contrasea. Si se hace, cambiarla inmediatamente. nte. 4. No escribir la contrasea en ningn sitio. Si se escribe, no debe identificarse como tal y no debe identificarse al propietario en el mismo lugar. 5. No teclear la contrasea si hay alguien mirando. Es una norma tcita de buen usuario no mirar el teclado mientras alguien teclea su contrasea. teclado 6. No enviar la contrasea por correo electrnico ni mencionarla en una conversacin. Si se debe mencionar no hacerlo explcitamente diciendo: "mi clave es...". 7. No mantener una contrasea indefinidamente. Cambiarla regularmente. Disponer de una lista de contraseas que puedan usarse cclicamente (por lo menos 5). Muchos sistemas incorporan ya algunas medidas de gestin y proteccin de las contraseas. Entre ellas podemos citar las siguientes: 1. Nmero de intentos limitado. Tras un nmero de intentos fallidos, pueden tomarse distintas medidas: o Obligar a reescribir el nombre de usuario (lo ms comn). o Bloquear el acceso durante un tiempo. o Enviar un mensaje al administrador y/o mantener un registro administrador especial. 2. Longitud mnima. Las contraseas deben tener un nmero mnimo de caracteres (se recomienda 7 u 8 como mnimo). 3. Restricciones de formato. Las contraseas deben combinar un mnimo de letras y nmeros, no pueden contener el nombre del usuario ni ser contener un blanco. 4. Envejecimiento y expiracin de contraseas. Cada cierto tiempo se fuerza a cambiar la contrasea. Se obliga a no repetir ciertas cantidad de las anterior. Se mantiene un periodo forzoso entre cambios, para evitar que se vuelva a cambiar inmediatamente y se repita la anterior. vitar 5. Ataque preventivo. Muchos administradores utilizan crackeadores para intentar atacar las contraseas de su propio sistema en busca de debilidades.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Gestin de claves
Dado que las claves pblicas estn (por definicin) disponibles para todo el mundo, se necesita alguna forma de asegurar su autenticidad. Es por eso que alguna las claves pueden ser firmadas, como los mensajes. Cuando PGP detecta una clave nueva, nos muestra todas las firmas que contiene, y nos pregunta si queremos firmarla con nuestra propia firma. Solo en el caso de que no exista caso NINGUNA duda acerca de la autenticidad de la clave debemos hacerlo. Para facilitar la comprobacin de claves a travs de otros canales (por ejemplo, por telfono o en persona), es posible obtener la "huella digital" (fingerprint) de una clave. Esto consiste en 16 nmeros determinados por la a clave secreta, de manera que la probabilidad de que otra clave distinta tenga los mismos nmeros es muy baja. Hay veces en las que, aunque nosotros mismos no podamos garantizar la autenticidad de una firma, las firmas que la avalan tienen prestigio suficiente como para que no dudemos. Cada vez que PGP detecta una firma nueva, nos pregunta tambin hasta que punto nos fiaramos de la misma para que actuara de "sponsor" de otras firmas. Hay varios niveles de credibilidad: desconfianza, niveles desconocimiento, confianza marginal y confianza absoluta. Es posible configurar PGP para definir que es lo que entendemos por una firma fiable:
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
por ejemplo, puedo decidir que una firma ser fiable si tiene al menos un "sponsor" de confianza absoluta o al menos 3 de confianza marginal. sor" Supongamos ahora que nos llega una clave nueva de un tal seor X, y a su vez va avalada por la firma de los seores Y y Z. Si decidimos incluir esta nueva clave pueden pasar varias cosas:
Supongamos que tenemos ya la clave pblica de Y, como "de toda confianza" y gamos la de Z, como "confianza marginal". Dado que hay un aval de confianza, la clave de X ser aceptada sin mas. Supongamos que la clave de Y es tambien de "confianza marginal". Si tenemos configurado PGP para aceptar dos confirmaciones marginales, la clave ser aceptada. Si exigimos tres o mas, se nos pedir confirmacin:
Key is not completely verified. Generally trusted verification from Y 'identificacion de Y...' Generally trusted verification from Z 'identificacion de Y...'
Supongamos que la clave de Y y Z, o bien no son conocidas o su nivel de confianza es "desconocido'". Tambin se nos pedir confirmacin, por ejemplo:
Key is not completely verified. Questionable verification from 'unknown signator, can't be checked' from Questionable verification from Z 'identificacion de Z...' En este caso, PGP no tiene la clave pblica de Y, y aunque tiene la de Z, el nivel de confianza asignado a la misma es "desconocido".
Distribucin de claves
Se puede dar el caso de que recibamos un documento avalado por PGP pero no tengamos la clave pblica necesaria para comprobarlo. Hay varios formas de conseguir una clave, y la mas sencilla es recurrir a un servidor de claves. Un servidor de claves esta basado en correo electrnico, y entiende comandos basado simples en la lnea "Subject:":
Subject: add Mensaje: claves publicas : Accin: el keyserver las incluir en su base de datos Subject: get Accin: nos devolver un mensaje con la clave correspondiente a la ide identificacin. Subject: mget Accin: nos devolver un mensaje con todas las claves cuya identificacin concuerde con esa expresin regular (*=todas las del servidor)
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Esto es un ejemplo, la sintaxis puede variar en otros servidores; en cualquier caso un mensaje con 'help' en el subject informara de los comandos existentes. Hay que tener en cuenta que cualquiera puede mandar claves a un keyserver, as que este no garantiza de por si su autenticidad (para eso esta el mecanismo de verificacin que las propias claves incluyen). El keyserver acta propias como base de datos, organizador y distribuidor, y al mismo tiempo intercambia claves con otros keyservers, de manera que la informacin de todos ellos sea coherente.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Seguridad Un buen sistema de cifrado pone toda la seguridad en la clave y ninguna en el algoritmo. En otras palabras, no debera ser de ninguna ayuda para un atacant atacante conocer el algoritmo que se est usando. Slo si el atacante obtuviera la clave, le usando. servira conocer el algoritmo. Los algoritmos de cifrado ampliamente utilizados tienen estas propiedades(por ejemplo: GnuPG en sistemas GNU). Dado que toda la seguridad est en la clave, es importante que sea muy difcil adivinar el tipo de clave. Esto quiere decir que el abanico de claves posibles, o sea, el espacio Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
de posibilidades de claves, debe ser amplio. Richard Feynman fue famoso en Los lamos por su habilidad para abrir cajas de seguridad; para alimentar la leyenda que haba en torno a l, llevaba encima un juego de herramientas que incluan un estetoscopio. En realidad, utilizaba una gran variedad de trucos para reducir a un . pequeo nmero la cantidad de combinaciones que deba probar, y a partir de ah simplemente probaba hasta que adivinaba la combinacin correcta. En otras palabras, reduca el tamao de posibilidades de claves. Actualmente, los ordenadores pueden descifrar claves con extrema rapidez, y sta es la razn por la cual el tamao de la clave es importante en los criptosistemas los modernos. El algoritmo de cifrado DES usa una clave de 56 bits, lo que significa que , hay 2 elevado a 56 claves posibles (72.057.594.037.927.936 claves). Esto representa un nmero muy alto de claves, pero un ordenador genrico puede comprobar el ordenador conjunto posible de claves en cuestin de das. Una mquina especializada puede hacerlo en horas. Algoritmos de cifrado de diseo ms reciente como 3DES, Blowfish e IDEA usan claves de 128 bits, lo que significa que existen 2 elevado a 128 claves posibles. Esto equivale a muchsimas ms claves, y aun en el caso de que todas las mquinas del planeta estuvieran cooperando, tardaran ms tiempo en encontrar la clave que la edad del universo. Ejemplos Como ejemplo de sistema simtrico est Enigma. ste fue un sistema empleado por . Alemania durante la Segunda Guerra Mundial, en el que las claves se distribuan a Mundial, diario en forma de libros de cdigos Cada da, un operador de radio receptor o cdigos. radio, transmisor, consultaba su copia del libro de cdigos para encontrar la clave del da. Todo el trfico enviado por ondas de radio durante aquel da era cifrado y descifrado usando las claves del da. Inglaterra us mquinas para descifrar las claves durante aquella guerra y aunque el citado sistema alemn, Enigma, estaba provisto de un amplio abanico de claves, los ingleses disearon mquinas de cmputo especializado, los Bombes, para comprobar , las claves de modo mecnico hasta que la clave del da era encontrada. Esto significaba que algunas veces encontraban la clave del da pocas horas despus de que sta fuera puesta en uso, pero tambin que otros das no podan encontrar la uso, clave correcta. Los Bombes no fueron mquinas de cmputo general, sino las precursoras de los ordenadores (computadoras) actuales. Algunos ejemplos de algoritmos simtricos son 3DES, AES, Blowfish e IDEA. Inconvenientes El principal problema con los sistemas de cifrado simtrico no est ligado a su seguridad, sino al intercambio de claves. Una vez que el remitente y el destinatario hayan intercambiado las claves pueden usarlas para comunicarse con seguridad, pero qu canal de comunicacin que sea seguro han usado para transmitirse las claves? al
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Sera mucho ms fcil para un atacante intentar interceptar una clave que probar las posibles combinaciones del espacio de claves. Otro problema es el nmero de claves que se necesitan. Si tenemos un nmero n de personas que necesitan comunicarse entre s, se necesitan n/2 claves para cada pareja de personas que tengan que comunicarse de modo privado. Esto puede funcionar con un grupo reducido de personas, pero sera imposible llevarlo a cabo con grupos ms grandes. A pesar de que los sistemas modernos de criptografa asimtrica son mucho ms seguros, los tradicionales se siguen utilizando como parte del proceso de codificacin. , La criptografa simtrica se refiere al conjunto de mtodos que permiten tener comunicacin segura entre las partes siempre y cuando anteriormente se hayan intercambiado la clave correspondiente que llamaremos clave simtrica. La simetra se ave refiere a que las partes tienen la misma llave tanto para cifrar como para descifrar. Este tipo de criptografa se conoce tambin como criptografa de clave privada o criptografa de llave privada. e
Existe una clasificacin de este tipo de criptografa en tres familias, la criptografa simtrica de bloques (block cipher), la criptografa simtrica de lluvia (stream cipher) y la criptografia simtrica de resumen (hash functions). Aunque co con ligeras modificaciones un sistema de criptografa simtrica de bloques puede modificarse para convertirse en alguna de las otras dos formas, sin embargo es importante verlas por separado dado que se usan en diferentes aplicaciones.
La criptografa simtrica ha sido la ms usada en toda la historia, sta ha podido ser rica implementada en diferente dispositivos, manuales, mecnicos, elctricos, hasta los algoritmos actuales que son programables en cualquier ordenador. La idea general es aplicar diferentes funciones al mensaje que se quiere cifrar de tal modo que solo iones conociendo una clave pueda aplicarse de forma inversa para poder as descifrar. Aunque no existe un tipo de diseo estndar, quiz el ms popular es el de Fiestel, que consiste esencialmente en aplicar un nmero finito de interacciones de cierta aplicar forma, que finalmente da como resultado el mensaje cifrado. Este es el caso del sistema criptogrfico simtrico ms conocido, DES. DES Es un sistema criptogrfico, que toma como entrada un bloque de 64 bits del mensaje y este se somete a 16 interacciones, una clave de 56 bits, en la prctica el bloque de la clave tiene 64 bits, ya que a cada conjunto de 7 bits se le agrega un bit que puede ser usado como de paridad.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
para poder implementarse: ECB (Electronic Codebook Mode) para mensajes cortos, de menos de 64 bits, CBC (Cipher Block Chaining Mode) para mensajes largos, CFB (Cipher Block Feedback) para cifrar bit por bit byte por byte y el OFB (Output Feedback Mode) el mismo uso pero evitando propagacin de error. En la actualidad no se ha podido romper el sistema DES desde la perspectiva de poder deducir la clave simtrica a partir de la informacin interceptada, sin embargo con un mtodo a fuerza bruta, es decir probando alrededor de 256 posibles claves, se pudo romper DES en Enero de 1999. Lo anterior quiere decir que, es posible obtener la clave del sistema DES en un tiempo relativamente corto, por lo que lo hace inseguro para propsitos de alta seguridad. La opcin que se ha tomado par a poder suplantar a para DES ha sido usar lo que se conoce como cifrado mltiple, es decir aplicar varias veces el mismo algoritmo para fortalecer la longitud de la clave, esto ha tomado la forma de un nuevo sistema de cifrado que se conoce actualmente como triple-DES o TDES. triple TDES El funcionamiento de TDES consiste en aplicar tres veces DES de la siguiente manera: la primera vez se usa una clave K1(azul) junto con el bloque B0, de forma ordinaria E (de encripcin), obteniendo el bloque B1. La segunda ves se tom a B1 toma con la clave K2 (roja), diferente a K1 de forma inversa, llamada D (de descencripcin) y la tercera vez a B2 con una clave K3 (verde) diferente a K1 y K2, de forma ordinaria E (de encripcin), es decir, aplica de la interaccin 1 a la 16 a B0 con la clave K1, despus aplica de la 16 a la 1, a B1 con la clave K2, finalmente aplica una vez ms de la 1 a la 16 a B2 usando la clave K3, obteniendo finalmente a B3. En cada una de estas tres veces aplica el modo de operacin ms adecuado. El proceso del cifrado con TDES se puede apreciar en las siguientes figuras: ifrado
Este sistema TDES usa entonces una clave de 168 bits, aunque se ha podido mostrar que los ataques actualmente pueden romper a TDES con una complejidad de 2112, es decir efectuar al menos 2112 operaciones para obtener la clave a fuerza bruta, adems peraciones de la memoria requerida. Se opt por TDES ya que es muy fcil Interoperar con DES y proporciona seguridad a mediano plazo.
En los ltimos 20 aos se han diseado una gran cantidad de sistemas criptog criptogrficos simtricos, entre algunos de ellos estn: RC 5, IDEA, FEAL, LOKI'91, DESX, Blowfish, RC-5,
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
CAST, GOST, etctera. Sin embargo no han tenido el alcance de DES, a pesar de que algunos de ellos tienen mejores propiedades.
Podemos afirmar que el estado actual de la criptografa simtrica es la bsqueda de actual un nuevo sistema que pueda reemplazar a DES en la mayor parte de aplicaciones. Es as como se ha optado por convocar a un concurso de sistemas criptogrficos simtricos y que se decida cual ser el nuevo estndar al menos para los prximos 20 estndar aos. AES El NIST (National Institute of Standards Technology) convoc a un concurso para poder tener un sistema simtrico que sea seguro y pueda usarse al menos en los prximos 20 aos como estndar. En la mitad del ao de 1998 se aceptaron 15 os candidatos, estos se han sometido a pruebas pblicas y por parte del NIST. Posteriormente se lleg a cinco finalistas: MARS, RC6, Rijndael, Serpent y Twofish. Las principales caractersticas que se pidi a AES es que al menos sea tan seguro y que rpido como TDES, es decir, que al menos evite los ataques conocidos. Adems de que pueda ser implementado en una gran parte de aplicaciones. AES puede ser usado tanto como cifrador de bloques (block cipher), como cifrador de lluvia (stream cipher), cipher), como funcin resumen (hash function), y como generador de nmeros pseudoaleatorios. El elegido en noviembre de 2000 por AES fue el propuesto por Rijndael Los cifradores Rijndael. de flujo o "stream ciphers", son usados donde se cuente con un ancho de banda restringido (el nmero de bits que se transmiten a la vez), adems de que se requiere independencia en los bloques transmitidos, entonces la mejor opcin es cifrar bit por s bit o byte por byte, este tipo de cifradores tiene la caracterstica adems de ser muy rpido. Los algoritmos ms conocidos de este tipo estn RC 4, SEAL y WAKE. RC-4, Entre los ataques ms potentes a la criptografa simtrica estn el criptoanlisis potentes diferencial y lineal, sin embargo no han podido ser muy eficientes en la prctica por lo tanto, por el momento despus de que un sistema criptografco es publicado y se muestra inmune a estos dos tipos de ataques (y algunos otros ms) la mayor tipos preocupacin es la longitud de las claves. Mtodo criptogrfico que usa una misma clave para cifrar y para descifrar mensajes. Las dos partes que se comunican han de ponerse de acuerdo de antemano sobre la clave a usar. Una vez ambas tienen acceso a esta clave, el remitente cifra un mensaje usndola, lo enva al destinatario, y ste lo descifra con la misma. natario, Un buen sistema de cifrado pone toda la seguridad en la clave y ninguna en el algoritmo. En otras palabras, no debera ser de ninguna ayuda para un atacante conocer el algoritmo que se est usando Slo si el atacante obtuviera la clave, le usando. cante
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
servira conocer el algoritmo. Los algoritmos de cifrado usados por ejemplo en el sistema GNU, GnuPG tienen estas propiedades. Dado que toda la seguridad est en la clave, es importante que sea muy difcil adivinar el tipo de clave. Esto quiere decir que el abanico de claves posibles, o sea, el espacio de posibilidades de claves, debe ser amplio. Richard Feynman fue famoso en Los lamos por su habilidad para abrir cajas de seguridad. Para alimentar la leyenda que alimentar haba en torno a l, llevaba encima un juego de herramientas que incluan un estetoscopio. En realidad, utilizaba una gran variedad de trucos para reducir a un . pequeo nmero la cantidad de combinaciones que deba probar, y a partir de ah simplemente probaba hasta que adivinaba la combinacin correcta. En otras palabras, reduca el tamao de posibilidades de claves.
Hoy por hoy, los ordenadores pueden adivinar claves con extrema rapidez, y sta es la adivinar razn por la cual el tamao de la clave es importante en los criptosistemas modernos. El algoritmo de cifrado DES usa una clave de 56 bits, lo que significa que hay 2 , elevado a 56 claves posibles. 2 elevado a 56 son 72.057.594.037.927.936 claves. Esto representa un nmero muy alto de claves, pero una mquina computadora de uso general puede comprobar todo el espacio posible de claves en cuestin de das. Un cuestin mquina especializada lo puede hacer en horas. Por otra parte, algoritmos de cifrado de diseo ms reciente como 3DES, Blowfish e IDEA usan todos clave de 128 bits, lo claves que significa que existen 2 elevado a 128 claves posibles. Esto representa muchas, muchsimas ms claves, y aun en el caso de que todas las mquinas del planeta estuvieran cooperando, todava tardaran ms tiempo que la misma edad del uni universo en encontrar la clave. La criptografa simtrica se refiere al conjunto de mtodos que permiten tener comunicacin segura entre las partes siempre y cuando anteriormente se hayan intercambiado la clave correspondiente que llamaremos clave simtrica. La simetra se refiere a que las partes tienen la misma llave tanto para cifrar como para descifrar.
Este tipo de criptografa se conoce tambin como criptografa de clave privada o criptografa de llave privada. Existe una clasificacin de este tipo de criptografa en tres familias, la criptografa simtrica de bloques (block cipher), la criptografa simtrica de lluvia (stream cipher) y la criptografia simtrica de resumen (hash functions). Aunque con ligeras modificaciones un sistema de criptografa simtrica de bloques puede modificarse para criptografa convertirse en alguna de las otras dos formas, sin embargo es importante verlas por separado dado que se usan en diferentes aplicaciones. La criptografa simtrica ha sido la ms usada en toda la historia, sta a podido ser toria, implementada en diferente dispositivos, manuales, mecnicos, elctricos, hasta los algoritmos actuales que son programables en cualquier computadora. La idea general es aplicar diferentes funciones al mensaje que se quiere cifrar de tal modo que solo de conociendo una clave pueda aplicarse de forma inversa para poder as descifrar.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Aunque no existe un tipo de diseo estndar, quiz el ms popular es el de Fiestel, que consiste esencialmente en aplicar un nmero finito de interacci interacciones de cierta forma, que finalmente da como resultado el mensaje cifrado. Este es el caso del sistema criptogrfico simtrico ms conocido, DES.
Supongamos que una organizacin se dedica a firmar claves de usuarios, garantizando que estas son autenticas. Eso es lo que se conoce como una "autoridad de certificacin" (CA), sus funciones van mas all que las del simple servidor de claves, que no deja de ser un servicio pasivo. Las CA se organizan jerrquicamente, y aunque en principio pueden asumir cualquier sistema basado en la criptografia de e clave pblica, su mayor utilidad es para aquellos que al contrario que PGP no incluyen un mecanismo interno de certificacin de claves. El establecimiento de CA normalmente no parte de iniciativas individuales, sino que se realiza de forma e coordinada con otras CA ya existentes, integrndose en la jerarqua.
La criptografa asimtrica es el mtodo criptogrfico que usa un par de claves para el envo de mensajes. Las dos claves pertenecen a la misma persona a la que se ha enviado el mensaje. Una clave es pblica y se puede entregar a cualquier persona, la otra clave es privada y el propietario debe g guardarla de modo que nadie tenga acceso a ella. Adems, los mtodos criptogrficos
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
garantizan que esa pareja de claves slo se puede generar una vez, de modo que se puede asumir que no es posible que dos personas hayan obtenido casualmente la misma pareja de claves. Si el remitente usa la clave pblica del destinatario para cifrar el mensaje, una vez cifrado, slo la clave privada del destinatario podr descifrar este mensaje, ya que es el nico que la conoce. Por tanto se logra la confidencialidad del envo del mensaje, nadie salvo el destinatario puede descifrarlo. o Si el propietario del par de claves usa su clave privada para cifrar el mensaje, cualquiera puede descifrarlo utilizando su clave pblica. En este caso se consigue por tanto la identificacin y autentificacin del remitente, ya que se sabe que slo pudo haber sido l quien emple su clave privada (salvo que alguien se la hubiese podido robar). Esta idea es el fundamento de la firma electrnica.
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.
Novtica, Novtica revista fundada en 1975 y decana de la prensa informtica espaola, es el rgano oficial de expresin y formacin continua de ATI (Asociacin de Tcnicos de Informtica). Novtica edita tambin Upgrade, Upgrade revista digital de CEPIS (Council of European Professional Informatics Societies), en lengua inglesa, y es miembro fundador de UPENET (UPGRADE European NETwork)
<http://www.ati.es/novatica/> <http://www.upgrade-cepis.org/> ATI es miembro fundador de CEPIS (Council of European Professional Informatics Societies) y es representante de Espaa en IFIP ( (International Federation for Information Processing); tiene un acuerdo de colaboracin con ACM (Association for Computing Machinery), as como acuerdos de vinculacin o colaboracin con AdaSpain AI2 y ASTIC. AdaSpain, CONSEJO EDITORIAL
Antoni Carbonell Nogueras, Juan Manuel Cueva Lovelle, Juan Antonio Esteban Iriarte,Jos Javier Larraeta Ibez, Francisco Lpez Crespo, Julin Marcelo Cocho, Celestino Martn Alonso, Josep Molas i Bertrn, Olga Palls Codina, Fernando Piera Gmez (Presidente del Consejo), Ramn Puigjaner Trepat, Moiss Robles Giner, Miquel Srries Gri, Asuncin Yturbe Herranz
Coordinacin Editorial Rafael Fernndez Calvo <rfcalvo@ati.es> Composicin y autoedicin Jorge Llcer Traducciones Grupo de Lengua e Informtica de ATI <http://www.ati.es/gt/lengua-informatica/> Administracin Toms Brunete, Mara Jos Fernndez, Enric Camarero, Felicidad Lpez
sumario
> 02
en resumen
> 05
monografa
Criptografa - Una tecnologa clave (En colaboracin con Upgrade Upgrade) Editores invitados: Arturo Ribagorda Garnacho, Javier Areitio Bertoln, Jacques Stern Presentacin Criptografa: la clave de la seguridad de la informacin en el siglo XXI Arturo Ribagorda Garnacho, Javier Areitio Bertoln, Jacques Stern Una breve panormica de la Criptografa Arturo Ribagorda Garnacho, Javier Areitio Bertoln Un Canal de Comunicaciones Annimo Joan Mir Rubio, Joan Borrell Viader, Vanesa Daza Fernndez Aplicacin del Doble Cifrado a la Custodia de Claves Mnica Breitman Mansilla, Carlos Gete Alonso, Paz Morillo Bosch, Jorge L. Villar Santos Reconstruccin de la secuencia de control en Generadores con Desplazamiento Irregular Slobodan Petrovic, Amparo Fster Sabater Cifrado de imgenes usando Autmatas Celulares con Memoria Luis Hernndez Encinas, Ascensin Hernndez Encinas, Sara Hoya White, ngel Martn del Rey, Gerardo Rodrguez Snchez Aplicaciones de la Criptografa de Curva Elptica Mara de Miguel de Santos, Carmen Snchez vila, Ral Snchez Reillo Hacia una herramienta de formacin por ordenador para la enseanza de la Criptografa Vasilios Katos, Terry King, Carl Adams Anlisis cientfico del Ciberterrorismo Ivo Desmedt
secciones tcnicas
Gestin del Conocimiento Libertades e informtica
Gestin del conocimiento 'informal' basada en redes P2P Alfredo Picn Cabezudo, Teodoro Mayo Muiz, Alonso lvarez Garca Las herramientas prohibidas: tratamiento de los Ciberdelitos en la Ley Orgnica 15/2003, de modificacin del Cdigo Penal Carlos Snchez Almeida > 38
> 44
SRMSH: un mecanismo multinivel de control de la congestin con deteccin y recuperacin de prdidas Oscar Martnez Bonastre, Carlos Palau Salvador
Seguridad
Firmas y documentos electrnicos: que viene el lobo! Petr vda, Vclav Maty Jr.
Tecnologa de Objetos
Las opiniones expresadas por los autores son responsabilidad exclusiva de losmismos. Novtica permite la reproduccin de todos los artculos, a menos que lo impida la modalidad de o copyright elegida por el autor, debindose en todo caso citar su procedencia; se ruega enviar a Novtica un ejemplar de la publicacin.
Coordinacin Editorial, Redaccin Central y Redaccin ATI Madrid Padilla 66, 3, dcha., 28006 Madrid Tlfn.914029391; fax.913093685 <novatica@ati.es> Composicin, Edicin y Redaccin ATI Valencia Av. del Reino de Valencia 23, 46005 Valencia Tlfn./fax 963330392 <secreval@ati.es> Administracin y Redaccin ATI Catalua Via Laietana 41, 1, 1, 08003 Barcelona Tlfn.934125235; fax 934127713 <secregen@ati.es> Redaccin ATI Andaluca Isaac Newton, s/n, Ed. Sadiel, Isla Cartuja 41092 Sevilla, Tlfn./fax 954460779 <secreand@ati.es> Redaccin ATI Aragn Lagasca 9, 3-B, 50006 Zaragoza. Tlfn./fax 976235181 <secreara@ati.es> Redaccin ATI Asturias-Cantabria <gp-astucant@ati.es> Redaccin ATI Castilla-La Mancha <gp-clmancha@ati.es> Redaccin ATI Galicia Recinto Ferial s/n, 36540 Silleda (Pontevedra) Tlfn.986581413; fax 986580162 <secregal@ati.es> Suscripcin y Ventas <http://www.ati.es/novatica/interes.html>,o en ATI Catalua o ATI Madrid Publicidad Padilla 66, 3, dcha., 28006 Madrid Tlnf.914029391; fax.913093685 <novatica.publicidad@ati.es> Derra S.A., Juan de Austria 66, 08005 Barcelona.
La documentacin de frameworks frente a las dificultades de sus usuarios Guillermo Jimnez Daz, Mercedes Gmez Albarrn Referencias autorizadas
sociedad de la informacin
Breve historia de la prensa espaola especializada en Tecnologas de la Informacin Alfonso Gonzlez Quesada > 70
asuntos interiores
Imprenta
Coordinacin editorial - F de erratas / Programacin de Novtica Normas de publicacin para autores / Socios Institucionales
Monografa del prximo nmero: "XML"
> 76 > 77
Depsito legal: B 15.154-1975 -- ISSN: 0211-2124; CODEN NOVAEC Portada: Antonio Crespo Foix / ATI 2004 Diseo: Fernando Agresta / ATI 2004
<arturo@inf.uc3m.es>, <jareitio@eside.deusto.es>
1. Concepto y evolucin Acciones tan cotidianas hoy en da como efectuar una llamada telefnica desde un mvil, realizar una operacin con una tarjeta de crdito o dbito, conectarse a un servidor seguro u otras muchas, conllevan el concurso de tcnicas criptogrficas, que transforman los datos para ocultar su significado e imposibilitar su alteracin fraudulenta. Ello no obstante, la criptografa (del griego kriptos, oculto, y grafos , escritura), era hasta hace bien poco --no ms de treinta aos-- objeto de inters slo en reducidos crculos --aureolados de misterio-- como la inteligencia o la diplomacia. La razn de este sbito y generalizado inters se encuentra en la importancia adquirida en nuestros das por la informacin, que se ha convertido en el centro y motor del mundo en que vivimos. No puede por tanto extraar que la seguridad --y su principal soporte: la criptografa-- haya devenido en un tema de capital importancia para nuestras sociedades. En una primera aproximacin, la criptografa se puede definir como la disciplina que estudia los principios, mtodos y medios de transformar los datos para ocultar su significado. As pues, segn esta aproximacin, es una disciplina cuyo fin ltimo es garantizar la confidencialidad de la informacin. Al proceso consistente en encubrir la informacin (que requiere del conocimiento de una informacin secreta denominada clave de cifrado) se le denomina cifrado conocincifrado, dose como descifrado al proceso inverso (que igualmente precisa del conocimiento de una clave de descifrado, igual o distinta de la anterior). As, los primeros ejemplos ampliamente documentados de mtodos criptogrficos (procedentes de la Grecia y Roma Clsicas, aunque hay espordicos ejemplos de usos aun anteriores [1]) tenan dicho objetivo. Todava a da de hoy solemos ilustrar los mtodos criptogrficos con el llamado cifrado Csar --nombrado as en honor de Julio Csar, primero en utilizarlo durante el siglo I aC-, consistente en una sustitucin cclica de cada letra del alfabeto por aquella situada tres posiciones despus de ella. Sin embargo, en nuestros das las aplicaciones de la criptografa se han ampliado noto8
Resumen: en este artculo se describen brevemente la historia y las caractersticas de la criptografa, disciplina cuyo fin ltimo es garantizar la confidencialidad de la informacin, y que se ha convertido en una herramienta decisiva para garantizar la seguridad de la informacin en nuestras sociedades tecnificadas. Palabras clave: confianza, criptografa, seguridad, informacin. Autores Arturo Ribagorda Garnacho es Ingeniero de Telecomunicacin por la Universidad Politcnica de Madrid y Doctor en Informtica por la misma Universidad. Es Catedrtico de Universidad y Director del Depto. de Informtica de la Universidad Carlos III de Madrid, de cuya Escuela Politcnica Superior ha sido director. Su actividad acadmica se centra en la Seguridad de las Tecnologas de la Informacin, campo en el que participa en diversos proyectos de investigacin nacionales y europeos, ha publicado ms de 100 artculos en revistas nacionales e internacionales, y presentado numerosas ponencias en congresos. Asimismo es autor de cuatro libros sobre la citada materia. Javier Areitio Bertoln es Doctor en Fsica Aplicada por la Universidad del Pas Vasco. Es Catedrtico del Departamento de Telecomunicaciones de la Facultad de Ingeniera de la Universidad de Deusto (Bilbao), siendo Director del Grupo de Investigacin Redes y Sistemas. Es Miembro de CORDIS (Community Research and Development Information Service, European Commission). Ha sido Coordinador Tcnico del Proyecto COMMETT Information and Computer Security ICS/EU y Tutor para la AECI (Agencia Espaola de Cooperacin Internacional). Su principal campo de investigacin es la Seguridad-Criptografa aplicada a las Tecnologas de la Informacin y las Comunicaciones, un campo donde ha trabajado en numerosos proyectos de investigacin nacionales e internacionales. Es ponente, moderador y evaluador habitual de Congresos, Seminarios y Symposium y es autor de numerosos artculos cientficos en revistas tcnicas. Es autor de varios libros tcnicos sobre Seguridad en Redes de Computadoras, Criptografa y Criptoanlisis. Actualmente coordina algunos proyectos aplicados en colaboracin con varias empresas espaolas y universidades europeas. Es miembro de diversas asociaciones espaolas e internacionales, por ejemplo ATI, donde es coordinador de la Seccin Tcnica "Seguridad" de su revista Novtica. riamente, proporcionando tambin pruebas de integridad, autenticacin y no repudio [2]. Por ello, en el presente, se puede definir con ms precisin como la materia estudia los principios, mtodos y medios de transformar los datos para ocultar la informacin contenida en ellos, garantizar su integridad, establecer su autenticidad y prevenir su repudio. Por otra parte, la disciplina contraria, es decir aquella que investiga los mtodos de descubrir informaciones cifradas sin el conocimiento de la clave de descifrado se denomina criptoanlisis. criptoanlisis Finalmente, el estudio de ambas --criptografa y criptoanlisis-- constituye el objetivo de la rama de saber denominada criptologa. 2. Los sistemas criptogrficos En la actualidad, los sistemas criptogrficos o criptosistemas son muy complejos y comportan, en el extremo emisor, el empleo de un dispositivo criptogrfico, o cifrador, hardware o software (en esencia un algoritmo matemtico extraordinariamente complejo) que, con ayuda de una clave de cifrado, kE, transforma un texto --llamado "en claro"-- en otro ininteligible denominado texto cifrado. En el extremo receptor un descifrador, con el auxilio de una clave de descifrado, kD, invierte el proceso anterior obteniendo nuevamente el texto en claro a partir del criptograma (figura 1 Eventualfigura 1). mente, el cifrador incorpora un generador de claves, as como el criptosistema incluye un protocolo de intercambio de stas. Evidentemente, la transformacin de cifrado debe ser computacionalmente irreversible, a no ser que se posea una informacin adicional: la clave de descifrado descifrado. Cabe destacar que desde tiempo inmemorial los sistemas empleados han venido usando iguales claves de cifrado que de descifrado (o bien, de ser distintas, del conocimiento de una se poda deducir la otra), por lo que su invulnerabilidad dependa, en primera instancia, del mantenimiento en secreto de dimonografa
cha clave. Consiguientemente, sta deba transferirse del emisor al receptor a travs de un canal seguro, obviamente diferente del canal del criptosistema, que por hiptesis se supona amenazado por posibles interceptadores. Estos criptosistemas clsicos son los conocidos como de clave secreta o simtricos simtricos. Adems de la ventaja que les reporta su simetra, que conlleva que los papeles del emisor y receptor sean fcilmente reversibles, tambin aportan al receptor la garanta de que el emisor es quien dice ser y no un impostor. No obstante, presentan la importante desventaja de exigir un canal seguro para distribuir las claves, canal evidentemente distinto de aqul por el que transita el texto cifrado. Son muy numerosos los ejemplos de algoritmos de cifrado de este tipo, sobresaliendo el DEA (base del antiguo estndar federal estadounidense de cifrado DES, Data Encryption Standard), el IDEA (International Data Encryption Standard), el A-5 (empleado en la telefona mvil celular GSM), la familia RC-X (con X= 2, 4, 5, 6) y, muy recientemente el AEA (Advanced Encryption Algorithm), base del estndar federal estadounidense AES (Advanced Encryption Standard). Sin embargo en 1976 Diffie y Hellman [3] demostraron la posibilidad de construir criptosistemas que no precisaban transferir una clave secreta entre el emisor y el receptor, previamente al establecimiento de una transmisin cifrada. En estos criptosistemas aqul que desee recibir textos cifrados hace de general conocimiento su clave de cifrado, denominada por este motivo pblica (en lo que sigue ku). Por el contrario, mantiene a buen recaudo la correspondiente clave de descifrado, denominada privada (en adelante kv), de modo que slo l la conozca. Obviamente ambas claves no son independientes, pero del conocimiento de la pblica no se infiere la privada, salvo que se disponga de innumerables recursos o de tiempo ilimitado. As, con estos criptosistemas cuando un emisor, A, necesite remitir una informacin cifrada a B, cifra las misma con la clave pblica de este ltimo. Cuando B recibe esta
monografa
informacin slo tiene que descifrarla con su clave privada. De este modo, aunque alguien intercepte la informacin no podr descifrarla al no disponer de la clave privada, ni poderla obtener a partir de la pblica. Naturalmente, si B desea contestar a A deber cifrar la respuesta con la clave pblica de A, descifrndola ste con su privada. Estos criptosistemas, denominados de clave pblica (pues la de cifrado debe ser de universal conocimiento) o asimtricos (por la asimetra expuesta en la manera de cifrar segn que sea A el emisor o el receptor), soslayan la desventaja inherente a los simtricos --la construccin o hallazgo de un canal seguro--, pues ahora la clave de cifrado, clave pblica, puede ser conocida universalmente. Empero, por ser mucho ms lentos que los de clave secreta de similar robustez, se emplean exclusivamente para cifrar informaciones de exiguo volumen, como claves secretas, o bien para firmar digitalmente el resumen --de pequeo tamao-- de un documento (lo que se denomina firma digital del documento). En la prctica cotidiana, el nico algoritmo de clave pblica empleado para cifrar, no as para firmar, es el RSA, ideado por los criptgrafos estadounidenses Rivest, Shamir y Adlemann, y cuyas iniciales constituyen su sigla en 1997 [4]. 3. Conclusin En resumen, el milenario arte de la criptografa se ha convertido en una disciplina cientfica y tcnica de capital importancia para el desarrollo de las sociedades, a las que suministra garantas de confidencialidad e integridad de las informaciones, proporciona pruebas de la autenticacin de los intervinientes en una comunicacin y evita que ninguno de ellos pueda repudiar haber participado en la misma. En resumen, nos da la seguridad y confianza que todos requerimos para adentrarnos en esta nueva era de la informacin.
Referencias
[1] David Kahn. The Codebreakers: The Story Of Secret Writing. MacMillan, 1967 [2] Gustavus J. Simmons. Contemporary Cryptology : The Science of Information Integrity. Wiley-IEEE Computer Society Pr, 27 January, 1999. [3] Whitfield Diffie, Martin E. Hellman. "New Directions in Cryptography", IEEE Transactions in Information Theory, vol. IT-22, pp. 664-654. Noviembre de 1976 [4] R. L. Rivest, A. Shamir, L. Adleman. A Method for Obtaining Digital Signature and Public-Key cryptosystems". Communications of the ACM, vol. 21, n 2, pp. 120-126. Febrero de 1978.
REDES DE ORDENADORES
13/11/2005
Pgina: 1
INDICE
1. INTRODUCCIN ..................................................................................................................................................... 4 1.1 1.2 1.3 1.4 2. MECANISMOS DE OCULTACIN DE MENSAJES.......................................................................................................... 4 MECANISMOS BSICOS DE ENCRIPTACIN .............................................................................................................. 5 ESTRATEGIAS DE SUSTITUCIN .............................................................................................................................. 5 PERIODOS HISTRICOS DE LA CRIPTOGRAFA .......................................................................................................... 6
CONCEPTOS DE CRIPTOGRAFA ....................................................................................................................... 6 2.1 2.2 2.3 2.4 CRIPTOSISTEMA ................................................................................................................................................... 6 ADECUACIN DE UN CRIPTOSISTEMA ..................................................................................................................... 7 CRIPTOANLISIS ................................................................................................................................................... 7 FUENTES DE INFORMACIN DEL CRIPTOANALISTA................................................................................................... 8
3.
CONCEPTOS DE GESTIN DE CLAVES............................................................................................................. 8 3.1 GESTIN DE CLAVES ............................................................................................................................................. 8 3.2 DEFINICIONES ...................................................................................................................................................... 8 3.2.1 Relacin de claves .......................................................................................................................................... 9 3.2.2 Gestin de claves ............................................................................................................................................ 9 3.2.3 Criptoperiodo ................................................................................................................................................. 9 3.2.4 Tipos de claves................................................................................................................................................ 9 3.3 CLASIFICACIN DE LOS CRIPTOSISTEMAS EN FUNCIN DE LA CLAVE ......................................................................... 9 3.3.1 Criptosistemas de clave privada...................................................................................................................... 9 3.3.2 Criptosistemas de clave pblica ...................................................................................................................... 9
4.
SISTEMAS CRIPTOGRFICOS CLSICOS ...................................................................................................... 10 4.1 PROBLEMAS EN LA CRIPTOGRAFA CLSICA .......................................................................................................... 10 4.2 SISTEMA MONOALFABTICOS .............................................................................................................................. 10 4.2.1 El sistema Cesar ........................................................................................................................................... 10 4.3 SISTEMAS POLIALFABTICOS ............................................................................................................................... 11 4.3.1 El criptosistema de Vignere......................................................................................................................... 11 4.3.2 Extensin del sistema polialfabtico - Vernam .............................................................................................. 12 4.4 MECANISMOS GENERALES DE CIFRADO ................................................................................................................ 12 4.4.1 Cifrador flujo................................................................................................................................................ 12 4.4.2 Cifrador de bloque........................................................................................................................................ 12 4.4.3 Cifrador Enigma ........................................................................................................................................... 13 4.5 ENCRIPTADO DIGITAL - DES ............................................................................................................................... 13 4.6 CIFRADO IDEA (INTERNATIONAL DATA ENCRYPTION ALGORITHM)..................................................................... 15
5.
CRIPTOSISTEMAS DE CLAVE PBLICA ......................................................................................................... 16 5.1 5.2 5.3 5.4 ALGORITMO DE DIFFIE-HELLMAN ....................................................................................................................... 16 EL CRIPTOSISTEMA RSA ..................................................................................................................................... 17 EL CRIPTOSISTEMA DE ELGAMAL ........................................................................................................................ 18 OTROS ALGORITMOS ASIMTRICOS ...................................................................................................................... 19
6.
CRIPTOGRAFA CUANTICA............................................................................................................................... 19 6.1 6.2 6.3 PRINCIPIOS ......................................................................................................................................................... 19 INTERCAMBIO DE CLAVES ................................................................................................................................... 19 PROTOCOLOS DE RECUPERACIN DE ERRORES ...................................................................................................... 20
7.
13/11/2005
13/11/2005
Pgina: 3
1. INTRODUCCIN
Este tema es una breve introduccin a las tcnicas de ocultacin o preservacin de la informacin en su intercambio a travs de redes de ordenadores. En el mundo real, hay mecanismos fsicos para mantener la informacin alejada de intrusos [D2]. Lamentablemente, en cuanto interviene cualquier sistema de comunicacin y en particular en una red de ordenadores, no disponemos de ninguna medida similar. La principal forma de proteccin va a venir de la mano de la criptografa. Aunque el objetivo original de la criptografa era mantener en secreto un mensaje, en la actualidad se persiguen mediante el uso de la criptografa varios objetivos: ? La privacidad o confidencialidad de los datos ? Garantizar la autenticacin de los mismos (el emisor del mensaje es quien dice ser, y no otro). ? Garantizar su integridad (el mensaje que leemos es el mismo que nos enviaron) ? Garantizar su no repudio (el emisor no puede negar el haber enviado el mensaje) . Aqu intentaremos dar unas bases mnimas sobre trminos, algoritmos y funciones utilizadas en ese tipo de aplicaciones.
13/11/2005
Pgina: 5
2. CONCEPTOS DE CRIPTOGRAFA
A continuacin se van a exponer una serie de definiciones para formalizar el concepto de criptografa.
2.1 Criptosistema
Matemticamente, podemos definir un criptosistema como una cuaterna de elementos A;K; E;D formada por: ? Un conjunto finito llamado alfabeto, A, a partir del cual, y utilizando ciertas normas sintcticas y semnticas, podremos emitir un mensaje en claro (plain text) u obtener el texto en claro correspondiente a un mensaje cifrado (cipher text). Frecuentemente, este alfabeto es el conjunto de los enteros mdulo q, Zq, para un q ? N dado . ? Otro conjunto finito denominado espacio de claves, K, formado por todas las posibles claves, tanto de cifrado como de descifrado, del criptosistema . ? Una familia de aplicaciones del alfabeto en s mismo, E : A ? A, llamadas transformaciones de cifrado. El proceso de cifrado se suele representar como E(k,a)=c, donde k ? K, a ? A y c ? A . ? Otra familia de aplicaciones del alfabeto en s mismo, D : A ? A, llamadas transformaciones de descifrado. Anlogamente al proceso de cifrado, el de descifrado se representa como D(k0; c) = m, donde k0 ? K, c ? A ym? A. Muchos autores dividen a su vez un miembro de esta cuaterna, el alfabeto, en dos espacios diferentes: el espacio de mensajes, M, formado por los textos en claro que se pueden formar con el alfabeto, y el espacio de cifrados, C, formado por todos los posibles criptogramas que el cifrador es capaz de producir. Sin embargo, lo habitual es que tanto el texto en claro como el cifrado pertenecezcan al alfabeto.
El elemento ms importante de todo el criptosistema es el cifrador, que ha de utilizar el algoritmo de cifrado para convertir el texto claro en un criptograma. Usualmente, para hacer esto, el cifrador depende de un parmetro exterior, llamado clave de cifrado (o de descifrado, si hablamos del descifrador) que es aplicado a una funcin
13/11/2005 Pgina: 6
2.3 Criptoanlisis
El criptoanlisis es la ciencia complementaria a la criptografa, ya que si sta trata principalmente de crear y analizar criptosistemas seguros, la primera intenta romper esos sistemas, demostrando su vulnerabilidad; es decir, trata de descifrar los criptogramas. Descifrar es conseguir el texto en claro a partir de un criptograma. En el anlisis para establecer las posibles debilidades de un sistema de cifrado, se han de asumir las denominadas condiciones del peor caso: ? ? El criptoanalista tiene acceso completo al algoritmo de encriptacin, El criptoanalista tiene una cantidad considerable de texto cifrado
? El criptoanalista conoce el texto en claro de parte de ese texto cifrado. Tambin se asume generalmente el Principio de Kerckhoffs, que establece que la seguridad del cifrado ha de residir exclusivamente en el secreto de la clave, y no en el mecanismo de cifrado. Aunque para validar la robustez de un criptosistema normalmente se suponen todas las condiciones del peor caso, existen ataques ms especficos, en los que no se cumplen todas estas condiciones: ? Cuando el mtodo de ataque consiste simplemente en probar todas y cada una de las posibles claves del espacio de claves hasta encontrar la correcta, nos encontramos ante un ataque de fuerza bruta o ataque exhaustivo. ? Si el atacante conoce el algoritmo de cifrado y slo tiene acceso al criptograma, se plantea un ataque slo al criptograma. ? Un caso ms favorable para el criptoanalista se produce cuando el ataque cumple todas las condiciones del peor caso; en este caso, el criptoanlisis se denomina de texto en claro conocido. ? Si adems el atacante puede cifrar una cantidad indeterminada de texto en claro al ataque se le denomina de texto en claro escogido; este es el caso habitual de los ataques contra el sistema de verificacin de usuarios utilizado por Unix, donde un intruso consigue la tabla de contraseas (generalmente /etc/passwd) y se limita a realizar cifrados de textos en claro de su eleccin y a comparar los resultados con las claves cifradas (a este ataque tambin se le llama de diccionario, debido a que el atacante suele utilizar un fichero diccionario con los textos en claro que va a utilizar). ? El caso ms favorable para un analista se produce cuando puede obtener el texto en claro correspondiente a criptogramas de su eleccin; en este caso el ataque se denomina de texto cifrado escogido. Cualquier algoritmo de cifrado, para ser considerado seguro, ha de soportar todos estos ataques y otros no citados; sin embargo, en la criptografa, como en cualquier aspecto de la seguridad, no debemos olvidar un factor muy importante: las personas. El sistema ms robusto caer fcilmente si se tortura al emisor o al receptor hasta que desvelen el contenido del mensaje, o si se le ofrece a uno de ellos una gran cantidad de dinero; este tipo de ataques (sobornos, amenazas, extorsin, tortura... ) se consideran siempre los ms efectivos .
13/11/2005
Pgina: 7
3.2 Definiciones
Ante estos problemas surgen las siguientes definiciones:
13/11/2005
Pgina: 8
La clave del sistema de cifrado de Vigenere es una palabra de k letras, k>=1 siempre, del alfabeto Z26 utilizado anteriormente. Esta palabra es un elemento del producto cartesiano Z26xZ26x...xZ26 (k veces), que es justamente el alfabeto del Criptosistema de Vigen`ere. De esta forma, el mensaje a cifrar en texto claro ha de descomponerse en bloques de k elementos -letras- y aplicar sucesivamente la clave empleada a cada uno de estos bloques, utilizando la tabla anteriormente proporcionada . Veamos un sencillo ejemplo: queremos codificar la frase La abrumadora soledad del programador
13/11/2005
Pgina: 11
Por ejemplo, la primera a del texto cifrado corresponde a la entrada (l,p), o, equivalentemente, (p,l) de la tabla de Vigenre. Este mtodo de cifrado polialfabtico se consideraba invulnerable hasta que en el S.XIX se consiguieron descifrar algunos mensajes codificados con este sistema, mediante el estudio de la repeticin de bloques de letras: la distancia entre un bloque y su repeticin suele ser mltiplo de la palabra tomada como clave. Anlisis por sistema de frecuencias pero considerando tantos mensajes como la longitud de la clave. 4.3.2 Extensin del sistema polialfabtico - Vernam Una mejora sobre el cifrado de Vigenre fu introducida por el sistema de Vernam, utilizando una clave aleatoria de longitud k igual a la del mensaje. La confianza en este nuevo criptosistema hizo que se utilizase en las comunicaciones confidenciales entre la Casa Blanca y el Kremlin, hasta, por lo menos, el ao 1987. En principio es indestructible, pero tiene el gran inconveniente de la generacin y distribucin de claves.
13/11/2005
Pgina: 12
La primera etapa es una transposicin, una permutacin inicial (IP) del texto plano de 64 bits, independientemente de la clave. La ltima etapa es otra transposicin (IP-1), exactamente la inversa de la primera. La penltima etapa intercambia los 32 bits de la izquierda y los 32 de la derecha. Las 16 etapas restantes son una Red de Feistel de 16 rondas. En cada una de las 16 iteraciones se emplea un valor, Ki, obtenido a partir de la clave de 56 bits y distinto en cada iteracin segn el siguiente esquema:
13/11/2005
Pgina: 13
Se realiza una permutacin inicial (PC-1) sobre la clave, y luego la clave obtenida se divide en dos mitades de 28 bits, cada una de las cuales se rota a izquierda un nmero de bits determinado que no siempre es el mismo. Ki se deriva de la eleccin permutada (PC-2) de 48 de los 56 bits de estas dos mitades rotadas. La funcin f de la red de Feistel se compone de una permutacin de expansin (E), que convierte el bloque correspondiente de 32 bits en uno de 48. Despus realiza una or-exclusiva con el valor Ki, tambin de 48 bits, aplica ocho S-Cajas de 6*4 bits, y efecta una nueva permutacin (P). Las S-Cajas toman los 48 bits de entrada y los dividen en 8 grupos de 6 bits denominados B(j) j= 0 a 7. Para cada B(j) se ejecuta el siguiente algoritmo: ? Tomar los bits 1 y 6 de B(j) y formar un nmero de 2 bits que llamaremos m. Este valor nos indicar la fila en la tabla de sustitucin correspondiente S(j). Obsrvese que m=0 representa la 1 fila y m=3 la ltima. ? Con los bits 2 a 5 de B(j) formar otro nmero, n, de cuatro bits que indicar la columna de S(j) en la que buscar el valor de sustitucin. En esta ocasin n=0 representa la 1 columna y n=15 la ltima columna. ? Reemplazar B(j) con S(j)(m,n), m fila y n columna. Ejemplo de entrada S(1) es el siguiente:
13/11/2005
Pgina: 14
La S-sustitucin divide en bloques de 6 bits (bloque-S, con un rango 0...63), cada uno de los cuales se somete a una sustitucin en un bloque de 4 bits (rango 0...15). Estas claves internas que se utilizan en un orden para cifrar texto (llamemoslas K1, K2,...,K16) se utilizan en el orden inverso (K16,..., K1) para descifrarlo. Aunque no ha sido posible demostrar rigurosamente la debilidad del criptosistema DES, y actualmente es el ms utilizado en el mundo entero, parece claro que con las actuales computadoras y su elevada potencia de clculo, una clave de 56 bits (en la que recordemos, reside toda la seguridad del DES) es fcilmente vulnerable frente a un ataque exhaustivo en el que se prueben combinaciones de esos 56 bits. Hay que resaltar que el tamao inicial de la clave, en el diseo de IBM, era de 128 bits; la razn de la disminucin no se ha hecho pblica hasta el momento. Por si esto fuera poco, otro factor que ha aumentado las controversias y discusiones acerca de la seguridad de DES son dos propiedades del algoritmo: la propiedad de complementacin, que reduce el tiempo necesario para un ataque exhaustivo, y la propiedad de las claves dbiles, dada cuando el proceso de cifrado es idntico al de descifrado (K1=K16, K2=K15,..., K8=K9), que sucede con cuatro claves del criptosistema. Otro secreto de IBM (a instancias de la NSA) es la eleccin y diseo de las cajas que DES utiliza para el cifrado. No se puede evitar el pensar que el gobierno estadounidense precise un criptosistema con la robustez necesaria para que nadie, excepto ellos, pueda descifrarlo .
K2
K3
K4
# Iteracin 1 K5 Iteracin 2 + X
K6
Iteracin 7
Iteracin 8 Cuatro bloques de salida de 16 bits + 64 bits de texto cifrado X # Multiplicacin mdulo 2 +1 de 16 bits OR EXCLUSIVO de 16 bits
16
Transformacin
16
Dada la extensa alteracin de bits (por cada iteracin, cada uno de los bits de salida depende de cada uno de los bits de entrada), basta con ocho iteraciones. Como con todos los cifrados de bloque, el algoritmo IDEA tambin puede usarse en el modo de realimentacin de cifrado y en los dems modos del algoritmo DES. El algoritmo IDEA usa tres operaciones, todas sobre nmeros sin signo de 16 bits. Estas operaciones son un or exclusivo, suma mdulo 216 y multiplicacin mdulo 216+1. Las tres operaciones se pueden efectuar fcilmente en una microcomputadora de 16 bits ignorando las partes de orden mayor de los resultados. Las operaciones tienen la propiedad de que ningunos dos pares obedecen la ley asociativa ni la ley distributiva, dificultando el criptoanlisis. La clave de 128 bits se usa para generar 52 subclaves de 16 bits cada una, 6 por cada una de las ocho iteraciones y 4 para la transformacin final. El descifrado usa el mismo algoritmo que el cifrado, slo que con subclaves diferentes.
13/11/2005
Pgina: 17
6. CRIPTOGRAFA CUANTICA
6.1 Principios
La criptografa cuntica se basa, esencialmente, en el principio de fsica conocido como Principio de Incertidumbre enunciado originalmente por Heisenberg. Este principio nos asegura que es imposible conocer simultnemante y con absoluta precisin la posicin y el momento cintico (producto de la masa por la velocidad) de una partcula subatmica. No se trata de una imposibilidad debida a la tecnologa de medicin de que se dispone, sino que se trata de una prohibicin impuesta por la propia naturaleza Un fotn posee una caracterstica denominada polarizacin que consiste, a grandes rasgos, en un modo particular de vibracin de la partcula. La polarizacin puede representarse como una magnitud vectorial que vara con el tiempo. Su base, los ejes de referencia en la expresin analtica del vector, puede escogerse de entre varias posibilidades, siendo las ms habituales alguna de las siguientes: rectilnea (horizontal/vertical), diagonal (izquierda/derecha) y circular (en sentido horario y en sentido anti-horario). El principio de incertidumbre nos impide medir la polarizacin exacta que posee un fotn determinado, en concreto, nos permite medir nicamente una de las dos componentes ortogonales necesarias para definirla, y adems, debido a la cuantizacin y la naturaleza no determinista del proceso, slo nos permite averiguar con cierta probabilidad si esta componente est presente. Esto ltimo se entender mejor con un ejemplo. La medicin se realiza mediante un filtro polarizado seguido por un detector que se dispara cuando un fotn incide sobre l. La polarizacin del filtro se escoge entre las posibilidades que hemos mencionado, supongamos que escogemos un filtro con polarizacin vertical. Ahora se nos presentan varios casos, segn la polarizacin del fotn incidente. Si el fotn posee polarizacin vertical, atravesar el filtro con probabilidad 1 (certeza), como era de esperar. En caso de que la polarizacin del fotn sea horizontal, totalmente perpendicular a la del filtro, el fotn no lo atravesar (o lo atraviesa con probabilidad 0). Hasta el momento todo resulta bastante intuitivo. Sin embargo, en caso de que el fotn lleve cualquier otra polarizacin (siempre interpretable como una combinacin lineal de las polarizaciones vertical y horizontal), ste atravesara el filtro con una cierta probabilidad, distinta de 1 0, y emerger, caso de atravesarlo, con polarizacin vertical, destruyendo irreversiblemente su estado anterior. Esta propiedad es la piedra angular de la criptografa cuntica, ya que garantiza que ningn espa podra interceptar el fotn sin alterar su estado y, consecuentemente, ser descubierto.
13/11/2005
Pgina: 19
13/11/2005
Pgina: 20
7. ANEXOS
7.1 Calculo de potencia-modulo
Programa para evaluar la potencia-modulo de un nmero x. Utiliza las propiedades de la aritmtica modular. Est escrito en matlab y sirve para valores de x pequeos. Para valores de x grandes sera necesario utilizar una funcin para manejo de nmeros enteros de mltiples palabras: function res = mpot (x,exponente,modulo) if exponente < 4 incre = exponente; else incre = 4; end conta=incre; intermedio = 1; while (conta < exponente) intermedio = mod(intermedio*mod(x^incre,modulo),modulo); conta=incre+conta; end res = mod(intermedio*mod(x^(exponente -conta+incre),modulo),modulo); return
7.2 Combinatoria n ! = n (n - 1) ... 2 . 1 Son los distintos grupos que se pueden formar con los n elementos de modo Variaciones de n objetos que en cada grupo entren p elementos distintos; dos grupos son distintos si se tomados de p en p diferencian en algn elemento o en el orden de colocacin de stos. Vnp = n ! / (n - p) ! = n (n -1) (n - 2) ... (m - n + 1) Es el conjunto de distintos grupos que se pueden formar con los n elementos, Variaciones con de manera que en cada grupo entren n elementos, repetidos o no; y dos repeticin de m elementos tomados de n grupos son distintos si se diferencian en algn elemento o en el orden de colocacin de los mismos. en n VR mn = mn Son los distintos grupos que se pueden formar de modo que en cada grupo Permutaciones de n estn los n elementos; y un grupo se diferencia de otro nicamente en el orden objetos de colocacin de los elementos. Vnn = n ! donde el primer elemento elemento se repita a veces, el segundo b veces, ..., el ltimo k veces (a + b+ ... + k = n), son los distintos grupos que se pueden Permutaciones con formar de modo que en cada grupo de n elementos el primero est a veces, el repeticin de n elementos segundo b veces...; un grupo se diferencia de otro nicamente por el orden de colocacin de sus elementos
13/11/2005 Pgina: 21
Factorial
Prof.: Luis de Salvador Pna,b,...k = n ! / [a! b ! ... k!] (n ? m) son los distintos grupos que se pueden formar con los m elementos de Combinaciones de m modo que en cada grupo entren n elementos distintos y dos grupos son objetos tomados de n en n distintos si difieren en algn elemento, pero no en el orden de colocacin. Cmn = m ! / [ n ! (m - n) !]
13/11/2005
Pgina: 22
8. REFERENCIAS
[D1] The Code Book - The secret history of codes and code-breaking Simon Singh - Fourth State [D2] Applied Cryptography Bruce Schneier - Wiley [D3] The CodeBreakers David Kahn - Scribner [D4] Criptografa y Seguridad en Redes 3 edicin (version 1.0) Manuel Jos Lucena Lpez Universidad de Jaen [D5] Descripcin del algoritmo DES Jorge Snchez Arriazu - 1999
13/11/2005
Pgina: 23
La Criptografa clsica
LA CRIPTOGRAFA CLSICA
Santiago Fernndez (*)
En la Universidad de Yale se encuentra un manuscrito de 235 pginas, donado, en 1969, por H.P Kraus. El manuscrito, adquirido por Wilfrid M. Voynich en 1912, perteneca a un colegio jesuita situado en Villa Mondragone, cerca de Roma. Escrito por un autor desconocido (aunque algunos lo atribuyen a Roger Bacon, uno de los grandes personajes del S.XIII), constituye en s mismo todo un enigma, ya que est escrito con unos caracteres extraos, y que hasta la fecha nadie ha logrado descifrar. Se conoce como el El manuscrito Voynich. Es sin duda uno de los grandes retos del desciframiento.
1. ESTEGANOGRAFA Y CRIPTOGRAFA
La comunicacin secreta lograda mediante la ocultacin de la existencia de un mensaje se conoce con el nombre de esteganografa, derivado de las palabras (steganpos), que significa encubierto, y (grphos), que significa escritura. En el siglo V a.C. el gran historiador griego Herodoto describi la manera que tenan los griegos para mandarse mensajes entre s. El procedimiento bsicamente consista en escribir el mensaje sobre una tablilla de madera para posteriormente ocultarle mediante un recubrimiento de cera. El mismo Herodoto narra la historia de Histaiaeo en la cual se afeita la cabeza a un mensajero para luego escribir el mensaje sobre su cuero cabelludo y posteriormente esperar a que le crezca el pelo, antes de remitir el mensaje a la persona deseada; de sta manera el mensajero pudo viajar hasta su destino sin ser molestado, al afeitarse su cabeza fue capaz de mostrar al receptor el mensaje oculto. Tambin, en la antigua civilizacin china se escriban mensajes sobre seda fina, que luego era aplastada hasta formar una pelotita que a su vez era recubierta de cera. En el siglo XV, el cientfico italiano Gioavanni Porta describe con todo lujo de detalles la manera de esconder un mensaje dentro de un huevo cocido. La esteganografa incluye tambin la prctica de escribir con tinta invisible, procedimiento ampliamente estudiado por casi todas las culturas. Durante la segunda guerra mundial el sistema ms utilizado consisti en microfilmar un mensaje y reducirlo hasta el extremo de un pequeo punto, de forma que poda pasar como un signo de puntuacin de un carcter dentro de otro texto. Por ejemplo, el punto de consonante "j" poda ser en realidad un microfilm con un mensaje.
119
Santiago Fernndez
Con la llegada de los ordenadores se han ampliado y diversificado las tcnicas esteganogrficas. Una de las ms comunes consiste en esconder un mensaje dentro de contenidos multimedia, mezclando los bits del mensaje original entre los bits del archivo grfico o de sonido. El archivo resultante ser una imagen o archivo de audio totalmente funcional que, a primera vista, no levanta ninguna sospecha, pero con el software adecuado es posible extraer la informacin oculta. Actualmente, un grupo de investigadores de la Universidad George Mason, de Virginia, trabajan desde hace aos en una herramienta capaz de detectar imgenes "esteganografiadas" en Internet. La novedosa ciencia, denominada esteganlisis, permite detectar informacin escondida en imgenes o archivos de sonido. Pero, por muy bien que ocultemos los mensajes corremos el riesgo que tras una revisin concienzuda alguien sea capaz de descubrirlos, lo que claramente compromete la seguridad. Por esta razn la ocultacin fsica de los mensajes ha dejado paso, a otro procedimiento ms sofisticado: La criptografa. El objetivo de la criptografa no es ocultar la existencia de un mensaje, sino ms bien ocultar su significado, un proceso que se conoce como codificacin.
2. LA CRIPTOLOGA
La criptologa (1) (del griego krypto y logos, significa el estudio de lo oculto, lo escondido) es la ciencia que trata los problemas tericos relacionados con la seguridad en el intercambio de mensajes en clave entre un emisor y un receptor a travs de un canal de comunicaciones (en trminos informticos, ese canal suele ser una red de computadoras). Esta ciencia est dividida en dos grandes ramas: la criptografa, ocupada del cifrado de mensajes en clave y del diseo de criptosistemas, y el criptoanlisis, que trata de descifrar los mensajes en clave, rompiendo as el criptosistema. La criptografa es la disciplina que se encarga del estudio de cdigos secretos o llamados tambin cdigos cifrados (en griego kriptos significa secreto y grhos, escritura). La criptografa es una disciplina muy antigua, sus orgenes se remontan al nacimiento de nuestra civilizacin. En origen, su nico objetivo era el proteger la confidencialidad de informaciones militares y polticas. Sin embargo, en la actualidad es una ciencia interesante no slo en esos campos, sino para cualquier otro que est interesado en la confidencialidad de unos determinados datos. Aunque el objetivo original de la criptografa era mantener en secreto un mensaje, en la actualidad no se persigue nicamente la privacidad o confidencialidad de los datos, sino que se busca adems garantizar la autenticacin de los mismos (el emisor del mensaje es quien dice ser, y no otro), su integridad (el mensaje que leemos es el mismo que nos enviaron) y su no repudio (el emisor no puede negar el haber enviado el mensaje).
Cuestiones militares, religiosas y comerciales impulsaron desde tiempos remotos el uso de escrituras secretas. Ya los antiguos egipcios usaron mtodos criptogrficos. Por ejemplo, los
120
La Criptografa clsica
sacerdotes egipcios utilizaron la escritura hiertica (jeroglfica) que era claramente incomprensible para el resto de la poblacin. Los antiguos babilonios tambin utilizaron mtodos criptogrficos en su escritura cuneiforme.
Figura 2: Criptogramas egipcios (a la izquierda, textos en clave, con los textos descifrados a la derecha)
3.1.1. La escitala espartana El primer caso claro de uso de mtodos criptogrficos se dio durante la guerra entre Atenas y Esparta. El historiador griego Plutarco, describe la escitala de la siguiente manera: La escitala era un palo o bastn en el cual se enrollaba en espiral una tira de cuero. Sobre esa tira se escriba el mensaje en columnas paralelas al eje del palo. La tira desenrollada mostraba un texto sin relacin aparente con el texto inicial, pero que poda leerse volviendo a enrollar la tira sobre un palo del mismo dimetro que el primero. Con este sistema los gobernantes de Espartana transmitieron, con eficacia, sus instrucciones secretas a los generales de su ejrcito, durante las campaas militares. Lgicamente, este procedimiento supona que tanto el emisor como el receptor del mensaje dispusieran de un palo o bastn con las mismas caractersticas fsicas: grosor y longitud. Ejemplo:
El texto a remitir es : ASI CIFRABAN CON LA ESCITALA, mientras que el texto cifrado o criptograma ser: AAC SNI ICT COA INL FLA RA AE BS 3.1.2. El Cifrario de Csar Este mtodo fue empleado en los tiempos de la Roma Imperial. El algoritmo de Csar, llamado as porque es el procedimiento que empleaba Julio Csar para enviar mensajes secretos a sus legiones, es uno de los algoritmos criptogrficos ms simples. Es un algoritmo de sustitucin, su cifrado consista simplemente en sustituir una letra por la situada tres lugares ms all en el alfabeto esto es la A se transformaba en D, la B en E y as sucesivamente hasta que la Z se converta en C.
Alfabeto original Alfabeto cifrado A B C D E F G H I D E F G H I J J K L M N O P Q R S T U V W X Y Z
K L M N O P Q R S T U V W X Y Z A B C
121
Santiago Fernndez
Nota: Hoy en da, cualquier alfabeto que est codificado con el alfabeto desplazado pero en su orden se llama cifrado de Csar, aun cuando la letra inicial sea diferente de la D: Tratamiento matemtico: Si asignamos a cada letra un nmero (A =00, B =01, C=02,.......Z=25), y consideramos un alfabeto de 26 letras, la transformacin criptogrfica en trminos matemticos se puede explicar bajo la siguiente frmula de congruencias:
C (M + 3) ( md 26) M, corresponde a la letra del mensaje original C, es la letra correspondiente a M pero en el mensaje cifrado.
Obsrvese que este algoritmo ni siquiera posee clave, puesto que la transformacin siempre es la misma. Obviamente, para descifrar basta con restar 3 al nmero de orden de las letras del criptograma. Ejemplo: Asumiendo un alfabeto de 26 smbolos como el siguiente:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
vamos a cifrar el siguiente mensaje: PAZ Podemos hacerlo manualmente o utilizado la frmula anteriormente dada: 1. 2. 3. 4. Reemplazar M por el valor de la primera letra, en este caso P equivale a 15. Realizar la operacin indicada: C = (15 + 3) (md 26) = 18. Corresponder el nmero obtenido con la letra , en nuestro caso la S. Realizar la operacin con las letras restantes.
122
La Criptografa clsica
Por tanto el Mensaje Codificado es : SDC (la palabra PAZ se ha convertido en SDC). 3.1.3. El atbash hebreo El atbash se emplea en el libro de Jeremas.25,26 de la Biblia, donde la palabra Babilonia, en hebreo: Babel se convierte en Sheshash. Las letras del mensaje de origen se sustituyen una a una, de acuerdo con la norma siguiente: si la letra original se encuentra en la lnea superior se sustituye por la letra correspondiente de la lnea inferior, y a la inversa. De esta manera la a (aleph) se convierte en t (aw), y la letra b(eth) se convierte en sh(in). Por tanto la palabra Babel se convierte en Sheshash.
En nuestro alfabeto el procedimiento que usa el atbash es el siguiente: 1. Se disponen las letras del alfabeto original de izquierda a derecha, desde la a hasta a la m; luego se continua la serie, de derecha a izquierda, de la n a la z, pero dispuestas en una hilera paralela a la anterior, y que van a corresponder a las letras del alfabeto cifrado.
Alfabeto(1) original Alfabeto Cifrado a Z b Y c X d W e V f U g T h S i R j Q k P l O m N
3. Por ltimo para cifrar, se hace corresponder la letra superior con su correspondiente inferior, siendo esta ltima la que figura en el texto cifrado. Veamos un ejemplo: El mensaje firma la paz se convierte en URINZ AZ KZA El procedimiento usado es de tipo monoalfabtico. 3.1.4. El mtodo de Polybios El escritor griego Polybios, invent un sistema que acab siendo adoptado muy a menudo como mtodo criptogrfico. Coloc las letras del alfabeto en una red cuadrada de 5x5. El sistema de cifrado consista en hacer corresponder a cada letra del alfabeto un par de letras que indicaban la fila y la columna , en la cual aquella se encontraba.
123
Santiago Fernndez
A A B C D E A F L Q V
B B G M R W
C C H N, S X
D D I, J O T Y
E E K P U Z
Tablero de Polibio
As por ejemplo el texto: deseamos la paz se converta en: ADAEDCAEAACBCDDC CAAA CEAAEE Si en el tablero de Polybios introducimos nmeros, resulta una variante sumamente interesante:
1 1 2 3 4 5 A F L Q V 2 B G M R W 3 C H N, S X 4 D I, J O T Y 5 E K P U Z
Cada letra viene representada por dos nmeros, el de su fila y el de su columna. As, K = 25, w = 5, mientras que la letras N y tienen una misma representacin, en nuestro caso el 33. El mensaje anterior, de acuerdo a esta codificacin numrica se traduce en: 1415431511323443 3111 351155 Polybios sugera usar este sistema como mtodo de transmisin de mensajes a larga distancia (usando antorchas o fogatas, por ejemplo). Pero, sin duda, el gran xito de su mtodo reside en la conversin de letras en nmeros, la reduccin en el nmero de caracteres finales, y la divisin de una unidad en dos partes manipulables separadamente. Lo que ha servido de base para otros sistemas de cifrado, es el caso del sistema Playfair.
Los cuatro sistemas ilustran dos de los principios esenciales en los que se basa la criptografa clsica: la sustitucin y la transposicin. El Cifrario de Csar, El atbash hebreo y el sistema de Polybios son ejemplos de sustitucin (cada una de las letras del mensaje original tiene una correspondencia fija en el mensaje cifrado). Mientras que la esctala espartana es un ejemplo de transposicin (las letras simplemente se cambian de sitio o se transponen, por tanto las letras son las mismas en el mensaje original y en el cifrado. En trminos de pasatiempos se dice que las letras se trasponen o se anagraman).
En principio, parece muy difcil descubrir el mensaje cifrado por cualquiera de estos tres procedimientos, pero una persona inteligente y observadora puede descifrar el secreto sin demasiada dificultad. De hecho, estos sistemas se encuadran en una categora de cifrarios que reciben el nombre de degenerativos.
124
La Criptografa clsica
125
Santiago Fernndez
Frecuencia de las letras en Ingls Letras de alta frecuencia Letra e t a o i n s h r Frecuencia % 12,7 9,1 8,2 7,5 7,0 6,7 6,3 6,1 6,0 p Letras de frecuencia media Letra d l c u m w f g y 1,9 Frecuencia % 4,3 4,0 2,8 2,8 2,4 2,4 2,2 2,0 2,0 Letras de frecuencia baja Letra b v k Frecuencia % 1,5 1,0 0,8
El resto de las letras: j,q,x,z tienen frecuencias inferiores a 0.5% y se pueden considerar por tanto "raras:
En castellano haciendo un estudio similar tenemos: Frecuencia de las letras en el castellano Letras de alta frecuencia Letra e a o l s n d Frecuencia % 16,78 11,96 8,69 8,37 7,88 7,01 6,87 Letras de frecuencia media Letra r u i t c p m Frecuencia % 4,94 4,80 4,15 3,31 2,92 2,76 2,12 Letras de frecuencia baja Letra y q b h Frecuencia % 1,54 1,53 0,92 0,89
El resto de las letras: g,f,v,w,j,z,x,k tienen frecuencias inferiores a 0.5% y se pueden considerar por tanto "raras:
Frecuencia de las palabras en el castellano Palabras ms frecuentes Palabra de la el en que y a los del se las Frecuencia (por diezmil) 778 460 339 302 289 226 213 196 156 119 114 Palabras de dos letras Palabra de la el en se un no su al es Frecuencia (por diezmil) 778 460 339 302 119 98 74 64 63 47 Palabras de tres letras Palabra que los del las por con una mas sus han Frecuencia (por diezmil) 289 196 156 114 110 82 78 36 27 19 Palabras de cuatro letras Palabra para como ayer este pero esta aos todo sido solo Frecuencia (por diezmil) 67 36 25 23 18 17 14 11 11 10
126
La Criptografa clsica
En resumen, en un texto escrito en castellano, se pueden sacar las siguientes conclusiones (por trmino medio). Las vocales ocuparn alrededor del 47% del texto. Slo la e y la a se identifican con relativa fiabilidad porque destacan mucho sobre las dems. De hecho, entre las dos vocales ocupan el 25% del mensaje. Las letras de frecuencia alta suponen un 68% del total. Las consonantes ms frecuentes: l, s, n, d (alrededor del 30%). Las seis letras menos frecuentes: v, , j, z, x y k (poco ms del 1%). Las palabras ms frecuentes (de, la, el, en, ....) que ocuparn el 30% del texto. En el famoso relato el escarabajo de oro, escrito por el americano Edgar Allan Poe y publicado el ao 1843, se describe como el hroe del relato, William Legrand, consigue descubrir el lugar en el que se encuentra un fabuloso tesoro, descifrando un mensaje criptogrfico escrito sobre un pergamino. El procedimiento utilizado por W. Legrand para desentraar el cifrario del pergamino es un mtodo estadstico, basado en la frecuencia de las letras que componen un texto ingls. En definitiva,el mtodo coincide exactamente con el propuesto por el sabio rabe Al-Kindi. Hemos de reconocer que Poe era un excelente criptoanalista aficionado. Tambin el escritor francs Julio Verne (1828-1905) utiliz la criptografa en varias de sus novelas, una de ellas Viaje al centro de la Tierra.
El primer libro europeo que describe el uso de la criptografa fue escrito en el siglo XIII por el monje franciscano Roger Bacon, su ttulo es: La Epstola sobre las obras de arte secretas y la nulidad de la magia, en l se describen siete mtodos distintos para mantener en secreto los mensajes.
En esa poca, las personas que se dedicaban a la criptografa eran conscientes de que los simples anlisis de frecuencia hacan vulnerable sus cifrados. Por esta razn utilizaron dos trucos para luchar contra el anlisis estadstico: los homfonos y las nulas. Los cifrados homofnicos consisten en trabajar con alfabetos ms ricos que el normal (de 26 letras). Para ello se aaden algunas letras nuevas (), que corresponden a las letras de ms alta frecuencia.
127
Santiago Fernndez
Alfabeto G V X C F P AW K B N E M L Z S T Q I DY O R J U H cifrado Podemos observar que se han repetido las vocales a,e,i,o y se han cifrado por mediante dos homfonos. As los homfonos correspondientes a la A son, la G y la V, los homfonos correspondientes a la E son la y la F, y as sucesivamente. De esta manera el mensaje: el ro esta limpio se convierte en: F KZ FIDG BMTKS
Mientras que en los cifrados empleando nulos el objetivo es incluir en el mensaje de origen algunas letras carentes de significado y que naturalmente no interfieran en su comprensin. Por ejemplo: Cifrar el siguiente mensaje: lla pazz no hha sidto ffirdmadoa, cuando el mensaje llegue a su destino el descifrador no tiene problemas para recuperar el mensaje original: LA PAZ NO HA SIDO FIRMADA. En este tipo de ciframientos conviene utilizar como nulas letras de baja frecuencia para alterar el anlisis estadstico frecuencial. En el siglo XIV el poeta y novelista ingl Geoffrey Chaucer tambin dedic buena parte de su vida a estudiar la criptografa.
El libro ms antiguo del que se tiene constancia, y que trata enteramente sobre criptografa, es el Liber Zifrorum escrito por Cicco Simoneta, secretario de la Cancillera de los Sforza de Miln. El libro vio la luz el ao 1474. Entre las personas que se dedicaron a la criptografa no podemos olvidar a Giovanni Soro, nombrado secretario de cifras en Venecia el ao 1506. En la mayora de los casos la criptografa, en esta poca, se refera exclusivamente a cifrarios monoalfabticos. En ellos la sustitucin clave, una vez elegida, no se modifica a lo largo de toda la operacin de cifrado. Naturalmente podran ponerse en correspondencia alfabetos cifrantes totalmente caticos, lo que claramente dificultara el posible desciframiento.
128
La Criptografa clsica
Por esa misma poca tambin estuvo de moda el cifrado mediante dos o ms alfabetos, alternando entre ellos, confundiendo de esta manera a los potenciales criptoanalistas(este es un salto cualtitativo ya que se pasa de cifrarios monoalfabticos a cifrarios polialfabticos (3) En esta lnea hay que destacar a Len Battista Alberti (1402-1472) que es considerado por muchos el abuelo de la criptologa. Veamos con un ejemplo como Alberti era capaz de cifrar los mensajes. Alfabeto Original Alfabeto cifrado1 Alfabeto cifrado2
a b c d e f g h i j k l m n o p q r s t u v w x y iz F R J O Y D I Q T Z S L M E U N B KWA H P C X G V H T R V Z D I Q J Y P E L MU B N K AW F S X C G O
Para realizar el mensaje: la ballesta, se proceda de la siguiente manera: La primera letra l, se convierte en M (del alfabeto1); a, se convierte en H( del alfabeto2); b, se convierte en R( del alfabeto 1); a, se convierte en H ( del alfabeto2), y as se van alternando.... De manera que la palabra cifrada es: MHRHLEYAAH Una ventaja evidente de este procedimiento es que una misma letra puede cifrarse de dos formas distintas, de acuerdo a la paridad del mensaje. Sin embargo, tiene la desventaja que es necesario conocer la disposicin de dos alfabetos cifrados. Con nimo de mecanizar el cifrado, Alberti crea la primera mquina de criptografiar que consiste en dos discos concntricos que giran independientes, consiguiendo con cada giro un alfabeto de transposicin. Si bien en el ao 1470, Len Battista Alberti public su Tratado de cifras, donde se describe una cifra capaz de encriptar un pequeo cdigo. Se considera al abate Johannes Trithemius como padre de la criptografa moderna. Este religioso escribi en 1530 Poligrafa, el primer libro impreso sobre el tema. Trithemius introdujo el concepto de tabla ajustada, en el cual el alfabeto normal es permutado para codificar los mensajes.
J. Trithemius
Len B. Alberti
129
Santiago Fernndez
Con la idea de reforzar la cifra de sustitucin monoalfabtica se introdujeron los cdigos (5). La idea es sustituir una palabra o varias por un determinado cdigo o smbolo. Por ejemplo:
Flandes = Ro Sena = Matar = 34 Rey de Francia = Reina de Escocia = hoy = 45 Reina de Inglaterra = Almirante = maana = 56 Capturar =13 atravesar = WD
El texto llano = capturar al rey de Francia y atravesar el Sena Se convierte en el mensaje codificado: Mensaje codificado: 13--WD- Puede parecer que los cdigos son ms seguros que las cifras, sin embargo para codificar mediante cdigos es imprescindible redactar un libro de cdigos, que seguramente tendra cientos de pginas. Adems, dicho libro debera ser distribuido a todos los implicados (embajadores, militares, ..). Naturalmente si el libro cae en manos poco amigables el desastre sera total. Por ese motivo los criptgrafos comprendieron la dificultad del cifrado mediante cdigos y confiaron sus mensajes a un sistema hbrido de cifras y de nomencladores (6).
130
La Criptografa clsica
F G H I J K
L M N O P Q R S
T U V W X Y Z A
F G H I J K
L M N O P Q R S
T U V W X Y Z A B
F G H I J K
L M N O P Q R S
T U V W X Y Z A B C
F G H I J K
L M N O P Q R S
T U V W X Y Z A B C D F
F G H I J K
L M N O P Q R S
T U V W X Y Z A B C D E F G I J K L
6 G H 7 H 8 9 I J
L M N O P Q R S
T U V W X Y Z A B C D E
L M N O P Q R S
T U V W X Y Z A B C D E
L M N O P Q R S
T U V W X Y Z A B C D E
F G H I J K
L M N O P Q R S
T U V W X Y Z A B C D E
F G H I J K
10 K
L M N O P Q R S
T U V W X Y Z A B C D E
F G H I J K
11 L M N O P Q R 12 M N O P Q R 13 N O P Q R 14 O P Q R 15 P Q R 16 Q R 17 R 18 S S S S S S
T U V W X Y Z A B C D E
F G H I J K
T U V W X Y Z A B C D E
F G H I J K
T U V W X Y Z A B C D E
F G H I J K
L M
T U V W X Y Z A B C D E
F G H I J K
L M N
T U V W X Y Z A B C D E
F G H I J K
L M N O
T U V W X Y Z A B C D E
F G H I J K
L M N O P
T U V W X Y Z A B C D E
F G H I J K
L M N O P Q S T
T U V W X Y Z A B C D E
F G H I J K
L M N O P Q R S
19 T U V W X Y Z A B C D E 20 U V W X Y Z A B C D E 21 V W X Y Z A B C D E 22 W X Y Z A B C D E 23 X Y Z A B C D E 24 Y Z A B C D E 25 Z A B C D E
F G H I J K
L M N O P Q R S
F G H I J K
L M N O P Q R S
F G H I J K
L M N O P Q R S
T U
F G H I J
L M N O P Q R S
T U V
F G H I
L M N O P Q R S
T U V W
F G H
L M N O P Q R
T U V W X
F G H
L M N O P Q R
T U V W X Y
131
Santiago Fernndez
Para cifrar se procede de la siguiente manera: a) Se busca una palabra clave fcil de recordar. b) Se escribe la palabra debajo del texto en claro, repitindose tantas veces como sea necesario. c) Cada letra del texto en claro se codifica con el alfabeto de la tabla marcado por la letra inferior, o sea, la letra de la clave que corresponde. Ejemplo: clave = AZUL Texto a remitir: el ejrcito est preparado Proceso: Se escribe le clave debajo del texto a cifrar.
E A L Z E U J L E A R Z C U I L T A O Z E U S L T A A Z P U R L E A P Z A U R L A A D O Z U
Por ltimo, cada una de las letras del mensaje se transforma en otra. As la E, se cifra como la E ( del alfabeto A), la L se cifra como la K( del alfabeto Z), la E, se cifra como Y, y as sucesivamente... El mensaje cifrado es: EK YUEQWTTN YDTZ JCEOUCACI Las investigaciones de Blaise de Vignere, as como los mtodos utilizados en su poca estn recogidos en su libro Traict des Chiffres, publicado en 1586. Curiosamente un sistema tan avanzado fue ignorado durante casi dos siglos. Seguramente las razones para no utilizar la cifra de Vignere son varias: el uso extendido, por parte de los criptgrafos, de las cifras monoalfabticas, aadiendo homfonos y sobretodo la dificultad de utilizar las cifras polialfabticas. 3.4.2. Los Rossignol y la Gran cifra Antoine y Bonaventure Rossignol, padre e hijo respectivamente, alcanzaron fama cuando en el ao 1626 descifraron una carta, remitida por el ejercito hugonote, y capturada por los franceses. Su xito fue de tal magnitud que el padre y el hijo, como recompensa, sirvieron a los reyes Luis XIII y Luis XIV como geniales criptoanalistas. Su concienzudo y meticuloso trabajo les llev a comprender mejor distintas tcnicas criptogrficas, proponiendo ellos mismos un sistema que se ha conocido en la literatura como La Gran Cifra. Al morir los Rossignol la Gran Cifra cay en deshuso. Sin embargo, era tan slida e indescifrable que desafi los esfuerzos de varias generaciones de criptoanalistas. Por fin, a finales del siglo XIX, un comandante militar, experto del departamento Criptogrfico del ejercito francs, llamado Etienne Bazeries (1846-1931) fue capaz de descifrar la Gran Cifra despus de arduos aos de trabajo.
3.4.3. El Cdigo Morse El cdigo Morse no es una forma criptogrfica, en realidad no trata de ocultar el mensaje. No es otra cosa que un alfabeto alternativo que va muy bien para trasmitir mensajes de una
132
La Criptografa clsica
manera sencilla. Si queremos transmitir un mensaje secreto, mediante el cdigo Morse, es necesario codificarlo antes de remitrselo al telegrafista de turno. La famosa cifra Vigenre se convirti en una de las mejores formas de asegurar los secretos, por esta razn se la conoce tambin con el sobrenombre de le chiffre indchiffrable.
Smbolos del cdigo Morse Internacional SIGNO A E I M P T X 1 5 9 CDIGO SIGNO B F J N Q U Y 2 6 0 CDIGO SIGNO C G K R V Z 3 7 CDIGO SIGNO D H L O S W CDIGO
4 8
Signos habituales . Punto: , Coma: Interrogacin: = Guin doble: - Guin sencillo: / Raya de fraccin: " Comillas:
- . . . . - (NV)
(NR)
. - . . - . (RR)
3.4.4. Charles Babbage Charles Babbage (1791- 1871) es uno de los grades genios del siglo XIX, matemtico ingls y cientfico protoinformtico. Es la primera persona que concibe la idea de lo que hoy llamamos ordenador. Dedic buena parte de su vida a disear diversos artilugios mecnicos. A partir de 1820, Charles Babbage se interes en el diseo y construccin de distintas mquinas de calcular. Con la ayuda econmica de la condesa Ada Byron, hija del poeta Lord Byron, desarrolla el concepto de 2 calculadoras mecnicas o "mquinas de nmeros". La primera de ellas, llamada la Mquina en diferencias era un dispositivo mecnico que resolva ecuaciones polinmicas por el mtodo diferencial. La segunda, denominada Mquina Analtica (7), fue diseada como un dispositivo de cmputo general. Ambos equipos eran totalmente mecnicos, usaban ejes, engranajes y poleas para poder ejecutar los clculos. Ninguna de las dos mquinas las lleg a construir en su totalidad.
133
Santiago Fernndez
Actualmente en el Museo de Ciencias de Londres se exhiben partes de sus mecanismos inconclusos. El ao 1991, siguiendo los planos originales de Babbage, se construy su famosa Mquina Diferencial (un ingenio concebido originariamente por J. H. Mueller en 1786 pero que nunca tom forma fsica). La mquina, empleando materiales y tecnologa del siglo XIX, fue capaz de funcionar perfectamente.
En lo que respecta a criptografa, Charles Babbage tambin logr resultados notables. l fue capaz de descifrar, hacia el ao 1854, la llamada cifra Vigenre. El descubrimiento de Babbage fue utilizado por los ejrcitos ingleses en la guerra de Crimea, proporcionando una clara ventaja sobre los mtodos criptogrficos de su enemigo: el ejercito ruso. Debido a esto, sus descubrimientos sobre criptografa se ocultaron hasta su muerte y no fueron publicados hasta el siglo XX. Paralelamente a Babbage, un oficial prusiano llamado Friedrich Kasiski descubri, despus de varios aos de trabajo, como romper la famosa cifra Vigenre. Durante dcadas, Kasiski fue reconocido oficialmente como el descifrador de le chiffre indchiffrable. 3.4.5. La cifra del barn Lyon Playfair El cifrado de Playfair en realidad fue inventado, el ao 1854, por su amigo Charles Wheatstone. Se utilizaba esencialmente en comunicaciones telegrficas secretas; no obstante el procedimiento se le atribuye a su amigo el cientfico y barn Lyon Playfair. Este sistema fue utilizado por el Reino Unido en la Primera Guerra Mundial. El sistema consiste en separar el texto en claro en diagramas y proceder a su cifrado de acuerdo a una matriz alfabtica de dimensiones 5 X 5 en la cual se encuentran representadas las 26 letras del alfabeto ingls, aunque para una mayor seguridad se puede agregar una palabra clave.
A F L Q V B G M R W C H N S X D I/J O T Y E K P U Z
Matriz de Playfair Aadiendo una palabra clave a la matriz de cifrado se consigue una mayor seguridad. La clave se coloca al comienzo de la matriz y a continuacin el resto de las letras del alfabeto.
134
La Criptografa clsica
Para cifrar es necesario seguir las siguientes reglas: 1. El mensaje a cifrar ( mensaje claro) se divide en pares de letras, o dgrafos. 2. Las dos letras de todos los dgrafos deben ser diferentes, lo que se consigue insertando una x adicional cuando sea necesario para romper la igualdad. Ahora se mira a la tabla de Playfair, pudindose dar los siguientes casos: 3. Las dos letras del dgrafo estn en la misma fila y diferente columna, en ese caso, para cifrarlas, se desplaza cada letra una columna a la derecha. (si una de las letras est al final de la fila se reemplaza por la letra que hay al principio de fila). (aij; aik) (aij+1; aik+1) 4. Las dos letras del dgrafo estn en la misma columna y diferente fila, en ese caso, para cifrarlas, se desplaza cada letra una columna hacia abajo. (si una de las letras est al final de la columna se reemplaza por la letra que hay al principio de columna) (aik ; ajk) (a(i+1)k ; a(j+1)k) 5. Las dos letras del dgrafo estn en filas y columnas diferentes Se realiza la siguiente operacin (8): (aki ; bjs) (aks ; bji) Ejemplo: Clave: mar Mensaje en claro : se ha mareado hoy Proceso a seguir: se-ha-ma-re-ad-oh-oy (divisin en dgrafos)
Matriz de Playfair: M D I/J P V A E K Q W R F L S X B G N T Y C H O U Z
se ( las dos letras estn en filas y columnas distintas) se transforman en QF ha (las dos letras estn en filas y columnas distintas) se transforman en EC ma (las dos letras estn en la misma fila y diferente columna) se transforman en AR re (las dos letras estn en filas y columnas distintas) se transforman en AF ad (las dos letras estn en filas y columnas distintas) se transforman en ME oh (las dos letras estn en la misma columna y filas distintas) se transforman en UO oy (las dos letras estn en filas y columnas distintas) se transforman en NZ Por tanto el mensaje cifrado es: QF-EC-AR-AF-ME-UO-NZ
135
Santiago Fernndez
3.4.6. La Cifra ADFGVX A finales del siglo XIX el italiano G. Marconi invent una forma de comunicarse prodigiosa: la radio. En manos de los militares la radio fue un poderoso medio de transmisin, pero los mensajes podan caer tambin en manos enemigas, por lo que era necesario mandarlos cifrados. La Primera Guerra Mundial fue una guerra a gran escala, por lo que era necesario disponer de una codificacin rpida y efectiva. Una de las cifras ms famosas fue la llamada Cifra ADFGVX, introducida por los alemanes en el invierno de 1918. La cifra es una mezcla de mtodos de sustitucin y de trasposicin, esto hace que su desciframiento sea verdaderamente complicado. Cifrar mediante ADFGVX Se empieza disponiendo las 26 letras del alfabeto anglosajn y los diez dgitos en una matriz 6x6. Las lneas y las columnas van encabezados por las letras A D F G V X. El modo de ordenar letras y nmero, en la cuadrcula forma parte de la clave y necesita ser comunicada al receptor del mensaje. Su ordenacin es aleatoria.
Ejemplo:
A A D F G V X 0 M 4 L Y J
D Q U 8 6 3 S
F 9 1 W V D I
G Z H N T 5 O
V 7 F R P E B
X C 2 G A K X
En primer lugar tomaremos cada letra del mensaje en claro sustituyndola por las letras correspondientes a su fila y columna. Por ejemplo el nmero 4 sera sustituido por las letras FA y la k por el par de letras VX. Veamos como se cifra el siguiente mensaje: envien municiones Acudiendo a la matriz anterior , tenemos: Mensaje cifrado: VVFGGFXFVVFGDADDFGXFAXXFXGFGVVXD Hasta aqu es solo un cifrado ordinario por sustitucin, que se descifra con un anlisis de frecuencia si se dispone de suficiente texto. Sigue otra fase con una trasposicin dependiente de una palabra clave. Supongamos que la clave es WHISKY. Las letras de la clave se escriben en la cabecera de una cuadrcula. El texto que hemos cifrado antes se escribe por filas en dicha cuadrcula as: W V X D X X X H V F A F G D I F V D A F A S G V D X G A K G F F X V A Y F G G F V A
136
La Criptografa clsica
Donde hemos aadido dos caracteres de relleno (AA) para que el cuadro quede completo. Ahora las columnas de la cuadrcula se cambian de posicin de modo que las letras de la clave queden en orden alfabtico: H V F A F G D I F V D A F A K G F F X V A S G V D X G A W V X D X X X Y F G G F V A
Para acabar leemos por columnas la cuadrcula y el resultado es el texto cifrado: VFAFGDFVDAFAGFFXVAGVDXGAVXDXXXFGGFVA Si trasmitimos este texto cifrado mediante un cdigo Morse o similar, la posibilidad de desciframiento es muy baja, puesto que el mensaje consta de nicamente 6 letras. Ese mismo ao, exactamente el 2 de Junio de 1918, el criptoanalista francs Georges Painvin, fue capaz de descifrar un mensaje mediante la cifra ADFGVX
3.4.7. Auguste Kerckhoffs y sus reglas La Primera Guerra Mundial marc toda una poca en la criptografa. Los criptoanalistas franceses eran, sin duda, los ms perspicaces. El holands Auguste Kerckhoffs, aunque educado en Francia, estudi a fondo los distintos sistemas criptogrficos, publicando sus investigaciones en un artculo titulado la cartografa militar. Kerckhoffs recomienda, en su artculo, que los sistemas criptogrficos cumpliesen las siguientes reglas, que efectivamente han sido adoptadas por gran parte de la comunidad criptogrfica, son las siguientes:
Reglas de Kerckhoffs Referidas a reglas militares aceptadas mundialmente: 1. No debe existir ninguna forma de recuperar el texto claro a partir del criptograma (seguridad ante el primer ataque). 2. Todo sistema criptogrfico debe estar compuesto por dos tipos de informacin: a. Pblica: se refiere a la familia de algoritmos que definen el sistema criptogrfico. b. Privada: es conocida slo por el usuario. La clave de cifrado de cada usuario en particular. 3. La forma de escoger la clave debe ser fcil de recordar y modificar. 4. Debe ser posible la comunicacin del criptograma con los medios de transmisin habituales. 5. La complejidad del proceso de recuperacin del texto original debe corresponderse con el beneficio obtenido (el costo es proporcional al secreto que quiere guardar).
137
Santiago Fernndez
Tipos de Secreto En criptografa se definen varios niveles de seguridad en los cuales se pueden enmarcar los diferentes algoritmos criptogrficos: 1. Secreto Perfecto: El mensaje es seguro frente a tiempo y recursos ilimitados. En este tipo de cifrado el tamao de la clave es mayor o igual que el tamao del texto a cifrar. 2. Secreto Computacional: El mensaje es seguro frente a ataques con tiempo y recursos limitados. Ejemplo: Criptosistemas de clave pblica. 3. Secreto Probable: El mensaje se encuentra probablemente seguro. Ejemplo: Criptosistemas de clave privada. 4. Secreto condicional: La seguridad del mensaje depende de las caractersticas de sus entorno. Ejemplo: Un mensaje no cifrado o cifrado utilizando criptosistemas clsicos, que se enva a travs de una red "segura".
El americano Thomas Jefferson (1743-1826), autor de la Declaracin de Independencia de E.U.A. ide una mquina para criptografiar mensajes, aunque el primero en fabricarla en serie fue Etienne Bazeries, en 1891. El aparato consiste en una serie de discos que giran alrededor de un mismo eje y llevan impresas las letras del alfabeto, dispuestas en distintos rdenes. El emisor mueve los discos hasta poner en lnea las letras que necesita para escribir el mensaje. Entonces lo codifica transmitiendo las letras que hay en cualquier otra lnea. Para descodificar el mensaje, el receptor coge su propia rueda y pone las letras del cdigo en orden. Despus no tiene ms que buscar la lnea de letras con el mensaje enviado. La mquina se conoce con el nombre de cilindro de Jefferson.
138
La Criptografa clsica
En el dibujo anterior vemos el resultado de cifrar el texto llano: secretword, su resultado es decir mvdtswxhx. Sin duda, el mayor desarrollo de artilugios criptogrficos se dio en el periodo de entreguerras por la necesidad de establecer comunicaciones militares y diplomticas seguras. En 1940, se construy la mquina Hagelin C-48 consistente en seis volantes unidos por el eje y con distinto nmero de dientes.
En la Segunda Guerra Mundial se construy por parte alemana la famosa mquina Enigma, que se basaba en un perfeccionamiento del cilindro de Jefferson. La mquina britnica Colossus diseada por matemticos ingleses, dirigidos por Alan Turing, logr desenmascarar las claves de Enigma.
Fig13. Enigma. El 1 de junio de 1944 la mquina Colossus intercept un mensaje crucial: Hitler y su Alto Mando esperaban un ataque aliado masivo en Calais. Esto determin que el general Eisenhower decidiera desembarcar sus tropas el 6 de junio en las playas de Normandia. El efecto sorpresa multiplic el golpe sobre la defensa germana. Este hecho, junto al xito descifrador de la mquina Colossus, supuso, segn un artculo de The Guardian, de 1995, un acortamiento de la guerra de por lo menos dos aos (9).
139
Santiago Fernndez
Los americanos construyeron tambin la mquina Magic utilizada para descifrar el cdigo prpura japons ; igualmente usaron a los indios navajos, con su difcil lenguaje, para la transmisin de mensajes. Para acabar Con el desarrollo de la informtica en la segunda mitad del siglo pasado y con el uso cada vez ms extendido de las redes informticas y del almacenamiento masivo de informacin se ha dado paso a un gran salto en el estudio de sistemas criptogrficos. En 1975 Diffie y Hellman establecieron las bases tericas de los algoritmos de clave pblica, hasta entonces no se conceba un sistema de cifrado que no fuese de clave secreta. En la actualidad se usan distintos mtodos criptogrficos, el DES (de clave secreta), mtodo RSA, mtodo de Merkle y Hellman, etc... Pero eso ser motivo de otro artculo que se publicar el prximo nmero de SIGMA.
140
La Criptografa clsica
BIBLIOGRAFA
Caballero, P. (2002): Introduccin a la Criptografa. Ed. Ra-Ma. Madrid. Feregrino, C. (Julio 2003): Apuntes sobre Compresin Criptografa de Datos. Galende, J.C. (1995): Criptografa: Historia de la escritura cifrada. Ed. Complutense,. Madrid. Gardner, M. (1990): Mosaicos de Penrose y Escotillas Cifradas. Ed. Labor. Kahn, D. (1996): The Codebreakers. Scribner. New York. Newton, D.E. (1997): Encyclopedia of Cryptology. ABC-Clio. Santa Brbara. Sgarro, A. (1989): Cdigos secretos. Pirmide. Singh, S. (2000): Los cdigos secretos. Ed. Debate.
NOTAS
(1) 1. Criptologa pre-cientfica, abarca hasta mediados del siglo XX; ms que una ciencia se considera un arte. 2. Criptologa cientfica: inicia en 1949, cuando Shannon logr cimentar la criptografa sobre bases matemticas. Entonces surgieron los denominados criptosistemas de clave secreta, los cuales pueden ser calculados a partir del descifrado, y viceversa. En la mayora de estos sistemas, las claves coinciden, y por supuesto han de mantenerse como un secreto entre emisor y receptor. 3. Criptologa de clave pblica, surge a partir de 1977. (2) Como norma general se suelen poner en minsculas las letras del alfabeto original, y en maysculas las correspondientes al alfabeto cifrado. (3) En el libro de Simon Singh (pg. 36-41) se puede ver un ejemplo resuelto siguiendo las normas de Al Kandi. (4) La idea de una sustitucin polialfabtica es la siguiente: Para cifrar un mensaje, se usa una mezcla de diferentes sustituciones monoalfabticas, que se pueden codificar por medio de una clave. El resultado final es que la misma letra del texto original puede acabar representada por diferentes letras en el texto cifrado. Esto bloquea los intentos del criptoanalista desde el punto de vista estadstico. (5) Tcnicamente, un cdigo se define como una sustitucin al nivel de as palabras o frases codificadas. (6) Un nomenclator es un sistema de codificacin que se basa en el alfabeto cifrado, el cual se utiliza para codificar la mayor parte del mensaje, y en una lista limitada de palabras o frases codificadas. (7) La Mquina Analtica es considerada como el primer calculador numrico universal, en el que se recogan los elementos de la moderna computadora, de ah que se le reconozca a Babbage como el autntico padre de los ordenadores. (8) Para codificar la primera letra se mira en su fila hasta llegar a la columna que contiene la segunda letra, la letra en esa interseccin cifrar a la primera letra. La segunda letra es reemplazada por la correspondiente letra que ocupa el lugar de la columna de la primera letra y de la fila de la segunda. (9) Enigma fue el secreto mejor guardado de la II Guerra Mundial despus de la bomba atmica. Basndose en una patente holandesa, el servicio de informacin alemn cre la mquina de codificacin de mensajes ms avanzada hasta la llegada del ordenador. En los aos 30, matemticos polacos trabajaron para anular el poder de Enigma, pero sta se impona con nuevos avances. Los polacos entregaron el testigo y sus conocimientos al servicio del espionaje britnico, que en Bletchley Park, al norte de Londres, reuni a las mejores mentes aliadas para destapar el misterio. Y lo lograron: el da anterior al Desembarco de Normanda comenz a funcionar Bomba, una mquina que descifraba los mensajes de la Marina germana, que posea la Enigma ms avanzada. Un artculo publicado en The Guardian en 1995 aseguraba que sin el trabajo de Bletchley Park la guerra habra durado dos aos ms. Adems de salvar vidas, el trabajo anti-Enigma llev a la creacin de Colossus, para los britnicos la primera computadora del mundo.
141
CONSECRI 2001
1. Introduccin. Definiciones bsicas. 2. Inalterabilidad de los mensajes. El concepto de hashing. 3. Mtodos simtricos. Confiabilidad, longitud de claves, el problema de la distribucin de las claves. 4. Mtodos asimtricos, transmisin de claves. Sobres digitales. El concepto de firma digital, claves privadas y pblicas. Seguridad de los protocolos. Firma digital y firma electrnica. 5. Conceptos de tecnologa PKI. Autoridades certificantes y certificados digitales. Normas a cumplir. 6. Modelos de e-commerce seguro. Sesiones SSL. Secure Mail. Form Signing. 7. Autenticacin fuerte de clientes remotos. Biometra. Comparacin entre tcnicas tradicionales y nuevas tendencias hacia el uso masivo. 8. Aspectos legales de la criptografa aplicada en nuestro Pas. 9. Consultas y discusin abierta con los participantes.
Introduccin. Definiciones bsicas: texto plano, texto cifrado, encripcin, desencripcin, llaves, ataques por fuerza bruta.
OBJETIVOS DE LA CRIPTOGRAFA
CONFIDENCIALIDAD INTEGRIDAD CERTIFICACIN DE ORIGEN NO REPUDIO
CONFIDENCIALIDAD
Encripcin: es cualquier procedimiento para transformar un texto plano en un texto cifrado. Desencripcin: es el procedimiento transformar un texto cifrado en correspondiente texto plano. de el
Entidad: alguien que enva, recibe, o manipula informacin. Emisor: una entidad que es un legtimo transmisor de informacin Receptor: idem Espa: una entidad que no es ni el emisor ni el receptor y que trata de alterar el proceso de comunicacin. Canales: un canal es un medio de transmitir informacin de una entidad a otra, Un canal es fsicamente inseguro si un adversario puede borrar, insertar, leer o modificar datos.
Un esquema de encripcin es quebrable si un adversario sin un conocimiento a priori del par (e,d) puede sistemticamente recuperar el texto plano a partir del cifrado en un tiempo razonable. El objetivo de un diseador es lograr que el NICO ataque posible sea el de fuerza bruta
ATAQUE DE FUERZA BRUTA Consiste en probar en forma sistemticamente todas las combinaciones posibles de las claves, hasta descubrir la que fue usada en una encripcin
Punto 2. Inalterabilidad de los mensajes. El concepto de hashing. Los algoritmos MD5, SHA, SHA-1 y otros.
INTEGRIDAD
HASHING
Cmo sabemos que un mensaje que recibimos y desciframos no ha sido alterado ? Un espa o saboteador pudo haber interceptado el mensaje y haberlo alterado para estudiar el mecanismo o para causar dao.
Hash Function
Es una funcin H que toma un string M, y produce otro, h, de tamao fijo (generalmente ms corto) Al resultado (h) de aplicar una hash function a un string se lo suele llamar simplemente hash del string M
Hash:
dado un mensaje de bits una funcin de hashing aplicada al mismo da como resultado otro mensaje de longitud que constituye un resumen del mismo. La idea es que aunque obviamente hay otros mensajes que producen el mismo hash, es extremadamente difcil encontrarlos y an ms difcil que tengan un significado. Por lo tanto si se transmite un mensaje (encriptado o no) por una va y su correspondiente hashing por otro (o firmado digitalmente), se puede verificar si el mismo ha sido alterado.
h = H ( M ) con los siguientes requisitos: Dado M es fcil computar h Dado h es difcil encontrar el M original Dado M, es difcil encontrar otro M tal que H ( M ) = H ( M ) 2 tipos de s.h.f.: Sin clave, son las normales Con clave, llamadas MACs Aplicaciones: integridad de mensajes o archivos, firma de digestos en vez de mensajes.
A2F508DE091AB30135F2 HASHING
FCIL
IMPOSIBLE
... sin colisiones!
A2F508DE091AB30135F2
FUNCIN TRAMPA
Sinnimos y variantes en distintos escenarios: compression function, contraction function, message digest, fingerprint, cryptographic checksum, data integrity check (DIC), manipulation detection code (MDC), message authentication code (MAC), data authentication code (DAC)
Secure hashes
SNEFRU
(128/256 bits); El SNEFRU de 2 pasos se puede quebrar, usando una PC, en 3 minutos [birthday: dado M, hallar M cuyo H(M)=H(M)], o en 1 hora (hallar un mensaje M dado un hash h)
N-HASH MD2 (Message Digest-2, Ron Rivest, 128 bits, mas lento, menos seguro
que MD4, usado en PEM)
MD4 (Message Digest-4, Ron Rivest, 128 bits, muy usado) MD5 (Message Digest-5, Ron Rivest, 128 bits, MD4 con mejoras, muy
usado, usado en PEM, SSL)
Mtodos simtricos, DES, 3DES, IDEA, AES, Cryptoflash, confiabilidad, longitud de claves, el problema de la distribucin de las claves.
CLAVE
(NICA)
#@Y6&(*-+jW3!G&%;{I8=U
ENCRIPCIN SIMTRICA
Algoritmos simtricos
(block, clave de 56 bits)
(block, Ron Rivest, clave arbitraria) (block, international data encryption algorithm. clave de
IDEA
128 bits)
NCT (block, non-linear curves traveller, clave arbitraria) AES - RIJNDAEL (block, clave 128/256-bits) CRYPTOFLASH (Stream, clave de 1024-bits)
Elementos bsicos de los mtodos simtricos. Todos los algoritmos criptogrficos transforman a los mensajes en secuencias numricas. Por ejemplo, si numeramos las letras del alfabeto utilizado en el idioma castellano obtenemos:
A 1 B 2 C 3 D 4 E 5 F 6 G 7 H 8 I 9 J K L M N 10 11 12 13 14
O P Q R S T U V W X Y Z 15 16 17 18 19 20 21 22 23 24 25 26 27
El mensaje: V A M O S A L Se escribe: 23 01 13 16 20 01 12
C I N E 03 09 14 05
Donde escribimos A 01, etc, para dejar en claro la codificacin. Aqu no hemos hecho distincin de maysculas y minsculas ni hemos agregado los signos de puntuacin con propsitos ilustrativos (en la vida real se utiliza todo el cdigo ASCII o EBCDIC) El mtodo ms simple es el de corrimiento (shift cipher en ingls) que se remonta a la poca de Julio Csar y consiste simplemente en asignarle a cada letra la que le corresponde k posiciones mas adelante. En el ejemplo anterior, si usamos k=3 como lo haca Julio Csar, resulta: 23 +3 =26 Y finalmente: YDORVD FLPH ; 01+3=4 D, etc, obteniendo
En los sistemas que hemos visto suscintamente hasta el momento los caracteres sucesivos son encriptados usando la misma clave. Estos mtodos se llaman de bloques (block ciphers). Un mtodo alternativo muy utilizado es el de flujo (stream ciphers). La idea esencial es un flujo de claves cambiantes que dependen de la clave inicial fijada, y de los caracteres anteriores. Por ello, un cifrado de bloques es un caso especial de un cifrado de flujo donde la clave es siempre la misma. Los stream ciphers son muy utilizados actualmente (p.ej. CryptoFlash)
MODO ECB (sin feedback) aaaaaaaa xD$#!0). aaaaaaaa xD$#!0). aaaaaaaa xD$#!0).
MODO CBC (con feedback) aaaaaaaa I.V. 4kG8xb: aaaaaaaa eT5$m>ls aaaaaaaa Rq0@+#*
MODOS OPERATIVOS
Caracteres 15 sec 16 horas 6.9 aos alfanumricos (62) Caracteres ASCII 4.5 min 51 dias 2300 aos (128) Bytes (256) 1.2 horas 8.9 aos 580000 aos
Exploracin a razn de 1.000.000 pruebas/segundo
(y el poder computacional se duplica cada 18 meses)
SEGURIDAD
ALGORITMO Y CLAVE
RC4 cipher, 128-bit key RC2 cipher, 128-bit key Triple-DES cipher, 168-bit key IDEA cipher, 128-bit key DES cipher, 56-bit key RC4-Export cipher, 40-bit key RC2-Export cipher, 40-bit key No Encryption cipher
En 1980 Stephen Wolfram desarrolla un nuevo algoritmo simtrico basado en un AC, su uso qued relegado por su baja performance. Fue criptoanalizado en 1981, bajo ciertas restricciones. En Mayo de 1998 se quiebra el DES 56-bits con una Workstation dotada con una plaqueta especial en menos de 24 Horas y un presupuesto de $200.000 (ataque de fuerza bruta = 256 = 72.057.594.037.927.936) En 1998 se abre el concurso al reemplazante del DES (AES). La seleccin ha concludo en octubre 2000, habindose seleccionado un algoritmo de bloques (Rijndael) con clave de 128/256-bits. En Agosto 1999 se desarroll en Argentina un algoritmo de flujo basado en un AC no lineal con clave de 1024-bits (CryptoFlash)
RELATIVE BENCHMARK OF Cryptoflash AND THE SYMMETRIC ALGORITHM SELECTED BY THE NIST (10/02/2000) AS THE AES (Advanced Encryption Standard)
ON A STANDARD PENTIUM USING TEXTS WITH LENGTHS > 215 bytes
20
CPU Cycles/byte
256-bits
Max key length:
--difficult scalability with performance slowdown -the inverse takes more code & time - CPU Fully scalable (8/16/32/64-bits) with same performance - inverse and direct take the same code & time
7
CPU cycles/byte
285% faster
1024-bits
Bibliography: [1] Wolfram,S., Cryptography with Cellular Automata, CRYPTO85 [2] Meier,W. et al., Analysis of Pseudo Random Sequences Generated by Cellular Automata, EUROCRYPT91 [3] Hecht, J.P., ,Generacin de caos determinstico y atractores extraos usando AC, FOUBA, Mar 2000 [4]. Schneier et al, Performance Comparison of the AES Submissions Vers 1.4b Jan 15, (1999) http://www.counterpane.com/aes-performance.html [5] http://csrc.nist.gov/encryption/aes/round2/AESAlgs/Rijndael/Rijndael.pdf
Si consideramos que el texto a encriptar es una sucesin de nmeros binarios, un mtodo de criptografa puede considerarse como un algoritmo que genera nmeros binarios que se SUMAN a los anteriores mdulo 2 (es la operacin XOR que corresponde a la tabla de verdad de la disyuncin excluyente). Esta tabla es: x 0 0 1 1 y 0 1 0 1 x
0 1 1 0
Stream ciphers El encriptamiento de un bloque depende de la historia M = { a1, a 2, a3, ....} K = { k1, k 2, k3, ...} E = { e1, e2, e3, ...} Se cumple que
ei = ai ki ai = ei ki
Pero CUIDADO ! ki = ai ei
0 1 0 1 1
XOR
0 0 1 0 1 .
0 0 1 0 1 1 1 1 0
Si a cada nmero binario del texto original se le suma mdulo 2 (XOR) un bit aleatorio en una secuencia que se usa UNA SOLA VEZ, se obtiene el llamado one time pad, mtodo que se puede demostrar mediante la teora de la informacin desarrollada por Shannon que es inviolable. El problema es que hay que distribur tantas claves (bits) como longitud tengan los mensajes a transmitir.
1 0 0 1 0 .
Mtodos asimtricos, transmisin de claves. El mtodo de Diffie-Hellman. Sobres digitales, RSA. El concepto de firma digital, claves privadas y pblicas. Seguridad de los protocolos.
Mtodo de Diffie-Hellman Este fue el primer algoritmo de clave pblica y es universalmente utilizado para el intercambio seguro de claves.
sea p un entero primo grande y a un entero menor a p
Los usuarios 1 y 2 eligen arbitrariamente exponentes enteros x, y que mantienen SECRETOS y proceden a calcular y envarse recprocamente lo siguiente:
El usuario 1 calcula y enva a 2 El usuario 2 calcula y enva a 1 f(x) = (a)^x mod p f(y) = (a)^y mod p
Ahora 1 calcula
K = ( f(y) ) ^x mod p = ( (a)^y ) ^x mod p
...y 2 calcula
K = ( f(x) ) ^y mod p = ( (a)^x ) ^y mod p
y se lo enva al usuario 1.
Qu consigue un espa ? Intercepta los nmeros y aunque conozca el primo elegido y la base (o sea ) , no sabe cuales fueron los nmeros .Para encontrar la clave comn tendra que resolver el llamado problema del logaritmo discreto, por ejemplo:
5 mod( 23) = 8
x
Cuando los nmeros involucrados son muy grandes, y estn bien elegidos, este problema es computacionalmente irresoluble en un tiempo razonable.
Ejemplo:
f ( x ) = 993617947 , f ( y ) = 839026926
y la clave comn a la que ambos arriban es:
K = 708448295
Obviamente puede usarse esta clave en un algoritmo simtrico o puede ser una referencia a un conjunto de claves numeradas,
El espa (si lleg a conocer los nmeros p, a) tendra que resolver la ecuacin: 876543098 mod(1000475149) = 993617947
x
En la prctica se usan nmeros mucho mayores, lo que solo es factible con un software o hardware muy bien implementado.
Objetivo
Objetivo
Determinar la primalidad de un nmero n impar dado, en forma ms eficiente a la usual, disminuyendo la cota de error, al declarar al nmero n, como primo.
Introduccin
Introduccin
RSA
Obtener P y Q primos grandes, distintos. Calcular n = P Q Elegir e primo relativo con (n) = (P-1).(Q-1) Calcular d, tal que e.d 1 mod ((n)) Destruir P, Q y (n) Clave pblica (e, n) y clave privada (d, n), viceversa. Se encripta m, haciendo c = m e mod (n) Se desencripta c, haciendo m = c d mod (n)
Introduccin
Tests de Primalidad
Test de Fermat Test de Miller Test de Miller-Rabin
Test de primalidad
Test de primalidad
Pequeo Teorema de Fermat: Si n es primo. b entero, tal que MCD(b,n ) = 1 entonces b n-1 1 mod (n) Test de Fermat: Buscar algn b tal que, b n-1 1 mod (n) Si lo encuentra n es compuesto Si no, declara a n como posible primo
Test de primalidad
Test de primalidad
Los tests basados en el teorema de Fermat calculaban an-1 mod (n), con a = 2 y comprobaban si el resultado era igual a 1 no. Pero este mtodo no fu suficiente, dado que existen nmeros compuestos n que satisfacen el teorema. Por ejemplo, tomando n = 341 se puede comprobar que 2340 1 mod (341) siendo 341 = 11 31.
La existencia de estos seudo primos, invalid el uso del teorema de Fermat como Test de primalidad.
Una solucin parcial, fue cambiar de base igual a 2 a base igual a 3. De esta forma algunos seudo primos de base 2 fueron detectados. En nuestro ejemplo, 3340 56 mod (341), por lo que es detectado como compuesto.
Aqu se dice que 3 es Testigo y 2 es No-Testigo de que 341 es compuesto, utilizando el pequeo Teorema de Fermat como test de primalidad.
Pero tambin existen nmeros que son seudo primos de bases iguales a 2 y 3 y de bases iguales a 2, 3 y 5 simultneamente. Ejemplo, 265340 1 mod (65341), 365340 1 mod (65341) y 565340 1 mod (65341) pero 65341 = 181 361, compuesto
Entonces, Existe algn n que sea seudo primo para toda base en el intervalo [1,,n-1]?
{b , b
2 q
, ... ,b
2 k 1 q
,b
2 k q
Propiedad de Miller
Si n es primo impar dada la sec. {b , b
q 2 q
, ... ,b
2 k 1 q
,b
2 k q
} sucede que,
b 1 mod ( n )
q
2 j q
( n 1) mod ( n ) con 0 j k 1
Test de Miller
Se basa en elegir bases b al azar en el intervalo [1,...,n-1] y comprobar si cumplen o no, con la propiedad de Miller.
Testigos y No-Testigos
r
1 2 3 4
En 1977, Michael Rabin demostr que la cantidad de bases No Testigos para todo n entero compuesto impar es menor a n/4.
Pero ...
Sea n entero impar de 155 dgitos decimales ( 10155) Hay que probar con (n/4) bases pero (n/4) 10154
Investigacin
Investigacin
Investigacin
Teorema 1
Sea b [1,..., n-1], con n y q enteros impares, entonces b q 1 mod (n) (n-b) q (n-1) mod (n).
Investigacin
Corolario 1.1
Sea b [1,..., n-1], con n y q enteros impares, entonces b q (n-1) mod (n) (n-b) q 1 mod (n).
Investigacin
Teorema 2
Dado n nmero entero impar, b es No-Testigo para n (n-b) es No-Testigo para n (usando el mtodo de Miller).
Investigacin
Resumen
v
Investigacin
Corolario 2.1
n 3 entero impar, sucede que las bases 1 y (n-1) siempre son No-Testigos para n (usando el mtodo de Miller).
Investigacin
Resumen
b es No-Testigo (n-b) es No-Testigo v 1 y (n-1) siempre son No-Testigos
v
Investigacin
n-b
Investigacin
Corolario 2.2
n 3 entero impar, la cantidad de bases No-Testigos en el intervalo [1, ..., (n-1)] es par (usando el mtodo de Miller).
Investigacin
Resumen
v v v
b es No-Testigo (n-b) es No-Testigo 1 y (n-1) siempre son No-Testigos La cantidad de No-Testigos es par
Investigacin
Resumen
v v
Investigacin
Investigacin
Teorema 4
Las bases No - Testigos para n entero impar utilizando el mtodo de Miller,
en el intervalo [1,..., n2 1 ] estn espejadas
50
103 101
256 305
458
511 560
460
Investigacin
Resumen
v v
1 y (n-1) siempre son No-Testigos v La cantidad de No-Testigos es par v Las bases No-Testigos conforman un * subgrupo propio de Z n
v
Investigacin
b / b es No - Testigo de n <
(n-1)
b b / b es No - Testigo de n <
( n 1) 8
n-b
Investigacin
Teorema 5
n 9 entero impar, si se utiliza el n -1 Test de Miller con 8 bases distintas en [2,...,
n -1 2
Investigacin
Resumen
v v
1 y (n-1) siempre son No-Testigos v La cantidad de No-Testigos es par v Las bases No-Testigos conforman un * subgrupo propio de Z n v Las bases No-Testigos estn espejadas
v
bases No - Testigos.
n -1 8
Tests Propuestos
Tests Propuestos
Resumen
v v v v
b es No-Testigo (n-b) es No-Testigo 1 y (n-1) siempre son No-Testigos La cantidad de No-Testigos es par Las bases No-Testigos conforman un * subgrupo propio de Z n Las bases No-Testigos estn espejadas
n -1 2
v v
En el intervalo [2,...,
n -1 8
] hay
menos de
bases No - Testigos.
v
T E S T S
Tests Propuestos
Test Miller-MsUno
10) cantIteraciones = 0 Cant. de dgitos de n en base 10, ms 5. 15) l = ParteEnteraInferior (Log(10, n)) + 1 + 5 20) b = EnteroAlAzarDentroDelIntervalo (2, ((n-1)/2) - l - 1) 30) Si Testigo(b, n) entonces 40) 50) sino 60) 70) 80) 90) b = b +1 100) ir a 30 cantIteraciones = cantIteraciones + 1 Si (cantIteraciones = (l+1)) entonces
l Declarar a n como primo con prob. de error 4 (l+1).
Basadose en la Conjetura.
Tests Propuestos
Test Miller-EvitarNoTestigos
10) 20) 25) 30) 40) 50) 55) 60) 70) 80) 90) 100) Toma la primera base al azar Lista = CrearListaVacia() b = EnteroAlAzarDentroDelIntervalo (2, (n-1)/2) cantIteraciones = 0 Si Testigo(b, n) entonces Declarar a n como compuesto sino Agrega la base cantIteraciones = cantIteraciones + 1 No-Testigo a la lista. Lista.Agregar (b) Si (cantIteraciones = t) entonces Declarar a n como primo, con prob. error FENT (n, t ) b = NuevaBase (Lista) Calcula una nueva base que ir a 30 tenga chance de ser Testigo.
Tests Propuestos
Test Miller-EvitarNoTestigos
vSi c pertenece a la lista, entonces Funcin: NuevaBase contina recorriendo la lista. Entrada: L: Lista de Enteros Salida: c: Entero vSi ya no quedan elementos en la lista, entonces calcula una nueva L base con la funcin 47 250 100 67 EnteroAlAzarDentroDelIntervalo
4747 mod(703) = 100 250250 mod(703) = 636. Espejo(636) = 67
n = 703
1 13 15 48
c = 100 + 1
249
n 1 = 351 2
12 14
47 49
100
248
250
Resultados Obtenidos
Resultados Obtenidos
Nmeros Primos
Muestra de 500 nmeros primos de 155 dgitos decimales.
t Miller-Rabin Miller-MsUno Miller-EvitarNoTestigos
38,495 -
Tiempos en segundos
Resultados Obtenidos
Seudo Primo 4
Tiempo promedio empleado por los Tests para declarar a 4 como compuesto. Se realizaron 100.000 pruebas para cada Tests. t 16
Miller-Rabin Miller-MsUno Miller-EvitarNoTestigos
13,087
12,803
12,303
Tiempos en segundos
Resultados Obtenidos
Seudo Primo 4
Tras varias ejecuciones, el Test de MillerRabin respondi con 16 pruebas, que el seudo primo fuerte 4 era primo. Lo cual, bajo la hiptesis de la conjetura, nunca hubiera ocurrido si se hubiese utilizado el Mtodo Miller-MsUno
Conclusiones
I - Conclusin
Se redujo a la mitad, la cantidad de bases que deben ser testeadas, para declarar a un nmero n como primo, sin cometer error.
Conclusiones
II - Conclusin
La propiedad de espejo, permiti la [2,..., n2-1 ] en el reduccin del intervalo a Test Miller-Rabin, logrando as evitar que el generador seudo aleatorio devuelva los espejos de bases NoTestigos ya testeadas.
Conclusiones
IV - Conclusin
Si se demuestra la Conjetura presentada, entonces el Test Miller-MsUno, respondera si un nmero n dado es primo o no, sin cometer errores, en tiempo computacional aceptable.
Conclusiones
Conclusin Final
Inicialmente las bases No-Testigos, eran bases que engaaban al Test de Miller-Rabin y solo podan ser acotadas. Ahora, dadas las propiedades demostradas, estas bases brindan informacin muy relevante para la construccin de nuevos Test de Primalidad. Tal como se hizo en los Test presentados.
CLAVE
MTODOS DE ENCRIPCIN ASIMTRICOS
(pueden ser de clave pblica)
(PBLICA)
(PRIVADA)
CLAVE
Mediante un programa, el usuario genera un PAR de claves. Una es la pblica, la otra es la privada (secreta). Si se encripta con una, se desencripta con la otra.
Kprivada C P E Kpblica C P E D P D Kprivada P Kpblica
PBLICA
K*#5Al[#@Y6&(*-8!-U ]fQ1^+jW3!G&%;{I8=
ENCRIPCIN ASIMTRICA
gen. de # al azar
passphrase
3DES
salt
Criptografa PROTECCIN DE LA CLAVE PRIVADA EL USUARIO ES EL NICO RESPONSABLE DEL USO (o abuso) DE SU CLAVE PRIVADA.
CMO PROTEGERSE ?
v IDENTIFICACIN BIOMTRICA (huella digital)
RSA (Rivest-Shamir-Adleman)
Cada usuario tiene una clave pblica y una secreta donde todos los nmeros involucrados son enteros. El algoritmo es el siguiente:
1) Elegir dos primos distintos p y q 2) Calcular n = p.q, (n) = ( p-1).(q-1) 3) Elegir c tal que MCD(c, ( n)) = 1 4) Calcular d , solucin de la ecuacin modular c.d mod( ( n)) = 1 (existe y es nica !) 5) La clave privada es (c, n) y la pblica ( d , n) o viceversa
Para encriptar un mensaje se fracciona el mismo en bloques de bits de longitud M tal que 1 M N y se calcula
M 1 = M mod( N )
C
M mod( N ) = M
D 1
Ejemplo: P = 127 , Q = 103 , N = 127*103 = 13081, ( N ) = ( P - 1)*(Q - 1 ) = 1 2 8 5 2 Elegimos C = 59. Entonces , C * D m o d ( ( N ) ) = 5 9 * D m o d ( 1 2 8 5 2 ) La solucin es D = 1307. Si el problema es transmitir la letra B usamos M = 2.
M1 = M
m o d ( N ) = 2 5 9 m o d ( 1 3 0 8 1) = 1 0 0 4 1
Normalmente se dividen los mensajes en bloques cuya longitud es la mayor potencia de 2 menor que el nmero primo utilizado, aunque existen consideraciones de precisin numrica dependiendo de la cantidad de bits utilizados en la implementacin - que pueden llevar a disminur dicho valor.
N:
306 dgitos
82223242875921704475559193702869501278469798044602758231702468 29457482033497561394766141717298129983040589962912649393292598 46217662968832225753487463299329593910841608306970388847964283 28295467675928311974971201456274324631386769979787396877157698 63203330885138581401336977078858487734666726832360766535371291 70144766107629072147357132988233444051836584832849023240530313 77343454153628963105260968030088061476657167082531611977118907 75186754730970901045245320329988176204169500715588781409707253 92044657765516139092914121598155647242717934195403349840229962 7664976510410267545088131687504361360947849966613183169592687 611 dgitos
C:
12167430486751325478840018935696667364447799156361730169410293702 66200733361687234443454606479727504296448967701581418117851658881 44138539945866926957160612646013772936060336036518892738912119807 22089257399359150778518889290755981155174863593597695919064653933 18547932136435935931458826087424416340626832545607788784369332552 87483573344468252496274873250126031302286464830114829230131444459 83142948605363194497334801899114909785069317908876480058872818980 44752649253577780745208937848760408181503258886084499856438027451 05224795226273593210371649643311053136498877441292912216206775319 2022781500856868149620659341521641 610 dgitos
Si a este nmero le aplicamos la CLAVE PUBLICA del emisor obtenemos el mensaje original: Prueba de RSA con longitud 2048 Por lo tanto este es un mensaje firmado DIGITALMENTE por el emisor, pues es la nica persona que conoce la CLAVE PRIVADA utilizada para encriptar.
N = p.q forma parte de la clave pblica. Si se lo puede factorizar entonces se quiebra RSA, aunque ambos problemas no son equivalentes (Fiat-Shamir crearon un algoritmo para el cual quebrar es equivalente a factorizar)
Sin embargo los ataques de tipo matemtico conocidos son todos intentos de factorizar N (hay ataques sobre los protocolos utilizados).
Desafos actuales
HASHING
A2F508DE091AB30135F2
(PRIVADA)
CLAVE
FD
#3Ds@*j0{28z!^}Tc)%4+<6
FD
#3Ds@*j0{28z!^}Tc)%4+<6
(PBLICA)
CLAVE
A2F508DE091AB30135F2
A2F508DE091AB30135F2
ATTRIBUTE TYPES
P Physical Delivery Office Name Post Office Box Postal Address Postal Code Preferred Delivery Method Presentation Address Registered Address Role Occupant Search Guide See Also Serial Number
D F I K L M O
R S
Organization Name
Organizational Unit Name Owner
U X
Cadena de confianza
Solaris es el mejor sistema operativo Firmado: Scott McNeally Certifico que la firma que antecede es vlida y corresponde a Scott McNeally Firmado: George W. Bush Certifico que la firma que antecede es vlida y corresponde a George W. Bush Firmado: Bill Gates (root key)
Pero..
Estos mecanismos slo garantizan la integridad del mensaje y la relacin entre un DN (distinguished name) y el poseedor de una clave privada. La confianza se translada a la autoridad certificante (AC) El sistema requiere la consulta online de Listas de Certificados Revocados (CRLs) ATENCION!!!!!! La filtracin inadvertida de una clave privada no puede distinguirse de una firma verdica. El firmante puede negar la firma denunciando fraudulentamente su prdida. - Control por Timestamping
Criptografa E-COMMERCE E-COMMERCE: transacciones en Internet basado en la confianza y la seguridad mutuas REVENUES MUNDIALES E-COMMERCE AO 2000 BUSINESS-TO-BUSINESS: 125.000 Millones U$S BUSINESS-TO-CONSUMER: 9.000 Millones U$S
B-to-C 7%
B-to-B 93%
INTERNET
es abierta es universal es econmica es insegura requiere confidencialidad requiere autentificacin requiere control de integridad requiere simplicidad es el futuro
e-Commerce
[01.01.09] Li [Quit Crew] UCES Edu (www.uces.edu.ar) [01.01.10] Lr [DevilSoul] UTN Edu (AR) (linus.frm.utn.edu.ar) 01. [01.02.08] NT [Cr1m3 0rg4n1z4d0] www.ssn.gov.ar (www.ssn.gov.ar) [01.02.13] NT [Cr1m3 0rg4n1z4d0] M #2 Sernah (AR) (www.sernah.gov.ar) 01 .[01.02.27] NT [OSH] #2 Argentina Department of Finance, Import Export and Immigration 01.03.02] NT [Anti-401] M www.muninqn.gov.ar (www.muninqn.gov.ar) [01.03.05] NT [Zeta_Blok] Teveco-net (www.teveco.com.ar) [01.03.29] Ir [quit crew] M Keytech (AR) (www.keytech.com.ar) [[01.04.14] NT [USDL] #2 UNT Edu (www.csnat.unt.edu.ar) [01.04.14] NT [USDL] M Facultad de Ciencia Politica y RR.II. - UNR (www.fcpolit.unr.edu.ar) [01.04.18] NT [cr1m3 0rg4n1z4d] M Arzbaires Edu (www.arzbaires.edu.ar) [01.04.19] NT [Cr1m3 0rg4n1z4d] M Austral Edu (www.austral.edu.ar) [01.04.19] NT [cr1m3 0rg4n1z4d0] www.agrarias.unca.edu.ar (www.agrarias.unca.edu.ar) [01.04.24] NT [hex] Canal5 (AR) (www.canal5.com.ar) 200.47.45.6 [01.04.25] Sc [Supreme Entity] C Cable Dos Net (www.cabledosse.com.ar) 200.50.169.50 [01.04.26] NT [tty0] Instituto Nacional de Tecnologia Argentina (www.inta.gov.ar) [ [ [01.05.04] 2k [Prime Suspectz] McDonalds Argentina (www.mcdonalds.com.ar) [01.05.06] IR [Prime Suspectz] Instituto Nacional de Educacin Tecnolgica) [01.05.06] Lr [br0k3d] Boldt (www.boldt.com.ar) 200.47.10.228 [01.05.07] NT [JoeGoeL] (www.asesorbaires.gov.ar) 200.51.67.114 [01.05.07] NT [Ne0tz] Concordia (AR) (www.concordia.com.ar) 200.3.119.193 [01.05.08] IR [WFD] C INET Edu (AR) (www.inet.edu.ar) 168.83.21.35 [01.05.10] IR [Prime Suspectz] Revista Electrnica del Derecho de las Telecomunicaciones Fuente: http://www.attrition.org/mirror/attrition/ar.html
la solucin es...
QU ES PKI?
(Public Key Infraestructure) q No es un producto ni un servicio. q Es una capacidad adquirible para generar trfico de informacin confidencial inviolable en redes abiertas e inseguras (Internet/Intranet/Extranet), usando criptografa de clave pblica.
USUARIO
INTERNET
certif X. 509
USUARIO
INTERNET
USO:
SSL
con autenticacin cliente e-Mail seguro Transacciones seguras (form-signing) Tnel VPN (IPsec)
certif X.509
SERVER
certifX .509
USB
USER HOSTING
INTERNET
USO: SSL con autenticacin cliente e-Mail seguro Transacciones seguras (form-signing) Tnel VPN (IPsec) Solucin mvil
certifX .509
SERVER
Los procesos estndar de Enroll generan claves dbiles (RSA-512 bits) y certificados que negocian suites dbiles (RC2-40 bits). An las CSP enhanced (RSA-1024 bits/RC2-128 bits) no logran la mxima seguridad posible. Para aplicaciones comerciales inviolables hay que usar CSP especiales que generen claves muy fuertes (RSA-2048 bits) y certificados que negocien suites muy fuertes (3DES-168 bits)
Secure E-Mailing Secure Form-Signing SSL v3 point-to-point authentication VPN (IPsec) point-to-point tunnel (solucin B2B) Client Hosting (soluciones mviles) Barreras de alta seguridad (capa biomtrica, autenticacin smartcard o eToken, etc)
INTERNET
Certificado IPsec
INTERNET
CASA CENTRAL
clientes
Distribuidor B
Tnel IPSec
clientes
Distribuidor C
autenticacin fuerte =
algo que Ud. tiene + algo que Ud. sabe
y bsicamente esto hace la firma digital y la firma electrnica.....
+ -
+ -
+ +
+ +
Con inversin de prueba
se pueden usar combinados con la tecnologa PKI para proteger claves privadas o independientemente para autenticar al cliente (firma electrnica) (requiere dispositivos lectores y drivers instalados)
mtodos biomtricos
Calculadoras token
se logra firma electrnica a travs del clculo de secuencias numricas
Es 100% porttil pero posee desventajas en cuanto a su costo, duracin de batera y desincronizacin
Inserta su miniCD en cualquier PC sin necesidad de instalar drivers o usar interfases, calculando el valor de su firma electrnica vlida por 1 minuto...
Autenticacin fuerte de 2 factores (algo que Ud. sabe+ algo que Ud. tiene) Basado en un algoritmo inquebrable ( Cryptoflash 1024 bits) personalizado para cada usuario en forma particular La secuencia se repite cada 10.000 aos Sincronizacin automtica on-line con un reloj atmico GMT
BUSINESS CASE
cada cliente recibe un miniCD y una tarjeta raspable con una contrasea personal que deber memorizar
Nro de serie 5233
maria644
no necesita instalar nada, automticamente se abre (en 15 segundos) el programa de firma electrnica
LISTO!!
no necesitar memorizar ese nmero, se copi automticamente a la memoria.... bastar pegarlo en el casillero destinado de la pgina activa del server
(use el botn derecho del mouse)
y autoriza el ingreso....
la Firma Electrnica es a prueba de hackers aunque alguien escuche el nmero... ...no podr reutilizarlo ni adivinar cul ser el prximo...