You are on page 1of 253

Institucin Certificada Norma ISO 9001:2000

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA Academia de Informtica y Sistemas Computacionales Antologa CRIPTOGRAFA

Presenta: ROCO DE LA CRUZ HERNNDEZ

Revisado por los integrantes de la academia de Informtica y Sistemas Computacionales


Material compilado con fines acadmicos

Fecha elaboracin: Agosto 2009

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

Unidad 1 Introduccin ntroduccin


Este es el alfabeto

1.1 Historia de la Criptografa Criptografa.


Ver documento Una breve panormica de La criptografia. a

1.2 Servicios y Mecanismos de Seguridad.


Ver documento Introduccin a la Criptografia

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

1.4 La Arquitectura de Seguridad de OSI.


El documento de ISO que describe el Modelo de Referencia OSI, presenta en su el Parte 2 una Arquitectura de Seguridad. Segn esta arquitectura, para Seguridad. proteger las comunicaciones de los usuarios en las redes, es necesario dotar a las mismas de los siguientes servicios 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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

Intercambio de autentificacin. Existen dos grados en el mecanismo autentificacin. de autenticacin:

Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

Unidad 2 Tcnicas clsicas de cifrado


2.1 Introduccin y clasificacin de los sistemas de cifrado.


VER MAPA, EN EXPOSICIN

Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

2.2 Operaciones utilizadas.


2.2.1.2 Polilfabtica: cifrado de Desplazamiento, Vigenre y Vernam. Cifrados polialfabticos Hacia 1460 Len Battista Alberti, una de las figuras principales del Renacimiento, propuso utilizar dos o ms alfabetos cifrados, alternando entre ellos durante la codificacin, sin embargo no logr desarrollar su concepto y convertirlo en un sistema de codificacin plenamente formado. 1523). Cifra de Vigenre (Vigenre fue un diplomtico francs nacido en

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA 2.2.2 Algoritmos de Transposicin.

Academia de Informtica y Sistemas Computacionales

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

Ejemplo de sustitucin: ENCONTRMONOS A MEDIANOCHE A D H I K M O R S U W Y Z

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA Cifrado Afn

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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

B es una matriz nx1


n C es la matriz columna resultante del cifrado de P. C = 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

1 27 1 ; y como B la matriz hacemos : Tomando como A la matriz 0 3 0

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)

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

2.3 Nmeros de claves.


2.3.1 Sistemas de una clave. 2.3.1.1 Cifradores simtricos. 2.3.2 Sistemas de dos claves. 2.3.2.1 Cifradores asimtricos.

2.4. Formas de procesamiento de datos.


2.4.1 Procesadores seriales o en flujo. 2.4.2 Procesadores por bloques.

Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

Unidad 3 Gestin de claves.


Abarca la generacin, distribucin, almacenamiento, tiempo de vida, destruccin y aplicacin de las claves de acuerdo con una poltica de seguridad. Como puede verse en la siguiente tabla, si se utiliza una clave de 8 caracteres de longitud, con los 96 caracteres posibles, puede tardarse 2.288 caracteres aos en descifrarla (analizando 100.000 palabras por segundo). Esto se obtiene a partir de las 96^8 (7.213.895.789.838.340) claves posibles de generar con esos caracteres.
Cantidad de Caracteres 6 7 8 9 10 26 Letras Minsculas Minscula 51 minutos 22,3 horas 24 das 21 meses 45 aos 36 Letras y Dgitos 6 horas 9 das 10,5 meses 32,6 aos 1.160 aos 52 Maysculas y minsculas 2,3 dias 4 meses 17 aos 890 aos 45.840 aos 96 Todos los Caracteres 3 meses 24 aos 2.288 aos 219.601 aos 21.081.705 aos

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

3.1 Generacin de claves


La seguridad de un algoritmo descansa en la clave. Un criptosistema que haga uso de claves criptogrficamente dbiles ser l mismo dbil. Algunos aspectos a considerar que se presentan a la hora de la eleccin de las claves son: Espacio de claves reducido Cuando existen restricciones en el nmero de bits de la clave, o bien en la clase de bytes permitidos (caracteres ASCII, caracteres alfanumricos, imprimibles, etc.), los ataques de fuerza bruta con hardware especializado o proceso en paralelo pueden desbaratar en un tiempo razonable estos eso sistemas. 3.2 Eleccin pobre de la clave Cuando los usuarios eligen sus claves, la eleccin suele ser muy pobre en general (por ejemplo, el propio nombre o el de la mujer), hacindolas muy dbiles para un ataque de fuerza bruta que primero pruebe las claves ms iles obvias (ataque de diccionario).

3.3 Claves aleatorias


Claves buenas son las cadenas de bits aleatorios generadas por medio de algn proceso automtico (como una fuente aleatoria fiable o un generador pseudo-aleatorio criptogrficamente seguro), de forma que si la aleatorio clave consta de 64 bits, las 264 claves posibles sean igualmente probables. En el caso de los criptosistemas de clave pblica, el proceso se complica, ya que a menudo las claves deben verificar ciertas propiedades matemticas (ser primos dos veces seguros, residuos cuadrticos, etc.).

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).

3.4. Distribucin de claves


Sin duda alguna, el problema central de todo sistema de gestin de claves lo constituyen los procedimientos de distribucin de stas. Esta procedimientos
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

3.5. Almacenamiento de claves


En sistemas con un solo usuario, la solucin ms sencilla pasa por ser su retencin en la memoria del usuario. Una solucin ms sofisticada y que desde luego funcionar mejor para claves largas, consiste en almacenarlas en una uncionar tarjeta de banda magntica, en una llave de plstico con un chip ROM (ROM key) o en una tarjeta inteligente, de manera que el usuario no tenga ms que
Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

3.6. Tiempo de vida de claves


fecha Una clave nunca debera usarse por tiempo indefinido. Debe tener una debera de caducidad, por las siguientes razones: Cuanto ms tiempo se usa una clave, aumenta la probabilidad de que se comprometa (la prdida de una clave por medios no criptoanalticos se denomina compromis compromiso). Cuanto ms tiempo se usa una clave, mayor ser el dao si la clave se compromete, ya que toda la informacin protegida con esa clave queda al descubierto. Cuanto ms tiempo se usa una clave, mayor ser la tentacin de alguien para intentar desbaratar desbaratarla. En general es ms fcil realizar criptoanlisis con mucho texto cifrado con la misma clave.

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

3.7. Destruccin de claves


Las claves caducadas deben ser destruidas con la mayor seguridad, de modo que no caigan en manos de un adversario, puesto que con ellas podra leer los mensajes antiguos. En el caso de haber sido escritas en papel, ste deber ser debidamente destruido; si haban sido grabadas en una EEPROM, deber sobreescribirse mltiples veces, y si se encontraba en EPROM, PROM o tarjeta de banda magntica, debern ser hechas aicos (muy pequeitos, a e poder ser). En funcin del dispositivo empleado, deber buscarse la forma de que se vuelvan irrecuperables.
Las ideas de esta seccin sobre gestin de claves han sido extradas del libro "Applied Cryptography", por Bruce Schneier. "Applied

3.8. Normas de Eleccin de Claves


Se debe tener en cuenta los siguientes consejos: 1. No utilizar contraseas que sean palabras (aunque sean extranjeras), o nombres (el del usuario, personajes de ficcin, miembros de la familia, mascotas, marcas, ciudades, lugares, u otro relacionado). 2. No usar contraseas completamente numricas con algn significado (telfono, D.N.I., fecha de nacimiento, patente del automvil, etc.). 3. Elegir una contrasea que mezcle caracteres alfabticos (maysculas y minsculas) y numricos. 4. Deben ser largas, de 8 caracteres o ms. 5. Tener contraseas diferentes en mquinas diferentes. Es posible usar mquinas una contrasea base y ciertas variaciones lgicas de la misma para distintas mquinas. 6. Deben ser fciles de recordar para no verse obligado a escribirlas. Algunos ejemplos son: Combinar palabras cortas con algn nmero o carcter de puntuacin: soy2_yo3 Usar un acrnimo de alguna frase fcil de recordar: A r io R evuelto G anancia d e P escadores -> ArRGdP Aadir un nmero al acrnimo para mayor seguridad: A9r7R5G3d1P Mejor incluso si la frase no es conocida: H a sta A h ora n o h e O l vidado m i C o ntrasea -> aHoelIo Elegir una palabra sin sentido, aunque pronunciable: taChunda72, taChunda72 AtajulH, Wen2Mar Realizar reemplazos de letras por signos o nmeros: E n S eguridad M s V ale P revenir q ue C urar -> 35M\/Pq< /Pq<

Normas para Proteger una Clave


La proteccin de la contrasea recae tanto sobre el administrador del sistema como sobre el usuario. Al comprometer una cuenta se puede estar comprometiendo todo el sistema.

Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

Contraseas de un Slo Uso


Las contraseas de un solo uso (One Time Passwords) son uno de los seas (One-Time mecanismos de autentificacin ms seguros, debido a que su descubrimiento tan solo permite acceder al sistema una vez. Adems, en muchas ocasiones se suelen utilizar dispositivos hardware para su generacin, lo que las hace generacin, mucho ms difciles de descubrir. Ejemplos de este tipo de contraseas serian las basadas en funciones unidireccionales (sencillas de evaluar en un sentido pero imposible o muy costoso de evaluar en sentido contrario) y en listas de contraseas. de Se distinguen tres tipos de contraseas de un solo uso: 1. Las que requieren algn dispositivo hardware para su generacin, tales como calculadoras especiales o tarjetas inteligentes (Token Cards). 2. Las que requieren algn tipo de software de cifrado especial. cifrado 3. Las que se basan en una lista de contraseas sobre papel. La tarjeta genera peridicamente valores mediante a una funcin secreta y unidireccional, basada en el tiempo y en el nmero de identificacin de la misma. El usuario combina el nmero generado por la tarjeta con su palabra de paso para obtener el password de entrada, lo que le protege en caso de robo o perdida.

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

Unidad 4 Criptografa simtrica


4.1. La criptografa simtrica


Es un mtodo criptogrfico en el cual se usa una misma clave para cifrar y grfico 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.
La necesidad de ocultar el significado de un mensaje de forma que slo el destinatario pueda entenderlo es muy antigua. Es una necesidad militar elemental. Se tienen noticias de su uso hace ms de tres mil aos en Egipto y estn bien documentados aos algunos sistemas elementales usados por Julio Cesar. Utilizaremos indistintamente las expresiones encriptar, codificar y cifrar para referirnos al proceso de ocultar la informacin que se va a transmitir de forma que slo el destinatario pueda entenderla. En realidad la palabra encriptar es un anglicismo, pero est ya muy extendida en el mundo hispano parlante. Describiremos para comenzar cuatro sistemas bsicos: Sustitucin, permutacin, confusin intercalada y esteganografa. Todos estos sistemas se llaman de clave esteganografa. simtrica ya que ser la misma clave la que se utilizar para la codificacin y para la descodificacin. En otras palabras, a diferencia de la criptografa asimtrica que veremos ms adelante, en todos estos casos la persona que es capaz de descifrar un estos mensaje es capaz tambin de cifrarlo.

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

Dependiendo de la naturaleza de la aplicacin DES tiene cuatro modos de operacin aplicacin

Asignatura: Criptografa
Material compilado con fines acadmicos, se prohbe su reproduccin total o parcial sin autorizacin de cada autor.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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.

Unidad 5 Criptografa Asimtrica


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.

INSTITUTO TECNOLGICO SUPERIOR DE CENTLA

Academia de Informtica y Sistemas Computacionales

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

noviembre-diciembr e-diciembre N 172, noviembre-diciembre 2004, ao XXX editorial


Nueva Junta Directiva General de ATI La va agropisccola a las patentes de software A vueltas con el canon privado sobre soportes digitales

sumario
> 02

en resumen

> 05

Las claves Rafael Fernndez Calvo

monografa

SECCIONES TECNICAS: COORDINADORES


Administracin Pblica electrnica Gumersindo Garca Arribas, Francisco Lpez Crespo (MAP) <gumersindo.garcia@map.es>, <flc@ati.es> Arquitecturas Jordi Tubella (DAC-UPC) <jordit@ac.upc.es> Vctor Vials Yfera (Univ. de Zaragoza) <victor@unizar.es> Auditora SITIC Marina Tourio, Manuel Palao (ASIA) <marinatourino@marinatourino.com>, <manuel@palao.com> Bases de datos Coral Calero Muoz, Mario G. Piattini Velthuis (Escuela Superior de Informtica, UCLM) <Coral.Calero@uclm.es>, <mpiattin@inf-cr.uclm.es> Derecho y tecnologas Isabel Hernando Collazos (Fac. Derecho de Donostia, UPV)<ihernando@legaltek.net> Isabel Davara Fernndez de Marcos (Davara & Davara) <idavara@davara.com> Enseanza Universitara de la Informtica Joaqun Ezpeleta Mateo (CPS-UZAR) <ezpeleta@posta.unizar.es> Cristbal Pareja Flores (DSIP-UCM) <cpareja@sip.ucm.es> Gestin del Conocimiento Joan Baiget Sol (Cap Gemini Ernst & Young) <joan.baiget@ati.es> Informtica y Filosofa Josep Corco (UIC) <jcorco@unica.edu> Esperanza Marcos (ESCET-URJC) <cuca@escet.urjc.es> Informtica Grfica Miguel Chover Sells (Universitat Jaume I de Castelln) <chover@lsi.uji.es> Roberto Viv (Eurographics, seccin espaola) <rvivo@dsic.upv.es> Ingeniera del Software Javier Dolado Cosn (DLSI-UPV) <dolado@si.ehu.es> Luis Fernndez (PRIS-EI-UEM) <lufern@dpris.esi.uem.es> Inteligencia Artificial Federico Barber,Vicente Botti (DSIC-UPV) <{vbotti, fbarber}@dsic.upv.es> Interaccin Persona-Computador Julio Abascal Gonzlez (FI-UPV) <julio@si.ehu.es> Jess Lors Vidal (Univ. de Lleida) <jesus@eup.udl.es> Internet Alonso lvarez Garca (TID) <alonso@ati.es> Lloren Pags Casas (Indra) <pages@ati.es> Lengua e Informtica M. del Carmen Ugarte (IBM) <cugarte@ati.es> Lenguajes informticos Andrs Marn Lpez (Univ. Carlos III) <amarin@it.uc3m.es> J. ngel Velzquez (ESCET-URJC) <a.velazquez@escet.urjc.es> Libertades e Informtica Alfonso Escolano (FIR-Univ. de La Laguna) <aescolan@ull.es> Lingstica computacional Xavier Gmez Guinovart (Univ. de Vigo) <xgg@uvigo.es> Manuel Palomar (Univ. de Alicante) <mpalomar@dlsi.ua.es> Mundo estudiantil Adolfo Vzquez Rodrguez (Rama de Estudiantes del IEEE-UCM) <a.vazquez@ieee.org> Profesin informtica Rafael Fernndez Calvo (ATI) <rfcalvo@ati.es> Miquel Srries Gri (Ayto. de Barcelona) <msarries@ati.es> Redes y servicios telemticos Luis Guijarro Coloma (DCOM-UPV) <lguijar@dcom.upv.es> Josep Sol Pareta (DAC-UPC) <pareta@ac.upc.es> Seguridad Javier Areitio Bertoln (Univ. de Deusto) <jareitio@eside.deusto.es> Javier Lpez Muoz (ETSI Informtica-UMA) <jlm@lcc.uma.es> Sistemas de Tiempo Real Alejandro Alonso, Juan Antonio de la Puente (DIT-UPM)<{aalonso,jpuente}@dit.upm.es> Software Libre Jess M. Gonzlez Barahona, Pedro de las Heras Quirs (GSYC-URJC) <{jgb,pheras}@gsyc.escet.urjc.es> Tecnologa de Objetos Jesus Garca Molina (DIS-UM) <jmolina@correo.um.es> Gustavo Rossi (LIFIA-UNLP, Argentina) <gustavo@sol.info.unlp.edu.ar> Tecnologas para la Educacin Juan Manuel Dodero Beardo (UC3M) <dodero@inf.uc3m.es> Francesc Riviere (PalmCAT) <friviere@wanadoo.es> Tecnologas y Empresa Pablo Hernndez Medrano (Bluemat) <pablohm@bluemat.biz> TIC para la Sanidad Valentn Masero Vargas (DI-UNEX) <vmasero@unex.es> TIC y Turismo Andrs Aguayo Maldonado, Antonio Guevara Plaza (Univ. de Mlaga) <{aguayo, guevara}@lcc.uma.es>

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

> 06 > 08 > 10 > 15 > 17 > 21 > 24 > 28 > 33

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

Redes y servicios telemticos

SRMSH: un mecanismo multinivel de control de la congestin con deteccin y recuperacin de prdidas Oscar Martnez Bonastre, Carlos Palau Salvador

> 50 > 55 > 58 > 64

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

monografa Criptografa - Una tecnologa clave

Arturo Ribagorda Garnacho1, Javier Areitio Bertoln2


Depto. de Informtica, Universidad Carlos III de Madrid; 2 Universidad de Deusto (Bilbao)
1

Una breve panormica de la Criptografa

<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

novtica / upgrade n 172 noviembre-diciembre 2004

Criptografa - Una tecnologa clave monografa

Figura 1. Esquema de un sistema de cifrado.

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.

novtica / upgrade n 172 noviembre-diciembre 2004

Prof.: Luis de Salvador

REDES DE ORDENADORES

APUNTES DEL TEMA INTRODUCCION A LA CRIPTOGRAFIA

13/11/2005

Pgina: 1

Prof.: Luis de Salvador

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.

ANEXOS.................................................................................................................................................................. 21 7.1 7.2 CALCULO DE POTENCIA-MODULO ........................................................................................................................ 21 COMBINATORIA.................................................................................................................................................. 21 Pgina: 2

13/11/2005

Prof.: Luis de Salvador


8. REFERENCIAS....................................................................................................................................................... 23

13/11/2005

Pgina: 3

Prof.: Luis de Salvador

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.

1.1 Mecanismos de ocultacin de mensajes


Si se quiere enviar un mensaje sin que sea detectado dicho mensaje existen dos mecanismos clsicos: ? La esteganografa ? La criptografa. La esteganografa consiste en ocultar un mensaje dentro de otro mensaje (o materia) que se intercambia. De esa forma, un mensaje trivial oculta otro tipo de mensaje. Aunque es una posibilidad en el intercambio de mensajes entre ordenadores, no nos vamos a ocupar de l en este tema. Para proteger un mensaje dentro de un esteganograma se pueden emplear tcnicas que no incluyen la criptografa. Podramos generar una gran cantidad de informacin irrelevante y subdividirla junto con el mensaje original en pequeos paquetes, a los que aadiramos un cdigo de identificacin (signatura), de forma que slo los paquetes que corresponden al mensaje contengan una signatura correcta. Si enviamos una secuencia de paquetes en la que aparece el mensaje original entremezclado con la basura, slo quien disponga del mecanismo de autentificacin correcto -que podra depender de una clave- estar en condiciones de recuperar el mensaje original. Sin embargo, el mensaje ha sido enviado como texto claro, sin ser codificado en ningn momento. Tan slo enumerar algunas tcnicas: ? Ocultacin fsica del mensaje en algn objeto (doble fondo, capa de pintura, etc). ? Que el propio objeto sea un mensaje por un acuerdo tcito entre los interlocutores. ? La escritura con zumo de limn ? Aadir marcas en un texto u organizar un texto de alguna forma que incorpore un mensaje diferente. ? El modificar cdigos de color en una imagen para esconder un mensaje. La criptologa (del griego krypto y logos, estudio de lo oculto, lo escondido) es la ciencia que trata los problemas tericos relacionados con la seguridad en el intercambio de mensajes encriptados 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 encriptados y del diseo de criptosistemas (hablaremos de stos ms adelante) ? El criptoanlisis, que trata de descifrar los mensajes en clave, rompiendo as el criptosistema. La criptografa es una de las ciencias consideradas ms antiguas, ya que sus orgenes se remontan al nacimiento de nuestra civilizacin. Su uso original era el proteger la confidencialidad de informaciones militares y polticas,
13/11/2005 Pgina: 4

Prof.: Luis de Salvador


pero en la actualidad es una ciencia interesante para cualquiera que est interesado en la confidencialidad de los datos. En muchos casos esteganografa y criptografa van de la mano para reforzar uno con otro. En ambos casos, asociado al mensaje se encuentra la clave. La clave es un elemento variable que aadido al mecanismo de ocultacin o encriptacin nos permite esconder/desverlar o encriptar/desencriptar el mensaje. Ms adelante se tratarn los problemas asociados con la clave.

1.2 Mecanismos bsicos de encriptacin


Los mecanismos bsicos de encriptacin son dos: ? Transposicin ? Sustitucin La transposicin considera el mensaje formado por n-simbolos que podemos desordenar para ocultar su significado. P.e.: esto es transposicin sicintranspo se toes Ejemplos de transposicin pueden ser: ? La scytale espartana, en la que una cinta se enrrollaba sobre un prisma hexagonal. El mensaje se escribe sobre la cinta enrrollada y al desenrrollarla se ha desordenado el mensaje. Es necesario una scytale de iguales dimensiones para descifrar el mensaje. ? En sistemas ms modernos, DES utiliza numerosos pasos de transposicin en su algoritmo pero no sobre letras, sino sobre bits. La sustitucin consisten en sustituir un smbolo por otro, de forma que si no se conoce la correspondencia de sustitucin, no se puede realizar el desencriptado. Como es el caso del DES, normalmente transposicin y sustitucin se emplean conjuntamente. Es importante distinguir entre los mecanismos bsicos y los cdigos concretos empleados. Un tipo de cdigo concreto (como Lucifer) normalmente emplear distintas aproximaciones combinadas de sustitucin y transposicin.

1.3 Estrategias de sustitucin


La sustitucin se puede realizar a varios niveles ? A nivel de mensaje, en el que un mensaje concreto es sustituido por otro previamente consensuado. No est oculto en el mismo y por tanto no es esteganografa. P.e.: "El desembarco de Normanda es esta noche" se sustituye por "Hieren mi corazn con montona languidez" (blesse mon coeur d'une langueur monotone-Verlaine) ? A nivel de lenguaje, mediante sustitucin de un idioma por otro. Como es el caso de los code-talkers Navajos en las operaciones de la guerra del Pacfico. ? A nivel de palabra. Es un caso ms reducido que el anterior, pues la sustitucin de una palabra por otra no es tan fuerte como la sustitucin de una sintxis y semntica. En este caso se considera que tenemos una codificacin. Por ejemplo, se sustituye un nombre: Los japoneses, durante la Segunda Guerra Mundial sustituyeron el nombre de la isla Midway por un cdigo: AF. ? A nivel de letra. En este caso se habla de cifrado. Una letra se sustituye por otra diferente siguiendo algn criterio constante o variable. ? A nivel de bit. En este caso tenemos cifrado digital. Todos los smbolos se traducen a grupos de bits y los bits se manipulan individualmente. Insistiendo en lo apuntado anteriormente, cualquier sistema de codificacin suele incluir varias estrategias de sustitucin simultneamente, como en el codigo de la Marina Imperial Japonesa (JN-25b, variante del cdigo diplomtico Prpura).

13/11/2005

Pgina: 5

Prof.: Luis de Salvador 1.4 Periodos histricos de la criptografa


Podemos dividir la historia de la criptografa en tres periodos fundamentales: 1. Hasta mediados de siglo, tenemos la criptologa precientfica, considerada no una ciencia sino ms bien un arte. 2. En 1949, Shannon logr cimentar la criptografa sobre unas bases matemticas, comenzando el perodo de la criptografa cientfica. 3. Poco ms de diez aos despus se comenz a estudiar la posibilidad de una comunicacin secreta sin que ambas partes conocieran una clave comn (hasta ese momento la existencia de dicha clave era la base de toda la seguridad en el intercambio de informacin), de forma que esos estudios dieron lugar a diversos artculos sobre el tema durante la dcada de los setenta. Finalmente, en 1976 Diffie y Hellman publicaron sus trabajos sobre criptografa de clave pblica, dando lugar al perodo de criptografa de clave pblica, que dura hasta la actualidad .

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

Prof.: Luis de Salvador


matemtica irreversible (al menos, computacionalmente): no es posible invertir la funcin a no ser que se disponga de la clave de descifrado. De esta forma, cualquier conocedor de la clave (y, por supuesto, de la funcin), ser capaz de descifrar el criptograma, y nadie que no conozca dicha clave puede ser capaz del descifrado, an en el caso de que se conozca la funcin utilizada .

2.2 Adecuacin de un criptosistema


La adecuacin de un criptosistema va a venir en funcin de muchos parmetros: ? La vida del mensaje o durante cuanto tiempo la informacin tiene valor. Hay mensajes que slo es necesario mantenerlo ocultos pocos minutos mientras que otros aos enteros. ? Valor objetivo/subjetivo del mensaje. ? La necesaria velocidad/recursos para realizar la encriptacin. ? La necesaria velocidad/recursos para realizar la desencriptacin.

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

Prof.: Luis de Salvador 2.4 Fuentes de informacin del criptoanalista


Las fuentes de informacin comunes del criptoanalista se pueden clasificar en: ? Fuentes de informacin en la clave ? Fuentes de informacin en el texto plano Puntos debiles de los mensajes encriptados o texto plano: ? Volumen de texto criptografado con el mismo cdigo y la misma clave. ? Estructura subyacente similar en todos los mensajes. ? Se deben eliminar patrones en el texto plano ? La entrada al cifrador debe aleatorizarse Los puntos dbiles de las claves son similares como se ver a continuacin

3. CONCEPTOS DE GESTIN DE CLAVES


Se puede ilustrar el problema de la gestin de claves de la siguiente forma. Supongamos que utilizamos un sistema de transposicin para enviar mensajes de 100 carcteres. El nmero de claves distintas que vamos a tener estar en funcin del conjunto de permutaciones que se puedan realizar. El nmero de permutaciones sin repeticin ser entondes de 100!. Esto equivale a grosso modo entre (100/3)100 y (100/2)100, ms o menos 2500 posibilidades distintas de desorden. La clave por lo tanto de nuestra transposicin ser una de esas posiblidades distintas. Para encriptar el mensaje realizaremos el desorden que est indicado por la clave y para recuperar el texto plano utilizaremos el camino inverso.

3.1 Gestin de claves


En este proceso surgen dos problemas fundamentales que se conocen como problemas de gestin de claves: ? La eleccin de la clave ? La comunicacin de la clave. La eleccin de la clave est en relacin con la eliminacin de claves dbiles, la repeticin de claves y la de cubrir el espacio de claves de forma equiprobable. ? Una clave dbil sera por ejemplo aquella que permuta todo el texto en pares de dos letras, o el principio con el final, etc. Eso significa que el nmero de permutaciones disponibles o claves es mucho menor a 2500. ? La repeticin de claves evita que el criptoanalista tenga suficiente texto encriptado con una misma clave para poder iniciar un ataque. ? Cubrir el espacio de claves es vital, por que si el sistema de seleccin de clave reduce dicho espacio la oportunidad de romper la clave es ms alta. Por lo tanto es necesario estudiar cmo es la distribucin de probabilidad del sistema de seleccin de claves que se emplea (siempre dentro de las claves no-dbiles) para que se acerque lo ms posible a una distribucin uniforme (todas son equiprobables). La comunicacin de la clave es el problema de como se consensua que un texto plano ha sido encriptado con una determinada clave. Emisor y receptor han de poder generar el subconjunto de claves posibles y poder seleccionar en cada momento la clave elegida todo ello con la adecuada confidencialidad. El problema de la comunicacin de la clave ha sido uno de los grandes problemas con los que se ha enfrentado tradicionalmente la criptografa y ha constituido el taln de Aquiles de la mayora de los sistemas criptogrficos.

3.2 Definiciones
Ante estos problemas surgen las siguientes definiciones:

13/11/2005

Pgina: 8

Prof.: Luis de Salvador


3.2.1 Relacin de claves Las relaciones de claves es el estado de la comunicacin entre dos entidades en la que comparten una informacin comn para las tareas de encriptado. Esta informacin pueden ser claves pblicas o secretas, valores de inicializacin y otra informacin no secretas. 3.2.2 Gestin de claves Conjuntos de procedimientos y tcnicas para soportar el establecimiento y matenimiento de la relacin de claves entre dos partes autorizadas. Las tcnicas han de permitir: ? Inicializacin de usuarios de sistema en un dominio ? Generacin, inicializacin y distribucin de material de codificacin ? Controlar el uso del material de encriptado. ? Actualizacin, revocacin y destruccin del material de codificacin ? Almacenamiento, backup y archivo del material de codificacin 3.2.3 Criptoperiodo Periodo de tiempo en el que una clave es vlida. Esto divide a las claves entre las de largo plazo y corto plazo. 3.2.4 Tipos de claves En funcin de uso todas las claves no van a ser iguales, se pueden clasificar en: ? Maestras: en el nivel ms alto de la jerarqua y no estn protegidas por ninguna otra clave ? Para encriptar claves: para transportar o almacenar otras claves. Claves de transporte. ? Para encriptar datos: suelen ser claves de corto plazo (en criptografa simtrica) y la mejor eleccin es que resulten claves de un slo uso.

3.3 Clasificacin de los criptosistemas en funcin de la clave


La gran clasificacin de los criptosistemas se hace en funcin de la disponibilidad de la clave de cifrado/descifrado. Existen, por tanto, dos grandes grupos de criptosistemas: ? De clave privada ? De clave pblica 3.3.1 Criptosistemas de clave privada Denominamos criptosistema de clave privada (de clave secreta, de clave nica o simtrico) a aquel criptosistema en el que la clave de cifrado, K, puede ser calculada a partir de la de descifrado, K0, y viceversa. En la mayora de estos sistemas, ambas claves coinciden, y por supuesto han de mantenerse como un secreto entre emisor y receptor ya que si un atacante descubre la clave utilizada en la comunicacin, ha roto el criptosistema . 3.3.2 Criptosistemas de clave pblica En un cirptosistema de clave privada, el hecho de que exista al menos una clave de cifrado/descifrado entre cada dos usuarios de un sistema hara inviable la existencia de criptosistemas simtricos en las grandes redes de computadores de hoy en da: para un sistema de computacin con N usuarios, se precisaran N(N-1)/2 claves diferentes, lo cual es obviamente imposible en grandes sistemas. En 1976, Whitfield Diffie y Martin Hellman, de la Universidad de Stanford, demostraron la posibilidad de construir criptosistemas que no precisaran de la transferencia de una clave secreta en su trabajo. Esto motiv tal impacto, que hasta la NSA (National Security Agency) estadounidense trat de controlar el desarrollo de la criptografa, ya que la consideraban una amenaza peligrosa para la seguridad nacional. En stos, la clave de cifrado se hace de conocimiento general (se le llama clave pblica). Sin embargo, no ocurre lo mismo con la clave de descifrado (clave privada), que se ha de mantener en secreto. Ambas claves no son independientes, pero del conocimiento de la pblica no es posible deducir la privada sin ningn otro dato. Tenemos
13/11/2005 Pgina: 9

Prof.: Luis de Salvador


pues un par clave pblica-clave privada; la existencia de ambas claves diferentes, para cifrar o descifrar, hace que tambin se conozca a estos criptosistemas como asimtricos . Cuando un receptor desea recibir una informacin cifrada, ha de hacer llegar a todos los potenciales emisores su clave pblica, para que estos cifren los mensajes con dicha clave. De este modo, el nico que podr descifrar el mensaje ser el legtimo receptor, mediante su clave privada . Matemticamente, si E es el algoritmo cifrador y D el descifrador, se ha de cumplir que: D(k; E(k0;M)) = M representando M un mensaje, y siendo k y k0 las claves de descifrado y cifrado, respectivamente . La base matemtica de los criptsistemas de clave pblica se encuentra en la utilizacin de funciones de un slo camino, es decir, funciones difcilmente reversibles.

4. SISTEMAS CRIPTOGRFICOS CLSICOS


4.1 Problemas en la criptografa clsica
La criptografa clsica se ha caracterizado fundamentalmente por dos aspectos: ? La carencia de una base en teora de la informacin ? La carencia de medios automticos avanzados de proceso de informacin.

4.2 Sistema monoalfabticos


Los sistemas monoalfabticos son tcnicas de sustitucin en los que cada letra del mensaje se sustituye por otra del alfabeto cumpliendose siempre la misma correspondencia. En un alfabeto de 27 letras, como el castellano, es posible tener 27! posibles claves distintas. Es decir, aproximadamente 1027 claves diferentes. El principal problema de los sistemas monoalfabticos es su vulnerabilidad a ataques por anlisis de frecuencias. Para la transmisin de dichas claves y para obtener mecanismos de cifrado y de descifrado se han utilizado diversos mtodos. Uno de los ms conocidos es el sistema del Cesar. 4.2.1 El sistema Cesar El cifrado Csar es uno de los ms antiguos que se conocen. Debe su nombre al emperador Julio Csar, que presuntamente lo utiliz para establecer comunicaciones seguras con sus generales durante las Guerras de las Glias. Matemticamente, para trabajar con el cifrado Cesar, tomamos el alfabeto A = Zm (enteros de mdulo m). Cuando a y b son primos entre s, la aplicacin: f(x) = ax + b, a != 0, Recibe el nombre de codificacin mdulo m con parmetros a, b; el par (a; b) es la clave de este criptosistema . El cifrado Csar siempre utiliza la clave (1,b), es decir, siempre tomaremos a=1. De esta forma, la anterior aplicacin quedar f(x)=x+b, lo cual se traduce sencillamente en que para encriptar una letra hemos de tomar su entero correspondiente y sumarle b (la clave del criptosistema) para obtener el texto cifrado. Anlogamente, y gracias al hecho que f(x) siempre ha de ser biyectiva, independientemente del valor de b, para descifrar un texto tomamos la funcin inversa, definida por f1(x)=x-b. Veamos un sencillo ejemplo, en el que se toma b=4: queremos cifrar, con la clave (1,4), la palabra CESAR; tomando el valor de cada letra, tenemos el equivalente numrico de la palabra: 2 4 18 0 17 Aplicamos a cada nmero la funcin f(x)=x+4 para obtener 6 8 22 4 21 que retornado al alfabeto ingls, sustituyendo cada valor por su equivalente, queda GIWEV .
13/11/2005 Pgina: 10

Prof.: Luis de Salvador


Si en el cifrado de un mensaje obtuvieramos que f(x)>25 (genricamente, f(x)>m-1), como trabajamos con enteros de mdulo m, deberamos dividir f(x) por m, considerando el resto entero como la cifra adecuada. Es obvio que el cifrado Caesar tiene 26 claves diferentes (utilizando el alfabeto ingls), incluyendo la clave de identidad (b=0), caso en el que el texto cifrado y el texto en claro son idnticos. As pues, no resultara muy difcil para un criptoanalista realizar un ataque exhaustivo, buscando en el texto cifrado palabras en claro con significado en el lenguaje utilizado. Por tanto, este criptosistema es claramente vulnerable para un atacante, no ofreciendo una seguridad fiable en la transmisin de datos confidenciales.

4.3 Sistemas polialfabticos


Los sistemas polialfabticos, a diferencia de los monoalfabticos, utilizan una correspondencia diferente para cada letra en funcin de su posicin o de las letras anteriores. 4.3.1 El criptosistema de Vignere El sistema de cifrado de Vigenre (en honor al criptgrafo francs del mismo nombre) es un sistema polialfabtico o de sustitucin mltiple. Este tipo de criptosistemas aparecieron para sustituir a los monoalfabticos o de sustitucin simple, basados en el Cesar, que presentaban ciertas debilidades frente al ataque de los criptoanalistas relativas a la frecuencia de aparicin de elementos del alfabeto . El principal elemento de este sistema es la llamada Tabla de Vigenre, una matriz de caracteres cuadrada, con dimensin 26x26, que se muestra en la siguiente tabla:

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

Prof.: Luis de Salvador


utilizando la clave prueba. En primer lugar, nos fijamos en la longitud de la clave: es de seis caracteres. As, descomponemos la frase en bloques de longitud seis; aunque el ltimo bloque es de longitud tres, esto no afecta para nada al proceso de cifrado: laabru madora soleda ddelpr ograma dor Ahora, aplicamos a cada bloque la clave prueba y buscamos los resultados como entradas de la tabla de Vigenre:

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.

4.4 Mecanismos Generales de cifrado


Los elementos bsicos de un sistema de cifrado son: ? Cifrado bsico ? Algn tipo de realimentacin ? Alguna operacin simple. 4.4.1 Cifrador flujo Los cifradores de flujo, que son aquellos que pueden cifrar un slo bit, byte o palabra de texto claro al mismo tiempo, y por tanto su cifrado se produce elemento a elemento. El mismo bit o se encriptar de forma distinta cada vez que se introduzca en el cifrador. Esta codificacin distinta se conseguir: ? Autosincronizado, si internamente el cifrador mantiene una mquina de estado que se va incrementando ? Modo contador, si la variable de entrada afecta a la propia variable de estado. 4.4.2 Cifrador de bloque Los cifradores de bloque, que cifran un bloque de bits (habitualmente, cada bloque es de 64 bits) como una nica unidad. El mismo bloque se encriptar de la misma forma cada vez que se introduzca en el cifrador. Las alternativas son: ? ECB - Electronic Code Book - es el mtodo directo. ? El problema es que cualquiera puede modificar el texto encriptado insertando un nuevo bloque. ? Modo encadenado: (CBC - CyberBlockChanining): ? El resultado del encriptado del bloque anterior se guarda en el siguiente. ? Necesita una inicializacin, aleatoria. ? Existen problemas de propagacin de errores

13/11/2005

Pgina: 12

Prof.: Luis de Salvador


4.4.3 Cifrador Enigma Enigma fue el desarrollo de un sistema mecnico de encriptacin basado en un sistema de sustitucin polialfabtico de cifrado de flujo en que la estrategia de sustitucin estaba codificada en una serie de discos o tambores que cambiaban la estrategia en funcin de la posicin de cada palabra. Sistemas similares fueron el Ingles- Typex el americano SIGABA o Japones Prpura.

4.5 Encriptado digital - DES


El DEA (Data Encryption Algorithm) o DES (Data Encryption Standard) es desde 1977 de uso obligatorio en el cifrado de informaciones gubernamentales no clasificadas. Este criptosistema fu desarrollado por IBM como una variacin de un criptosistema anterior, Lucifer, y posteriormente, tras algunas comprobaciones llevadas a cabo por la NSA estadounidense, pas a transformarse en el que hoy conocemos como DES. Este criptosistema puede ser implementado tanto en software como en chips. Un ejemplo de implantacin hard puede ser PC-Encryptor, de Eracom, y un ejemplo de implantacin en software es DES-LOCK, de la empresa Oceanics . DES es un sistema de clave privada que cifra bloques de 64 bits mediante sustituciones y permutaciones a partir de una clave de entrada con una longitud de 64 bits (el octavo bit de cada byte es de paridad), en la que reside toda la seguridad del criptosistema ya que el algoritmo es de dominio pblico. El esquema de DES es el siguiente [D4]:

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

Prof.: Luis de Salvador

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

Prof.: Luis de Salvador

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 .

4.6 Cifrado IDEA (International Data Encryption Algorithm).


A la vista de estos hechos, la idea de que DES no va a seguir siendo el algoritmo de cifrado estndar en las instituciones estadounidenses se va generalizando poco a poco. Por tanto, va a ser necesario sustituirlo por otro algoritmo ms robusto frente a los ataques. Siguiendo esta lnea, Xuejia Lai y James Massey, dos prestigiosos criptgrafos, desarrollaron a finales de la dcada de los ochenta el algoritmo IDEA (International Data Encryption Algorithm), compatible con DES (para aprovechar el gran nmero de equipos que utilizan este algoritmo), y con una robustez garantizada por la clave de 128 bits que utiliza este cifrador de bloques y las complejas operaciones utilizadas para evitar el xito de un posible atacante, que van desde tcnicas de difusin hasta adiciones mdulo 2. El algoritmo IDEA est siendo ampliamente aceptado en diversas aplicaciones informticas orientadas a la seguridad de los datos; numerosos programas destinados a trabajar en red utilizan ya este algoritmo como el principal de cifrado .
13/11/2005 Pgina: 15

Prof.: Luis de Salvador


La estructura bsica del algoritmo se asemeja al algoritmo DES en cuanto a que se alteran bloques de entrada de texto normal de 64 bits en una secuencia de iteraciones parametrizadas para producir bloques de salida de texto cifrado de 64 bits, como se puede ver en la figura siguiente.
Cuatro bloques de entrada de 16 bits

K1 64 bits de texto normal

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

Suma mdulo 2 de 16 bits

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.

5. CRIPTOSISTEMAS DE CLAVE PBLICA


5.1 Algoritmo de Diffie-Hellman
Es un algoritmo asimtrico, basado en el problema de Diffe-Hellman, que se emplea fundamentalmente para acordar una clave comn entre dos interlocutores, a travs de un canal de comunicacin inseguro. La ventaja de este sistema es que no son necesarias llaves pblicas en el sentido estricto, sino una informacin compartida por los dos comunicantes. Sean A y B los interlocutores. En primer lugar, se calcula un nmero primo p y un generador ? de Z*p , con: 2 <= ? <= p-2. Esta informacin es pblica y conocida por ambos. El algoritmo queda como sigue: 1. A escoge un nmero aleatorio x, comprendido entre 1 y p - 2 y enva a B el valor:
13/11/2005 Pgina: 16

Prof.: Luis de Salvador


? x (mod p) 2. B escoge un nmero aleatorio y, comprendido entre 1 y p - 2 y enva a B el valor: ? y (mod p) 3. B recoge ? x y calcula K = (? x) y (mod p). 4. A recoge ? y y calcula K = (? y) x (mod p). De esta forma A y B comparten el valor K sin que este viaje por la red. Veamos un ejemplo: Sea p = 17 alfa = 8 x=3 alfax mod p = 83 mod 17 = 2 y=5 alfay mod p = 85 mod 17 = 9 K= 25 mod 17 = 15 K= 93 mod 17 = 15

5.2 El criptosistema RSA


Este sistema de clave pblica fu diseado en 1977 por los profesores del MIT (Massachusetts Institute of Technology) R. Rivest, A. Shamir y L. Adleman. Desde entonces, este algoritmo de cifrado se ha convertido en el prototipo de los de clave pblica. La seguridad de RSA radica en la dificultad de la factorizacin de nmeros grandes: es fcil saber si un nmero es primo, pero es extremadamente costoso en proceso obtener la factorizacin en nmeros primos de un entero elevado.Se ha demostrado que si n es el nmero de dgitos binarios de la entrada de cualquier algoritmo de factorizacin, el coste del algoritmo es O(2n), con un tiempo de ejecucin perteneciente a la categora de los llamados problemas intratables . Veamos el funcionamiento del algoritmo RSA: ? Si un usuario A desea enviar informacin cifrada, ha de elegir aleatoriamente dos nmeros primos grandes (del orden de cien dgitos), p y q. Estos nmeros se han de mantener en secreto. ? Si llamamos N (N se conoce como mdulo) al producto p*q, el usuario ha de determinar otro entero, d, llamado exponente privado, que cumpla mcd(d,(p-1)*(q-1))=1, d<N es decir, d y el producto (p-1)*(q-1), que denotaremos ? (N), funcin de Euler, han de ser primos . El nmero d ha de tener al menos dos factores primos (si no el factor e ser igual al nmero d). ? Con estos datos, ya tenemos la clave privada del cifrado: el par (N,d). ? Para obtener la clave pblica, hallamos el inverso multiplicativo del nmero d respecto de ? (N), de la forma e*d=1 mod ? (N). Calculado este entero e, llamado exponente pblico, la clave pblica ser el par (N,e). ? Una vez el emisor A dispone de sus claves pblica y privada, podra enviar un mensaje cifrado, que llamaremos m, a un posible receptor, mediante la operacin c=me mod N aplicada a cada elemento del mensaje . ? El receptor del criptograma, realizara la siguiente operacin de descifrado: m=cd mod N y as obtendra el texto en claro del mensaje recibido. Ejemplo: Dos primos entre s p=13; q= 11 Mdulo N = p*q = 143 Funcin de Euler =120 (5*5*3*2*2*2) Exponente privado d ha de ser primo con 120 = 77 (ha de tener al menos dos factores primos) Exponente pblico e el inverso de d modulo 120 => e*d = n*120+1 siendo n entero => e =53

13/11/2005

Pgina: 17

Prof.: Luis de Salvador


Sea m = 84 el mensaje a cifrar 84 53 mod 143 = 2 2 77 mod 143 = 84 Para realizar esta operacin podemos utilizar un programa como el del anexo. El sistema RSA ha permanecido invulnerable hasta hoy, a pesar de los numerosos ataques de criptoanalistas. Es tericamente posible despejar d para obtener la clave privada, a partir de la funcin de descifrado, resultando d=logc m(mod(p-1)) Sin embargo, el clculo de logaritmos discretos es un problema de una complejidad desbordante, por lo que este tipo de ataque se vuelve impracticable. Aunque cuando los factores de p-1 son pequeos existe un algoritmo, desarrollado por Pohlig y Hellman de orden O(log2 p).

5.3 El criptosistema de ElGamal


En el 85 ElGamal desarroll un nuevo criptosistema de clave pblica basado en la intratabilidad computacional del problema del logaritmo discreto: obtener el valor de x a partir de la expresin Y = aX (mod p) Inicialmente se emple para obtener firmas digitales aunque luego se emple tambien para codificar. Aunque generalmente no se utiliza de forma directa, ya que la velocidad de cifrado y autenticacin es inferior a la obtenida con RSA, y adems las firmas producidas son ms largas (el doble de largo que el texto original), el algoritmo de ElGamal es de gran importancia en el desarrollo del DSS (Digital Signature Standard) o del NIST (National Institute of Standards and Technology) estadounidense . En este sistema, para generar un par clave pblica/privada, se escoge un nmero primo grande, n, y dos enteros x y p tal que: 1? x? n-1, 1? p? n-1, y se calcula: y=pX(mod n) La clave pblica ser el nmero (p,y,n) , y la privada el nmero x . Para codificar un determinado mensaje m, el emisor elige un entero aleatorio, k, 0<k<n-1, no usado con anterioridad, y con la restriccin que k sea relativamente primo a (n-1), y computan las siguientes expresiones: a = p k (mod n) b = y k m (mod n) El par (a; b) es el texto cifrado, de doble longitud que el texto original. Para decodificar se calcula: m = b a -X (mod n) Por ejemplo: Sea n = 23 x = 10 p = 13 y = 13 10 mod 23 = 16 n-1 = 22 = 11*2 k = 15 = 5*3 a = 13 15 mod 23 = 18 m = 12 b = 16 15 . 12 mod 23 = 16 Texto encriptado = (18,16)
13/11/2005 Pgina: 18

Prof.: Luis de Salvador


Desencriptado 1810 mod 23 = 9 1/9 mod 23 = 18 m = 16.18 -10 mod 23 = 16.18 mod 23 = 12 El criptosistema de ElGamal tiene una caracterstica determinante que lo distingue del resto de sistemas de clave pblica: en el cifrado se utiliza aparte de la clave pblica del receptor, la clave privada del emisor .

5.4 Otros algoritmos asimtricos


Existen otros algoritmos asimtricos, como el de McEllice, Rabin, DSA etc.

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.

6.2 Intercambio de claves


Se puede generar una secuencia de bits aleatoria del tamao deseado y que slo conocern los dos extremos involucrados. Para llevarlo a cabo, se deber seguir un protocolo similar al siguiente:

13/11/2005

Pgina: 19

Prof.: Luis de Salvador


Utilizando una fuente de fotones individuales (que, realmente, no existe), el emisor enva un cierto nmero de fotones polarizados aleatoriamente entre dos bases posibles, polarizacin horizontal y diagonal a izquierdas. ? El receptor, mide la polarizacin de los fotones que le llegan de forma aleatoria tambin, pero con las mismas dos bases que ha utilizado Alicia para enviarlos. ? Una vez que han pasado todos los fotones, el receptor comunica al emisor pblicamente, qu secuencia de bases ha utilizado para medir la polarizacin de los fotones. ? El emisor le comunica al receptor pblicamente, cules coinciden con las que utiliz ella. ? Se descartan todas las observaciones que hayan quedado fuera de las bases correctamente adivinadas. ? Se interpretan las polarizaciones de acuerdo a un criterio como el siguiente: '1' para diagonal a izquierdas u '0' para 'vertical'. Llegados a este punto, emisor y recptor comparten una secuencia de bits aleatoria que la mecnica cuntica asegura no ha podido ser interceptada. Si un espa hubiera medido algn fotn en trnsito, lo habra destruido irremediablemente y nunca hubiera alcanzado al emisor, por lo que no se utilizara en ningn caso para el cifrado. Ejemplo:
Convencin Conf. Envio Conf. Receptor Recepcin Coincidencias Clave de un solo uso. 0 * 0 ? ? 1 * 1 1 * 1 ? 0 * 0 1 * 1 ? ? 0 * 0 1 * 1 0 | | 0 | / 1 / | 1 / / 0 | | 0 | / 0 | | 1 / / 1 / | 0 | / 0 | | 1 / /

6.3 Protocolos de recuperacin de errores


A este protocolo de intercambio de claves se le aaden un conjunto de protocolos para deteccin de ruido aleatorio o intencionado que permiten garantizar que el intercambio de la clave se ha realizado de forma correcta.

13/11/2005

Pgina: 20

Prof.: Luis de Salvador

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

Prof.: Luis de Salvador

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

Figura 1. Un trozo de pgina del manuscrito Voynich

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.

(*) Asesor de matemticas del Berritzegune de Abando (Bilbao).

Abril 2004 2004ko Apirila

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).

3. BREVE HISTORIA DE LA CRIPTOGRAFA


3.1. La Criptografa antigua

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

SIGMA N 24 zk. 24 SIGMA

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:

Figura 3. La escitala espartana

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

Abril 2004 2004ko Apirila

121

Santiago Fernndez

Por ejemplo : El mensaje FIRMA LA PAZ se convierte en ILUPD OD SDC

Figura 4. Julio Csar

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.

As obtenemos las siguientes correspondencias :


M P A Z C S D C

122

SIGMA N 24 zk. 24 SIGMA

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

2. Se realiza la misma operacin con las letras restantes.


Alfabeto original Alfabeto Cifrado n M o L p K q J r I s H t G u F v E w D x C y B z A

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.

Abril 2004 2004ko Apirila

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

SIGMA N 24 zk. 24 SIGMA

La Criptografa clsica

3.2. La Criptografa medieval


Durante siglos la criptografa camin por la senda de la sustitucin y la transposicin. En los escritos medievales sorprenden trminos como Oobice o Thfpflxctxs. Para esconder sus nombres, los copistas empleaban el alfabeto zodiacal, formaban anagramas alterando el orden de las letras (es el caso de oobice, anagrama de Boecio) o recurran a un mtodo denominado fuga de vocales, en el que stas se sustituan por puntos o por consonantes arbitrarias (Thfpflxctxs por Theoflactus). Esta simplicidad hizo que la sustitucin fuera el procedimiento dominante a lo largo del primer milenio de nuestra era. Por esa poca, muchos estudiosos consideraban a la cifra de sustitucin como indescifrable. Sin embargo, en la ciudad de Bagdad se produjo el milagro del desciframiento. El artfice fue el sabio rabe Abu Yusuf Yaqub ibn Ishaq al-Sabbah Al-Kindi (801-873), ms conocido como Al-Kindi, l fue un importante filsofo rabe y un estudioso de las Ciencias. Autor de unos 300 libros sobre: medicina, matemticas, lingstica, msica....Pero, uno de sus tratados ms importantes, redescubierto el ao 1987, en el archivo Sulaimaniyyah de Estambul, titulado: Sobre el desciframiento de mensajes criptogrficos. El sistema para resolver los enigmas criptogrficos est descrito claramente en dos breves prrafos, dice Al Kindi : Una manera de resolver un mensaje cifrado, si sabemos en qu lengua est escrito, es encontrar un texto llano escrito en la misma lengua, suficientemente largo, y luego contar cuantas veces aparece cada letra. A letra que aparece con ms frecuencia la llamamos primera, a la siguiente en frecuencia la llamaremossegunda....y as hasta que hayamos cubierto todas las letras que aparecen en nuestro texto. Luego observamos el texto cifrado que queremos resolver y clasificamos sus smbolos de la misma manera. Encontramos el smbolo que aparece con mayor frecuencia y lo sustituimos por la primera de la nuestro texto, hacemos lo mismo con la segunda y as sucesivamente, hasta que hayamos cubierto todos los smbolos del criptograma que queremos resolver. (Al Kindi (3)). Para facilitar el desciframiento siguiendo este procedimiento nos puede ayudar el saber cuales son las frecuencias relativas de las letras y de algunas palabras ms frecuentes.
En lengua inglesa Letra a b c d e f g h i j k l m Porcentaje 8,2 1,5 2,8 4,3 12,7 2,2 2,0 6,1 7,0 0,2 0,8 4,0 2,4 Letra n o p q r s t u v w x y z Porcentaje 6,7 7,5 1,9 0,1 6,0 6,3 9,1 2,8 1,0 2,4 0,2 2,0 0,1

Abril 2004 2004ko Apirila

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

SIGMA N 24 zk. 24 SIGMA

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.

3.3 La Criptografa europea hasta el Renacimiento


3.3.1. Los precursores europeos

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.

Figura 6. Roger Bacon (1211-1292)

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.

Abril 2004 2004ko Apirila

127

Santiago Fernndez

Por ejemplo: Alfabeto a a b c d e e f g h i i original j k l m n o o p q r s t u v w x y z

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

Figura 7. Sustitucin homofnica de Simone de Crema, 1401

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.

Figura 8. Mensaje criptogrfico de G. Chaucer

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

SIGMA N 24 zk. 24 SIGMA

La Criptografa clsica

Ejemplo: Alfabeto Original Alfabeto cifrado 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 H R J O Y D I Q T Z S L M E U N B KWA F P C X G V

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

Abril 2004 2004ko Apirila

129

Santiago Fernndez

Figura 11. 1530 Poligrafa

Figura 12. Una de las pginas del libro Poligrafa

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).

3.4. Criptografia europea. Desde el Renacimiento hasta la Segunda Guerra Mundial


3.4.1. Blaise Vigenre El francs Blaise de Vigenre, en el siglo XVI, desarroll la teora de la criptologa polialfabtica, por esta razn su nombre ha acabado asociado con uno de los mtodos famosos de sustitucin polialfabtica. Lo que hoy se denomina tablero de Vigenre consiste en una disposicin de letras que contiene en orden los 26 alfabetos de Csar. Adems, para proteger ms el cifrado suele introducirse una palabra clave, que consiste en una palabra o texto que se repite a largo de todo el mensaje a cifrar, como veremos en el ejemplo. Lo que se hace, es tomar la letra de la clave que se corresponda con la letra a cifrar y buscar su equivalente alfabeto de Csar que comienza con dicha letra. Para descifrar, lgicamente hay que conocer la clave y operar en sentido inverso.

130

SIGMA N 24 zk. 24 SIGMA

La Criptografa clsica

Figura 13. B. Vigenre (1523-1596) Tablero de Vigenre 0 A B C D E 1 B C D E 2 C D E 3 D E 4 5 E F G H I J K I J K I J K J K K L M N O P Q R S S S T U V W X Y Z

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

Abril 2004 2004ko Apirila

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.

Figura 14. E. Bazeries (1846-1931)

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

SIGMA N 24 zk. 24 SIGMA

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:

. - . - . - (AAA) - - . . - - (GW) . . - - . . (UD) -...-..-.


(TV)

- . . . . - (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.

Abril 2004 2004ko Apirila

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.

Figura 15. Charles Babbage

Figura 16. Maqueta de una porcin de la mquina de diferencias

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 original (sin clave)

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

SIGMA N 24 zk. 24 SIGMA

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

Abril 2004 2004ko Apirila

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

SIGMA N 24 zk. 24 SIGMA

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

Figura 17. G. Painvin (1886-1980)

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).

Abril 2004 2004ko Apirila

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".

3.5. Mquinas y artilugios criptogrficos


Las primeras mquinas de criptografiar son los famosos discos de Len Alberti. l construy dos discos concntricos, de cobre, sobre los que estaban rotulados el alfabeto. Los dos discos giran de manera independiente y se utilizan para codificar los mensajes. En esencia, lo que realmente hacen es un ciframiento de Csar.

Figura 18. Tres tipos de Discos de Alberti

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.

Figura 19. Cilindro de Jefferson

En un cilindro de Jefferson ms sencillo podemos ver su funcionamiento:

138

SIGMA N 24 zk. 24 SIGMA

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.

Fig 12. Hagelin C-48.

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).

Abril 2004 2004ko Apirila

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

SIGMA N 24 zk. 24 SIGMA

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.

Abril 2004 2004ko Apirila

141

avilla ente Me utor: Vic A

CONSECRI 2001

Mtodos modernos de criptografa e identificacin remota "


Dr. Hugo D. Scolnik Prof. Titular Dpto. Computacin FCEN -UBA FIRMAS DIGITALES SRL scolnik@fd.com.ar

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.

ELEMENTOS BSICOS DE CRIPTOLOGA


Criptografa: es el arte de transformar mensajes de modo tal que sean ilegibles para todos aquellos a los que no se les confiere el modo de acceder a los mismos. Criptoanlisis: es el estudio de las tcnicas para quebrar mensajes criptografiados. Criptologa: es el estudio de la Criptografa y el Criptoanlisis. Texto plano: es un mensaje original. Texto cifrado: es el resultado de criptografiar un texto plano.

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

Llave : es la clave - normalmente alfanumrica para el proceso de encripcin.

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

Seguridad de un sistema criptogrfico


debe depender nicamente del desconocimiento de las claves y no del algoritmo (este es generalmente conocido)

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.

Secure Hash Functions

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.

PGUESE A HUGO SCOLNIK U$S 12.000.000 Bill Gates

A2F508DE091AB30135F2 HASHING

PGUESE A HUGO SCOLNIK U$S 12.000.000 Bill Gates

FCIL

IMPOSIBLE
... sin colisiones!

A2F508DE091AB30135F2

FUNCIN TRAMPA

Secure Hash Functions

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)

SHA/SHA-1/SHA 256/SHA 512 (secure hash


algorithm, 160 a 512 bits, usado en DSS, SSL)

RIPEMD 128 / RIPEMD 160 OTROS

Mtodos simtricos, DES, 3DES, IDEA, AES, Cryptoflash, confiabilidad, longitud de claves, el problema de la distribucin de las claves.

CLAVE
(NICA)

MTODOS DE ENCRIPCIN SIMTRICOS

ESTAMOS HABLANDO DE CRIPTOGRAFA

#@Y6&(*-+jW3!G&%;{I8=U
ENCRIPCIN SIMTRICA

DES RC2 RC6

Algoritmos simtricos
(block, clave de 56 bits)

3DES (block, clave de 112/168 bits)


(block, Ron Rivest, reemplazo para DES, clave de tamao variable)

(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

CLAVE Minsculas (26) minsc + dgitos (36)

4 Bytes .5 sec 1.7 sec

6 Bytes 5 min 36 min

8 Bytes 2.4 dias 33 dias

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

AES Rijndael Cryptoflash

20
CPU Cycles/byte

Max key length:

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

Mtodos inquebrables. One time pad o anotador de nica vez.

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.

Como distribuir las claves secretas


La idea es disponer de un conjunto numerado de claves y transmitir cdigos ininteligibles para un espa que permiten arribar mediante operaciones matemticas al mismo nmero. Este valor en comn entre los usuarios habilitados ser utilizado luego como llave de un algoritmo simtrico.

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

donde K = K y ambos usan esa nueva clave !

Ejemplo: Sea p = 23, a = 5, x = 6, y = 10 . Ahora el usuario 1 calcula:

f ( x ) = a x mod( p ) = 56 mod( 23) = 15625 mod( 23) = 8


y se lo enva al usuario 2. El usuario 2 calcula
y

f ( y ) = a mod( p) = 5 mod( 23) = 9765625 mod( 23) = 9


10

y se lo enva al usuario 1.

El usuario 2 recibi el nmero 8 y procede a calcular:


K = f ( x) mod( p) = 8 mod( 23) = 3
y 10

El usuario 1 recibi el nmero 9 y calcula:


K = f ( y) mod( p) = 9 mod( 23) = 3
x 6

Por lo tanto ambos llegaron a la MISMA clave.

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:

p = 1000475149 , a = 876543098 , x = 12345678909876543 , y = 6 5 4 3 7 5 4 2 6 738848


Los resultados son:

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.

Tests de primalidad basados en la simetra de los subgrupos de bases no-testigos.


Alumna: Marcela Noem Nievas. Director: Dr. Hugo Daniel Scolnik.

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

Quines necesitan nmeros primos?

Criptosistemas RSA Esquemas de Firmas Digitales Esquema de Intercambio de Claves

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

Por qu se necesitan nmeros primos?


Porque su seguridad radica en no poder factorizar el nmero n = P Q, en un tiempo razonable.

Tests de Primalidad
Test de Fermat Test de Miller Test de Miller-Rabin

Test de primalidad

En qu se basan los tests de primalidad?


Se basan en las propiedades algebraicas que cumplen los nmeros primos

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

Problemas con el Test de Fermat


Los seudo primos de base b Nmeros de Carmichael

Son nmeros compuestos

Test de primalidad

Seudo Primos de Base b


Cumplen con b n-1 1 mod (n) para n compuesto

Nmeros de Carmichael (1910)


b entero / MCD(b,n) = 1, cumplen b n-1 1 mod (n)

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.

Seudo primos de base b


Sea n un nmero impar compuesto. Si existe b, tal que bn-1 1 mod (n) para algn 1 b < n, entonces n es llamado seudo primo de base b porque cumple con la propiedad de Fermat, aunque n sea compuesto. En el ejemplo anterior, 341 es llamado seudo primo de base 2.

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]?

Test de primalidad de Miller

Secuencia de Miller (1976)


n 3 entero impar, n 1 = 2 q con q entero impar, k 1 Para algn b , 1 b ( n 1), se obtiene la secuencia de Miller
k

{b , b

2 q

, ... ,b

2 k 1 q

,b

2 k q

Test de primalidad de Miller

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 primalidad de Miller

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.

Test de primalidad de Miller

Testigos y No-Testigos

Para n entero compuesto impar


b es TESTIGO si con l se detecta que n es compuesto. b es NO-TESTIGO si con l no se puede comprobar que n es compuesto.

Test de primalidad de Miller

Seudo Primos Fuertes


Sean q1, ..., qr los primeros r primos. r es el menor entero positivo que es seudo primo para las bases las bases q1, ..., qr Algunos de ellos son:

r
1 2 3 4

Seudo Primo Fuerte


2.047 1.373.653 25.326.001 3.215.031.751

Test de primalidad de Miller-Rabin

Cuntos No-Testigos hay?

En 1977, Michael Rabin demostr que la cantidad de bases No Testigos para todo n entero compuesto impar es menor a n/4.

Test de primalidad de Miller-Rabin

Pero ...
Sea n entero impar de 155 dgitos decimales ( 10155) Hay que probar con (n/4) bases pero (n/4) 10154

Investigacin de las Bases No-Testigos

Investigacin

Anlisis de las bases No-Testigos


Sea n = 561, el primer Carmichael. Las bases No-Testigos para n son {1, 50, 101, 103, 256, 305, 458, 460, 511, 560}

Investigacin

(I) Secuencias de Miller para 561


Base NoTestigo 1 50 101 103 256 305 458 460 511 560 Secuencia de Miller {1, 1, 1} {560, 1, 1} {560, 1, 1} {1, 1, 1} {1, 1, 1} {560, 1, 1} {560, 1, 1} {1, 1, 1} {1, 1, 1} {560, 1, 1}

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

b es No-Testigo (n-b) es No-Testigo

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

Si partimos el intervalo [1,...,n-1] por la mitad Por el Teorema 2, tenemos que:


1 (n-1)

n-b

Entonces, tenemos igual cantidad de bases No-Testigos en cada subintervalo

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

b es No-Testigo (n-b) es No-Testigo

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

Investigacin

(II) Secuencias de Miller para 561


49 51 2 153 49 153 2 51 49 Base NoTestigo 1 50 101 103 256 305 458 460 511 560 Secuencia de Miller {1, 1, 1} {560, 1, 1} {560, 1, 1} {1, 1, 1} {1, 1, 1} {560, 1, 1} {560, 1, 1} {1, 1, 1} {1, 1, 1} {560, 1, 1}

Investigacin

Teorema 4
Las bases No - Testigos para n entero impar utilizando el mtodo de Miller,
en el intervalo [1,..., n2 1 ] estn espejadas

con las bases No - Testigos en el


intervalo [ n21 + 1,..., n 1].

50

103 101

256 305

458

511 560

460

Investigacin

Resumen
v v

b es No-Testigo (n-b) es No-Testigo

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

Investigacin

Por Rabin sabemos que


b / b es Testigo de n
3( n 1) 4 ( n 1) 4

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

], y en todos los casos la

respuesta es " Test no concluyente", entonces el nmero n es primo.

Investigacin

Resumen
v v

b es No-Testigo (n-b) es No-Testigo

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

En el intervalo [2,..., n2-1 ] hay menos de

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

La brecha ms grande de No-Testigos Log10 (n) + 6

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).

Declarar a n como compuesto.

Toma una base b que pertenezca al intervalo.

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

1 50 100 150 161 200

0,248 12,455 24,695 37,489 40,505 50,152

38,495 -

0,235 12,871 26,824 42,130 45,713 59,076

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.

Algoritmos de clave pblica


Diffie-Hellman (distribucin de claves) RSA (encriptado, firmas digitales)


ES EL ESTNDAR INTERNACIONAL DE FACTO

ElGamal (distribucin de claves, encriptado) DSA (firmas digitales)


La mayor parte basados en uno de estos tres problemas difciles: logaritmo discreto:
p, primo: g y M enteros, encontrar x tal que gx = M (mod p)

factoreo (RSA ?) knapsack (dado un conjunto de nmeros particulares, encontrar un


subconjunto cuya suma sea N)

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

Criptografa de Clave Pblica


(caso particular de la Asimtrica)

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

ESTAMOS HABLANDO DE CRIPTOGRAFA


PRIVADA

PBLICA

K*#5Al[#@Y6&(*-8!-U ]fQ1^+jW3!G&%;{I8=
ENCRIPCIN ASIMTRICA

gen. de # al azar

Resguardo de clave privada


Clave pblica

gen. de claves RSA + salt

Clave priv. almacenam.

passphrase

3DES

salt

clave privada cifrada

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)

v ALMACENAMIENTO PORTATIL (smartcards, eToken)

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

Para descifrar el mensaje el destinatario (que es el nico que conoce D) calcula

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

que es lo que se transmite

El que recibe calcula


M 1D mod( N ) = 100411307 mod( 13081) = 2

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.

* * * CLAVE PRIVADA 2048-bits* * * D:


82342721541517954099666074805716550776922051657926121901018270 05971724176708946884482838495932864043874514174224398735376327 52733928350383282961331428731652392657044591361450787096368126 80613394839653603216283933495761074915656012792759079334935105 9161171930991318551977817134046321507469378640661481

N:

306 dgitos

82223242875921704475559193702869501278469798044602758231702468 29457482033497561394766141717298129983040589962912649393292598 46217662968832225753487463299329593910841608306970388847964283 28295467675928311974971201456274324631386769979787396877157698 63203330885138581401336977078858487734666726832360766535371291 70144766107629072147357132988233444051836584832849023240530313 77343454153628963105260968030088061476657167082531611977118907 75186754730970901045245320329988176204169500715588781409707253 92044657765516139092914121598155647242717934195403349840229962 7664976510410267545088131687504361360947849966613183169592687 611 dgitos

* * * CLAVE PUBLICA 2048-bits* * *

C:
12167430486751325478840018935696667364447799156361730169410293702 66200733361687234443454606479727504296448967701581418117851658881 44138539945866926957160612646013772936060336036518892738912119807 22089257399359150778518889290755981155174863593597695919064653933 18547932136435935931458826087424416340626832545607788784369332552 87483573344468252496274873250126031302286464830114829230131444459 83142948605363194497334801899114909785069317908876480058872818980 44752649253577780745208937848760408181503258886084499856438027451 05224795226273593210371649643311053136498877441292912216206775319 2022781500856868149620659341521641 610 dgitos

Encriptemos el siguiente mensaje:

Prueba de RSA con longitud 2048


El resultado de aplicarle RSA con la clave privada a un mensaje ES UN NMERO. En nuestro caso resulta:
247919564881929540714332283305380413119470796099028493797447 033067991740292077247695958973384964330772138587182070801114 788921814195024212454212607388461697076516986947039113463458 065951119340536929288881041875958183713490230438664706719365 864524777922522473130664603930016202984597388359905881370211 716700484913245506099701017943717443030421517094064669776941 696892626544130219957764778091097986628596439434661333002405 861667300385209346857620758455029887656673348185512798383206 345741844877121734142464423522238020978661480000198563519635 871380179456874322777252804202654744364543979599482504880896 2961821623451730376

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

Por ejemplo el premio para factorizar RSA 576 =

1881988129206079638386972394616504398071635 6337941738270076335642298885971523466548531 9060606504743045317388011303396716199692321 2057340318795506569962213051687593076502570 59

es de 10.000 U$S y para RSA 2048 es de 200.000 U$S

PGUESE A HUGO SCOLNIK U$S 12.000.000 Bill Gates

HASHING
A2F508DE091AB30135F2

(PRIVADA)

CLAVE

FD
#3Ds@*j0{28z!^}Tc)%4+<6

GENERACIN DE FIRMA DIGITAL

PGUESE A HUGO SCOLNIK U$S 12.000.000 Bill Gates


RECALCULAR HASHING

FD
#3Ds@*j0{28z!^}Tc)%4+<6

(PBLICA)

CLAVE

A2F508DE091AB30135F2

A2F508DE091AB30135F2

SON IGUALES ? VERIFICACIN DE FIRMA DIGITAL

Autoridades certificantes y certificados digitales. Normas a cumplir.

Criptografa Concepto de certificado digital X.509 versin 3

Certificados de clave pblica


Objeto: acreditar una relacin entre una identidad (y/o sus atributos) y una clave pblica. Un certificado de clave pblica es una estructura de datos que contiene el nombre de un usuario (el subject), su clave pblica, el nombre de una entidad (el issuer, A.C.) que garantiza que la clave pblica est asociada al nombre. Estos datos son firmados criptogrficamente usando la clave privada del issuer (A.C.)

Criptografa CLASES DE CERTIFICADOS DIGITALES CLASE 1: certif de EMail

CLASE 2: certif ID personal ante terceros (DNI, Domicilio) apto ECommerce

CLASE 3: institucional, vinculado a la empresa o institucin que se pertenezca

Criptografa certificado digital X.509 versin 3

Identidad: Nombres distinguibles (DN :distinguished names)


Rec. ITU-T serie X.500 X500, X501, X.509, X.511,X.518, X.519,X.520, X.521 Country name C = "AR". State or Province Name S = Crdoba". Locality Name L = La Falda. Common name CN = Ing. Civil Juan Jorge Gomez.

Criptografa certificado digital X.509 versin 3

X.520 - Tipos de atributos


ATTRIBUTE TYPES
A B C Aliased Object Name * Authority Revocation List Business Category CA Certificate Certificate Revocation List

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

Common Name Country Name


Cross Certificate Pair Description Destination Indicator Facsimile Telephone Number International ISDN Number Knowledge Information Locality Name Member Object Class *

R S

State or Province Name


Street Address Supported Application Context Surname Telephone Number Teletex Terminal Identifier Telex Number Title User Certificate User Password X.121 Address

Organization Name
Organizational Unit Name Owner

U X

Criptografa La tecnologa PKI AUTORIDAD CERTIFICANTE

Autoridades Certificantes (CAs)


Funcin: certificacin de firmas requiere verificacin de identidad (procedimiento administrativo) almacenamiento de certificados y numeracin mantenimiento de CRLs publicacin de directorios de claves pblicas confiabilidad / disponibilidad reconocimiento / reputacin setup de una CA: requiere equipamiento e instalaciones especiales, procedimientos y mecanismos para asegurar trusted paths, personal seleccionado especialmente, almacenamiento seguro de la clave privada de la CA

Criptografa La tecnologa PKI CADENA DE CONFIANZA

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)

Criptografa La tecnologa PKI - CR

Solicitud de certificado: PKCS#10


Certificate Request: Data: Version: 0 (0x0) Subject: C=AR, SP=Buenos Aires, L=Cap. Federal, O=Firmas Digitales SRL., OU=Investigacin y Desarrollo, CN=Pedro Hecht, Email=hecht@fd.com.ar Subject Public Key Info: Public Key Algorithm: rsaEncryption Public Key: (1024 bit) Modulus: 00:b7:96:f9:23:50:66:cf:ff:a1:3d:f9:91:e3:e3: ... e3:61:98:a2:71:34:78:06:ec:f9:b4:cd:5c:8f:4b: c0:97:e2:ac:2a:f6:23:c5:0d Exponent: 65537 (0x10001) Attributes: a0:00 Signature Algorithm: md5withRSAEncryption 34:57:8a:c2:57:02:cc:41:d7:0e:f6:c4:00:7f:7e:d9:b4:36: ... 61:59:51:2d:a3:74:c7:57:4e:9d:2a:43:9c:79:e6:4a:cf:b1: 3c:32

Criptografa La tecnologa PKI Cert X.509


Certificate: Data: Version: 0 (0x0) Serial Number: 1 (0x1) Signature Algorithm: md5withRSAEncryption Issuer: C=AR, SP=Buenos Aires, L=Capital Federal, O=Certisur SA, OU=Depto. Certificaciones, CN=Hugo Scolnik, Email=hscolnik@certisur.com.ar Validity Not Before: Oct 9 02:47:53 1996 GMT Not After : Oct 9 02:47:53 1997 GMT Subject: C=AR, SP=Buenos Aires, L=Cap. Federal, O=Firmas Digitales SRL., OU=Investigacin y Desarrollo, CN=Pedro Hecht, Email=hecht@fd.com.ar Subject Public Key Info: Public Key Algorithm: rsaEncryption Modulus: 00:b7:96:f9:23:50:66:cf:ff:a1:3d:f9:91:e3:e3: ... e3:61:98:a2:71:34:78:06:ec:f9:b4:cd:5c:8f:4b: c0:97:e2:ac:2a:f6:23:c5:0d Exponent: 65537 (0x10001) Signature Algorithm: md5withRSAEncryption 8b:8e:20:1e:32:02:67:c7:ae:df:50:e9:21:17:48:7b:80:d5: f4:b8:ff:d9:3a:11:3b:49:17:b6 ...

Certificado emitido por la CA: PKCS#6

Criptografa La tecnologa PKI Ej Cert X.509v3

certificado digital x.509v3


(formato MIME base 64)
-----BEGIN CERTIFICATE----MIICmTCCAkMCAQEwDQYJKoZIhvcNAQEEBQAwgbYxCzAJBgNVBAYTAkFSMRAwDgYD VQQIEwdOZXVxdWVuMRowGAYDVQQHExFQaWVkcmEgZGVsIEFndWlsYTEiMCAGA1UE ChMZVHJvb2NoIENlcnRpZmljYWRvcywgTHRkLjEfMB0GA1UECxMWRGVwdG8uIENl cnRpZmljYWNpb25lczERMA8GA1UEAxMIWW8tWW8gTWExITAfBgkqhkiG9w0BCQEW EnlveW9AdHJvb2NoLmNvbS5hcjAeFw05NjEwMDkwMjQ3NTNaFw05NzEwMDkwMjQ3 NTNaMIGzMQswCQYDVQQGEwJBUjEVMBMGA1UECBMMQnVlbm9zIEFpcmVzMRUwEwYD VQQHEwxDYXAuIEZlZGVyYWwxJTAjBgNVBAoTHENvbnN1bHRvcmEgU2FuIEdhYnJp ZWwgUy4gQS4xGDAWBgNVBAsTD0RlcHRvLiBDb250YWJsZTETMBEGA1UEAxMKSnVh biBQZXJlejEgMB4GCSqGSIb3DQEJARYRanBlcmV6QGNzZy5jb20uYXIwgZ8wDQYJ KoZIhvcNAQEBBQADgY0AMIGJAoGBALeW+SNQZs//oT35kePjcMHxSMkNXdhyS/wY ogIAqALWGHoVYi8nqbrHSk+e3Ldpk6UmiuDz6hR3I8j7C50J4vfJ9KngpMjKbFZa fHEkDufF5DOaUVF/08v5qM7+cbUC8xgXFDHvytSk42GYonE0eAbs+bTNXI9LwJfi rCr2I8UNAgMBAAEwDQYJKoZIhvcNAQEEBQADQQCLjiAeMgJnx67fUOkhF0h7gNW3 nW0HyA+szY5O5VdZQv5CBN9E/sm7FWpcWwWX4FTPL4WCRUf0uP/ZOhE7SRe2 -----END CERTIFICATE-----

Criptografa La tecnologa PKI - CONSIDERACIONES

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

Modelos de e-commerce seguro.

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

pero la realidad actual muestra el divorcio entre ambos....

[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...

...aplicar tecnologa PKI

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.

MODELO I -LA SOLUCIN B2C ES....


Autenticacin del Servidor con Certificado Digital

USUARIO

INTERNET

USO: SSL sin autenticacin cliente (form-filling)


SERVER

certif X. 509

MODELO II - SOLUCIN INTEGRAL


Autenticacin del Servidor y del Cliente con Certificados Digital
certif X.509

USUARIO

INTERNET

USO:

SSL

con autenticacin cliente e-Mail seguro Transacciones seguras (form-signing) Tnel VPN (IPsec)

certif X.509

SERVER

Y SE POTENCIA CON ALMACENAMIENTO PORTTIL Y CAPA BIOMTRICA...


smart

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

Criptografa CONSIDERACIONES DEL ENROLL

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)

Usar un CSP fuerte para aplicar en ....


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)

Criptografa REDES VPN

VPN (virtual private network)


Certificado IPsec Paquetes encriptados

INTERNET

Certificado IPsec

RED PRIVADA VIRTUAL (VPN-IPsec)


clientes Distribuidor A
VPN

Los nodos deben tener: +Firewall (Packet Filtering) +Proxy Server

INTERNET
CASA CENTRAL

clientes

Distribuidor B

VPN VPN Nodo IPSec + Firewall + Proxy

Tnel IPSec

clientes

Distribuidor C

VPN Nodo IPSec + Firewall + Proxy

aplicacin VPN al e-Commerce (B2B)

Mtodos de autenticacin para el e-commerce.

e-commerce modelo II requiere autenticar clientes remotos

autenticacin fuerte =
algo que Ud. tiene + algo que Ud. sabe
y bsicamente esto hace la firma digital y la firma electrnica.....

firma digital y firma electrnica


Confiden Integri cialidad dad firma digital firma electrni ca certifica no cin de repudio origen

+ -

+ -

+ +

+ +
Con inversin de prueba

tcnicas de autenticacin fuerte


certificado digital X.509 (firma digital) soportes fsicos porttiles (firma digital) mtodos biomtricos (firma digital o electrnica) calculadoras token (firma electrnica) nuevas soluciones token de bajo costo (firma electrnica)

soportes fsicos porttiles


esta solucin permite almacenar claves privadas y certificados digitales en un medio semi-porttil (requiere interfases y/o drivers instalados)

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

nuevas soluciones token de bajo costo


se ha desarrollado FIRMA ELECTRNICA por medio de un miniCD

100% portatil, seguro y muy econmico

con un soporte muy econmico y porttil, un mini CD

(que se ejecuta en cualquier PC sin necesidad de instalar)

combinando un mtodo matemtico a prueba de hackers...


generador de secuencias numricas al azar clave de 1024-bits genera 2128 secuencias (para 232 personas) matemticamente inquebrable de altsima velocidad operativa -7 ciclos CPU/byte (50 MB / seg en una Pentium I) slo se repite cada 10.000 aos cambia su valor cada minuto se sincroniza automticamente con un reloj atmico GMT en EEUU

El usuario lleva su miniCD en su billetera...

CD Card de autenticacin fuerte

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...

...la que es controlada desde un centro de autenticacin

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

el nuevo sistema de firma electrnica paso a paso

cada cliente recibe un miniCD y una tarjeta raspable con una contrasea personal que deber memorizar
Nro de serie 5233

maria644

el cliente toma su mini CD y lo pone en cualquier PC


(casa, trabajo, locutorio,...)

no necesita instalar nada, automticamente se abre (en 15 segundos) el programa de firma electrnica

ingresa su contrasea personal y da <enter>

se obtiene la firma electrnica


(el nmero que vara de minuto en minuto y es nico para ese cliente)

olvdese del programa: se cierra slo a los 30 segundos.

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)

un componente activeX se encarga de calcular la secuencia personal de cada miniCD

la pgina hace el resto....


EL SERVIDOR RECALCULA EL NMERO PARA ESE CLIENTE, SI ES IGUAL AL QUE COMPLET EL OPERADOR CON SU MINI CD SE DA F DE LA IDENTIDAD DE ESA PERSONA...

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...

DISCUSIN CON LOS PARTICIPANTES

You might also like