Trabajo sobre Criptografía

Lenguaje

Tipos de Criptografías

viernes, 23 de mayo de 2008 by Beatriz Cuadrado

LA CRIPTOGRAFÍA CLÁSICA

Como ya sabemos, la criptografía no surge con la era informática, sino que ya viene desde los principios de la historia. Algunos de los algoritmos que han sido utilizados son los siguientes:

  • Rellenos de una sola vez

    Cifrado: Se escoge una cadena de bits al azar como clave, y se va aplicando sobre el texto normal con una XOR bit a bit

    Descifrado: Se vuelve a aplicar XOR con la misma cadena de cifrado.
    Inconvenientes: Manejo de la clave entre emisor y receptor y su sincronización.

  • Sustitución

    Consiste en la sustitución de parte del texto original, mediante el desplazamiento (rígido o progresivo) o bien utilizando coordenadas de tablas.
    Ejemplos de este tipo son (Cifrado de Julio Cesar, Polybus y Trithemius). La forma de descifrar es invirtiendo el cifrado, y mantiene los mismos problemas que el de relleno.

  • Transposición

    Se basa en la reordenación aplicada al texto original mediante una clave establecida. Al igual que en el primer método el descifrado se realiza mediante la clave y de nuevo la reordenación, presenta los mismos inconvenientes que el primer método.

    Como hemos podido observar en los algoritmos explicados anteriormente la dificultad en el cifrado y el descifrado no es muy complejo, si tenemos en cuenta las posibilidades que nos ofrecen hoy en día los ordenadores, la capacidad de cómputo es muy elevada. Por otra parte hay que tenerlos en cuenta pues sientan las bases de la criptografía y nos indican lo importante que ha sido la información.

LA CRIPTOGRAFÍA MODERNA

La criptografía moderna se basa en las mismas ideas básicas que la criptografía tradicional, la transposición y la sustitución, pero con distinta orientación. En la criptografía moderna el objetivo es hacer algoritmos de cifrado complicados y rebuscados.
En la figura 1 vemos un criptosistema, los criptosistemas no son otra cosa que una representación del sistema de criptografía que utilizamos en un determinado sistema de seguridad.

Según el tratamiento del mensaje se dividen en:

• Cifrado en bloque


-DES
-El texto original se codifica en bloques de 64 bits, clave de 56 bits y 19 etapas diferentes.

-El descifrado se realiza con la misma clave y los pasos inversos.

-El inconveniente es que puede ser descifrado probando todas las combinaciones posibles, cosa que queda solucionada con Doble DES (ejecuta el DES 2 veces con 3 claves distintas) y el Triple Des (2 claves y 3 etapas).


-IDEA
-Tenemos una clave e 128 bits con 8 iteraciones.

-El descifrado se realiza aplicando el mismo algoritmo pero con subclaves diferentes


-RSA
-Se basa en la dificultad de factorizar número grandes por parte de los ordenadores.

-Los pasos son:

-Seleccionar 2 números primos grandes.
-Calcular n=p*q y z= (p-1)*(q-1).
-Seleccionar un número primo d con respecto a z
-Encontrar e tal que e*d = 1 ( mod z )àe*d mod z = 1.


-El algoritmo es el siguiente:

-Dividimos el texto normal en bloques P, que cumplen que 0 -Para cifrar un mensaje P calculamos C = p^e( mod n).
-Para descifrar C calculamos P = C^d (mod n).

-El principal inconveniente como es de suponer es la lentitud.

-Hay que destacar que el RSA pertenece a los algoritmos con clave pública mientras que el DES y el IDEA son algoritmos de clave secreta.


• Cifrado en flujo (A5, RC4, SEAL) cifrado bit a bit

A5 Es el algoritmo de cifrado de voz. Gracias a él, la conversación va encriptada. Se trata de un algoritmo de flujo [stream cipher] con una clave de 64 bits. Hay dos versiones, denominadas A5/1 y A5/2; esta última es la versión autorizada para la exportación, y en consecuencia resulta más fácil de atacar.

Según el tipo de claves se dividen en:


• Cifrado con clave secreta o Criptosistemas simétricos

Existirá una única clave (secreta) que deben compartir emisor y receptor. Con la misma clave se cifra y se descifra por lo que la seguridad reside sólo en mantener dicha clave en secreto.


Medio de
k
Transmisión
k
M
C
Texto
Texto
Base
Criptograma
Base
EK
MT
DK
M
C

Con Ek ciframos el mensaje original aplicándole la clave k y con Dk lo desciframos, aplicándole de la misma forma la clave k.
La confidencialidad y la integridad se lograrán si se protegen las claves en el cifrado y en el descifrado. Es decir, se obtienen simultáneamente si se protege la clave secreta.


• Cifrado con clave pública o Criptosistemas asimétricos

Cada usuario crea un par de claves, una privada para descifrar y otra pública para cifrar, inversas dentro de un cuerpo finito. Lo que se cifra en emisión con una clave, se descifra en recepción con la clave inversa. La seguridad del sistema reside en la dificultad computacional de descubrir la clave privada a partir de la pública. Para ello, usan funciones matemáticas de un solo sentido con trampa
El nacimiento de la criptografía asimétrica se dio al estar buscando un modo más práctico de intercambiar las claves simétricas. Diffie y Hellman, proponen una forma para hacer esto, sin embargo no fue hasta que el popular método de Rivest Shamir y Adleman RSA publicado en 1978, cuando toma forma la criptografía asimétrica, su funcionamiento esta basado en la imposibilidad computacional de factorizar números enteros grandes.

Medio de
Clave pública
del usuario B
Transmisión
M
C
Usuario A
Criptograma
EB
MT
DB
M
C
Clave privada
del usuario B
Usuario B

Hay que tener en cuenta que Eb y Db son inversas dentro de un cuerpo, además se debe de tener en cuenta que se cifra con la clave pública del destinatario, de forma que conseguimos que solo él, al tener su clave privada pueda acceder al mensaje original.

Criptograma
C
Medio de
Clave privada
del usuario A
Transmisión
M
Usuario A
DA
MT
EA
M
C
Clave pública
del usuario A
Usuario B
En este segundo caso podemos observar como esta basado en el cifrado con la clave privada del emisor y al igual que antes hay que tener en cuenta que Ea y Da son inversas dentro de un cuerpo.

Llegados a este punto la pregunta que nos deberíamos de hacer es, que utilizar, clave pública o privada, pues bien, como siempre depende:

- Los sistemas de clave pública son más lentos, aunque como hemos visto es posible que no sean tan seguros. Hay algunos tipos de ataques que les pueden afectar.

- Los sistemas de clave privada son más lentos, aunque son más seguros, los algoritmos son más complejos y es más difícil su traducción por otros sujetos.


• Sistemas CEE (de curvas elípticas).-

CCE es otro tipo de criptografía de clave pública es el que usa curvas elípticas definidas en un campo finito. La diferencia que existe entre este sistema y RSA es el problema matemático en el cual basan su seguridad. RSA razona de la siguiente manera: te doy el número 15 y te reta a encontrar los factores primos. El problema en el cual están basados los sistemas que usan curvas elípticas que denotaremos como CCE es el del logaritmo discreto elíptico, en este caso su razonamiento con números sería algo como: te doy el número 15 y el 3 y te reta a encontrar cuantas veces tienes que sumar el mismo 3 para obtener 15.
Los CCE basan su seguridad en el Problema del Logaritmo Discreto Elíptico (PLDE), esto quiere decir que dados P, Q puntos de la curva hay que encontrar un número entero x tal que xP = Q (xP = P+P+…+P, x veces). Obsérvese que a diferencia del PFE (Problema de Factorización Entera) el PLDE no maneja completamente números, lo que hace más complicado su solución.
La creación de un protocolo con criptografía de curvas elípticas requiere fundamentalmente una alta seguridad y una buena implementación, para el primer punto se requiere que la elección de la curva sea adecuada, principalmente que sea no-supersingular y que el orden del grupo de puntos racionales tenga un factor primo de al menos 163 bits, además de que este orden no divida al orden de un número adecuado de extensiones del campo finito, para que no pueda ser sumergido en él, si el campo es ZP, se pide que la curva no sea anómala o sea que no tenga p puntos racionales. Todo esto con el fin de evitar los ataques conocidos.
Para el caso de la implementación hay que contar con buenos programas que realicen la aritmética del campo finito, además de buenos algoritmos que sumen puntos racionales, tanto en el caso de Zp como F2n, en este último se toma una base polinomial que tenga el mínimo de términos por ejemplo un trinomio para generar los elementos del campo finito esto si la implementación es en software, y se toma una base normal si es en hardware. Además de contemplar que las operaciones de puntos racionales pueden hacerse en el espacio proyectivo, esto elimina el hacer divisiones, ahorrando tiempo.
Lo anterior se ve reflejado en las ventajas que ofrecen los CCE en comparación con RSA, la principal es la longitud de la clave secreta. Se puede mostrar que mientras en RSA se tiene que usar una clave de 1024 para ofrecer una considerable seguridad, los CCE solo usan 163 bits para ofrecer la misma seguridad, así también las claves RSA de 2048 son equivalentes en seguridad a 210 de CCE. Esto se debe a que para resolver el PLDE el único algoritmo conocido toma tiempo de ejecución totalmente exponencial, mientras que el algoritmo que resuelve PFE incluso también el PLD en Zp toman un tiempo subexponencial.
Otra buena noticia sobre CCE es que los elementos de los puntos racionales pueden ser elementos de un campo finito de característica 2, es decir pueden ser arreglos de ceros y unos de longitud finita (01001101110010010111), en este caso es posible construir una aritmética que optimice la rapidez y construir un circuito especial para esa aritmética, a esto se le conoce como Base Normal Optima.
Lo anterior permite con mucho que los CCE sean idóneos para ser implementados en donde el poder de cómputo y el espacio del circuito sea reducido, donde sea requerida una alta velocidad de procesamiento o grandes volúmenes de transacciones, donde el espacio de almacenamiento, la memoria o el ancho de banda sea limitado. Lo que permite su uso en Smart Cards, Teléfonos celulares, Fax, Organizadores de Palma, PCs, etcétera.
En la actualidad existen varios estándares que permiten el uso adecuado y óptimo de los CCE, entre los cuales se encuentran: IEEE P1363 (Institute of Electrical and Electronics Engineers), el ANSI X9.62, ANSI X9.63, ANSI TG-17, ANSI X12 (American National Standards Institute), UN/EDIFACT, ISO/IEC 14888, ISO/IEC 9796-4, ISO/IEC 14946 (International Standards Organization), ATM Forum (Asynchronous Transport Mode), WAP (Wireless Application Protocol). En comercio electrónico: FSTC (Financial Services Technology Consortion), OTP 0.9 (Open Trading Protocol), SET (Secure Electronic Transactions). En internet IETF (The Internet Engineering Task Force), IPSec (Internet Protocol Security Protocol)
Los CCE son el mejor candidato para reemplazar a las aplicaciones que tienen implementado RSA, estas definen también esquemas de firma digital, Intercambio de claves simétricas y otros.

EL CONTROL DE INTEGRIDAD

Además en la criptografía de clave pública se ejerce también un control de la integridad (asegurarnos de que el mensaje recibido fue el enviado por la otra parte y no uno manipulado), para cumplir con este objetivo se utilizan funciones de dispersión unidireccional (o hash).
La función de dispersión llamada compendio de mensaje, tiene 3 propiedades importantes:

1.-Dado un mensaje P, es fácil calcular el compendio del mensaje MD (P).
2,-Dado un compendio MD (P), es computacionalmente imposible encontrar P, es decir no tiene inversa.
3.-No se pueden generar dos mensajes que tengan el mismo compendio, a menos que sean el mismo mensaje.
Los algoritmos más importantes(o más utilizados son el MD5 y el SHA), los cuales pasamos a explicar:


• MD5
- Opera con los bits, de forma que cada bit de salida es afectado por cada bit de entrada.
- Se coge el mensaje original y se rellena hasta conseguir una longitud de 448 módulo 512 bits
- Se añade al mensaje la longitud original del mismo como un entero de 46 bits.
- Se inicializa un buffer de 128 bits de tamaño a un valor fijo.
- En cada iteración cogemos un boque de 512 bits de entrada y lo mezcla por completo con el buffer y los valores de una tabla construida a partir de los valores de una tabla de la función seno.
- Una vez terminado el cálculo, el buffer contiene el valor del compendio del mensaje.

• SHA
-Genera un compendio de mensaje de 160 bits, funciona igual que el MD5, pero con un buffer de 160 bits.
- Es más seguro que el MD5, debido sobretodo a que utiliza un mayor número de bits que el MD5, pero como es normal también será más lento.

Tanto el SHA como el MD5 se han demostrado inviolables hasta el momento, eso es lo que dicen los apuntesJ.

Un pequeño ejemplo: h (M) es el resultado de un algoritmo que con una entrada M de cualquier tamaño, produce salida de tamaño fijo.
El emisor A envía el mensaje M y la función hash h (M) a B, quien aplica la misma función al mensaje M’ recibido. Si los mensajes son iguales entonces se asegura que los hash también son iguales. No obstante, el hecho de que los hash coincidan no significa que los mensajes M y M’ sean iguales.
Integridad: el receptor B puede confiar en que nadie ha modificado el mensaje durante la transmisión pues el valor h (M) en destino coincide con el enviado por A.


  • EL NO REPUDIO

    El no repudio, consiste en que el receptor puede saber a ciencia cierta de quien es el mensaje y esto lo podemos conseguir mediante la firma digital, al ser esta única, como si fuera una firma normal en un papel, tenemos como un acuse o un recibo, que demuestra quién ha enviado el mensaje.
    Esto es un añadido a todo lo visto anteriormente que incluye más seguridad a la transmisión de mensajes entre los usuarios. Además la firma digital puede ser utilizada al igual que el hash tanto el los sistemas de clave pública como en los de clave privada. Por este motivo es muy utilizada en documentos legales y financieros.

Esta información viene de Internet: http://www.google.es/search?hl=es&q=criptograf%C3%ADa&start=10&sa=N

Filed under having 0 comentarios  

¿Por qué se usa la criptografía?

by Beatriz Cuadrado

Desde el principio de la historia...
...
intercambiar mensajes cifrados ha jugado un papel destacado. Tanto en la milicia, diplomacia y el espionaje, constituyen la mejor defensa de las comunicaciones y datos que se transmiten, por cualquier canal. Esto es debido a la necesidad de que algunos de los mensajes solo sean conocidos por aquellas personas a las que van dirigidos y no puedan ser interpretados por nadie más que por ellos.
En la era de la información como algunos llaman a la época en la que vivimos como se puede pensar la protección de la información es uno de los retos más fascinantes de la informática del futuro. Representada por archivos confidenciales o mensajes que se intercambian dos o más interlocutores autenticados y cuyo contenido en muchos casos debe mantenerse en secreto por razones personales, empresariales, políticas o de otra índole, la información es el bien más preciado en estos días. Por poner sólo un ejemplo sencillo y común, un problema de gran actualidad es el asociado con el correo electrónico que se transmite a través de redes y cuyo nivel seguridad deja mucho que desear. Internet es un claro ejemplo de estas amenazas en tanto es un entorno abierto en su sentido más amplio. Por lo visto en estos pocos años de existencia de la llamada red de redes, sobran los comentarios acerca de pérdida de privacidad, accesos no autorizados, ataques y otros delitos informáticos a nivel nacional e internacional.
Ante tales amenazas, la única solución consiste en proteger nuestros datos mediante el uso de técnicas criptográficas. Esto nos permitirá asegurar al menos dos elementos básicos de la Seguridad Informática, a saber la confidencialidad o secreto de la información y la integridad del mensaje, además de la autenticidad del emisor.



Puesto que con las numerosas entradas ya ha quedado definido perfectamente qué es la criptografía, aquí dejo otro tipo de información referente a este mismo tema:

Otra definición a tener en cuenta es el significado de criptoanálisis, el cual es el arte y la ciencia de transgredir las claves de acceso, es decir la que se encarga de descifrar los mensajes.




En la figura que he añadido, podemos observar un ejemplo de un criptosistema que nos muestra como sería el funcionamiento esquemático, sea cual sea el canal de transmisión, del cifrado y descifrado de un mensaje en su paso del transmisor al receptor.





Filed under having 3 comentarios  

Encriptación para todos

by AAA

Esta mañana al levantarme me he puesto a navegar un poco por meneame (gran web) y me ha llamado la atención un artículo del 20 minutos en su edición digital en el que hablaban sobre las últimas detenciones de ETA, a mitad del texto cito:

"[...]
La documentación incautada será vital. En cuanto al material informático requisado, hay 16 cajas repletas. Será difícil descifrarlo todo porque está encriptado.

Hay tres USB (memorias portátiles) que contienen datos sobre otros comunicados de la banda, informes de las últimas elecciones municipales en el País Vasco y documentación sobre el fallido proceso de paz con el Gobierno.[...]"

La criptografía al servicio de todos. Esperemos que la Guardia Civil de con la manera de desencriptarlos, aunque seguramente no lo tendrán fácil.

Investigando un poco he encontrado que el sistema más utilizado a día de hoy para encriptar material informático es el PGP (Pretty Good(mr) Privacy, "intimidad bastante buena") Su fincionamiento es el siguiente:

En los criptosistemas convencionales, como el US Federal Data Encryption Standard (DES) [Norma federal para cifrado de datos en EE.UU.], se utiliza una sola clave para encriptar y desencriptar. Por lo tanto, hay que transmitir primero la clave por medio de un canal seguro para que ambas partes la conozcan antes de enviar mensajes cifrados por canales inseguros. Este proceso puede resultar incómodo. Si se tiene un canal seguro para intercambiar claves, ¿para qué se necesita entonces criptografía?

En criptosistemas de clave pública, todo el mundo tiene dos claves complementarias, una revelada públicamente y otra secreta (llamada también clave privada). Cada clave abre el código que produce la otra. Saber la clave pública no sirve para deducir la clave secreta correspondiente. La clave pública puede publicarse y distribuirse ampliamente por una red de comunicaciones. Este protocolo proporciona intimidad sin necesidad de ese canal seguro que requieren los criptosistemas convencionales.

Cualquiera puede utilizar la clave pública de un destinatario para encriptar un mensaje y él empleará su clave secreta correspondiente para desencriptarlo. Sólo él podrá hacerlo, porque nadie más tiene acceso a esa clave secreta. Ni siquiera la persona que lo encriptó
podría descifrarlo.

Filed under having 0 comentarios  

La Máquina Enigma

jueves, 22 de mayo de 2008 by Christian Leal

Enigma (máquina)


Enigma era el nombre de una máquina que disponía de un mecanismo de cifrado rotatorio, que permitía usarla tanto para
cifrar, como para descifrar mensajes. Varios de sus modelos fueron muy utilizados en Europa desde inicios de los años 20.
Su fama se debe a haber sido adoptada por las fuerzas militares de
Alemania desde 1930. Su facilidad de manejo fue la principal razón para su uso. Su sistema de cifrado fue finalmente descubierto, y la lectura de la información que contenían los mensajes supuestamente protegidos, es considerado, a veces, como la causa de haber podido concluir la Segunda Guerra Mundial.
La máquina equivalente
británica, Typex, y varias americanas, como la SIGABA, eran similares a Enigma. La primera máquina moderna de cifrado rotatorio, de Edward Hebern, era considerablemente menos segura.
Historia
La primera patente data de
1919, y es obra del holandés Alexander Koch, que comparte honores con el alemán Arthur Scherbius quien desarrolló varias versiones de la máquina Enigma. La primera versión comercial, conocida con el nombre de Enigma-A, fue puesta a la venta en 1923, siendo su finalidad inicial facilitar la comunicación de documentos entre comerciantes y hombres de negocios de forma secreta. A esta primera versión le siguieron tres modelos comerciales, convirtiéndose el modelo denominado Enigma-D en el más importante, y el que tuvo verdadero éxito, tras su adquisición por parte de la marina alemana en 1926. El ejército alemán comenzó a utilizar el diseño básico de la máquina en 1929.Versiones de la máquina Enigma fueron utilizadas por Alemania, y otras potencias del Eje, en prácticamente todas las comunicaciones vía radio y telégrafo. Una versión comercial sin modificaciones de la máquina se utilizó para cifrar las comunicaciones militares de los españoles durante la Guerra Civil Española y los italianos durante la Segunda Guerra Mundial.
Funcionamiento
La máquina Enigma era un dispositivo
electromecánico, lo que significa que utilizaba una combinación de partes mecánicas y eléctricas. El mecanismo estaba constituido fundamentalmente por un teclado, similar al de las máquinas de escribir, que controlaba una serie de interruptores eléctricos, un engranaje mecánico y un panel de luces con las letras del alfabeto.
La parte eléctrica consiste en una batería que se conecta a una de las lámparas, que representan las diferentes letras del alfabeto.
El corazón de la máquina Enigma era mecánico y consistía de varios rotores conectados entre sí. Cada contacto de una cara está conectado o cableado a un contacto diferente de la cara contraria. Cada uno de los rotores proporcionados con la máquina Enigma estaba cableado de una forma diferente y los rotores utilizados por el ejército alemán poseían un cableado distinto al de los modelos comerciales.
Dentro de la máquina había tres ranuras para poder introducir los rotores. Cada uno de los rotores se encajaba en la ranura correspondiente de forma que sus contactos de salida se conectaban con los contactos de entrada del rotor siguiente. El tercer y último rotor se conectaba, en la mayoría de los casos, a un reflector que conectaba el contacto de salida del tercer rotor con otro contacto del mismo rotor para realizar el mismo proceso pero en sentido contrario y por una ruta diferente. La existencia del reflector diferencia a la máquina Enigma de otras máquinas de cifrado basadas en rotores de la época. Este elemento, que no se incluía en las primeras versiones de la máquina, permitía que la clave utilizada para el cifrado se pudiera utilizar en el descifrado del mensaje.
Cuando se pulsaba una tecla en el teclado, por ejemplo la correspondiente a la letra A, la corriente eléctrica procedente de la batería se dirigía hasta el contacto correspondiente a la letra A del primer rotor. La corriente atravesaba el cableado interno del primer rotor y se situaba, por ejemplo, en el contacto correspondiente a la letra J en el lado contrario. Supongamos que este contacto del primer rotor estaba alineado con el contacto correspondiente a la letra X del segundo rotor. La corriente llegaba al segundo rotor y seguía su camino a través del segundo y tercer rotor, el reflector y de nuevo a través de los tres rotores en el camino de vuelta. Al final del trayecto la salida del primer rotor se conectaba a la lámpara correspondiente a una letra, distinta de la A, en el panel de luces. El mensaje de cifrado se obtenía por tanto mediante la sustitución de las letras del texto original por las proporcionadas por la máquina.
Cada vez que se introducía una letra del mensaje original la posición de los rotores variaba. Debido a esta variación, a dos letras idénticas en el mensaje original, por ejemplo AA, les correspondían dos letras diferentes en el mensaje cifrado, por ejemplo QL. Cuando se habían introducido 26 letras y por tanto el primer rotor había completado una vuelta completa, se avanzaba en una muesca la posición del segundo rotor, y cuando éste terminaba su vuelta se variaba la posición del tercer rotor.
Debido a que el cableado de cada rotor era diferente, la secuencia exacta de los alfabetos de sustitución variaba en función de qué rotores estaban instalados en las ranuras (cada máquina disponía de cinco), su orden de instalación y la posición inicial de cada uno. A estos datos se les conocía con el nombre de configuración inicial.
Para obtener el mensaje original sólo había que introducir las letras del mensaje cifrado en la máquina, y ésta devolvía una a una las letras del mensaje original, siempre y cuando la configuración inicial de la máquina fuera idéntica a la utilizada al cifrar la información.
Criptoanálisis básico
Los cifrados, por supuesto, pueden ser atacados, y la forma más efectiva de ataque depende del método de cifrado. Al principio de la
Primera Guerra Mundial, los departamentos de descifrado eran lo bastante avanzados como para poder descubrir la mayoría de los cifrados, si se dedicaban suficientes esfuerzos. Sin embargo, la mayoría de estas técnicas se basaban en conseguir cantidades suficientes de texto cifrado con una clave particular
En la técnica del
análisis de frecuencia, las letras y los patrones de las letras son la pista. Puesto que aparecen ciertas letras con mucha más frecuencia que otras en cada lengua, la cuenta de ocurrencias de cada letra en el texto cifrado revela generalmente la información sobre probables sustituciones en los cifrados usados de manera frecuente en la sustitución.
El análisis de frecuencia simple confía en que una letra es sustituida siempre por otra letra del texto original en el texto cifrado; si éste no es el caso la situación es más difícil. Por muchos años, los criptógrafos procuraron ocultar las frecuencias usando varias sustituciones diferentes para las letras comunes, pero esto no puede ocultar completamente los patrones en las sustituciones para las letras del texto original.
El método de cifrado
Por supuesto, si la configuración estuviera disponible, un criptoanalista podría simplemente poner un equipo Enigma a la misma configuración y descifrar el mensaje. Uno podría mandar libros de configuración a usar, pero podrían interceptarse. En cambio los alemanes establecieron un sistema astuto que mezcló los dos diseños.
Al principio de cada mes, se daba a los operadores del enigma un nuevo libro que contenía las configuraciones iníciales para la máquina. Por ejemplo, en un día particular las configuraciones podrían ser poner el rotor número 1 en hendidura 7, No. 2 en hendidura 4, y 3 en la 6. Están entonces rotados, para que hendidura 1 esté en la letra X, hendidura 2 en la letra J y hendidura 3 en la A. Como los rotores podían permutarse en la máquina, con tres rotores en tres hendiduras tienes otras 3 x 2 x 1 = 6 combinaciones para considerar, para dar un total de 105.456 posibles alfabetos.
A estas alturas, el operador seleccionaría algunas otras configuraciones para los rotores, esta vez definiendo sólo las posiciones, o "giros" de los rotores. Un operador en particular podría seleccionar ABC, y éstos se convierten en la configuración del 'mensaje para esa sesión de cifrado. Entonces teclearon la configuración del mensaje en la máquina que aún está con la configuración inicial. Los alemanes, creyendo que le otorgaban más seguridad al proceso, lo tecleaban dos veces, pero esto se desveló como una de las brechas de seguridad con la que "romper" el secreto de Enigma. Los resultados serían codificados para que la secuencia ABC tecleada dos veces podría convertirse en XHTLOA.
En el extremo receptor el funcionamiento se invierte. El operador pone la máquina en la configuración inicial e introduce las primeras seis letras del mensaje. Al hacer esto él verá ABCABC en la máquina. Entonces gira los rotores a ABC y tipea el resto del mensaje cifrado, descifrándolo.
El Enigma fue muy seguro. Tanto que los alemanes se confiaron mucho en él. El tráfico cifrado con Enigma incluyó de todo, desde mensajes de alto nivel sobre las tácticas y planes, a trivialidades como informes del tiempo e incluso las felicitaciones de cumpleaños.
"Rompiendo" el Enigma


La máquina de Enigma comercial era buena, pero no suficientemente buena. Cuando el Ejército alemán empezó a usar una versión ligeramente diferente en los primeros años 30, tampoco pudieron leer tráfico alguno. Hay informes de que criptoanalistas británicos del GC&CS (Escuela gubernamental de cifrados y códigos) y los
franceses también se rindieron, considerando a los Enigma militares alemanes como irrompibles.
El esfuerzo que rompió el cifrado alemán empezó en
1929 cuando los polacos interceptaron una máquina Enigma enviada de Berlín a Varsovia y equivocadamente no protegida como equipaje diplomático. No era una versión militar, pero proporcionó una pista de que los alemanes podrían estar usando una máquina de tipo Enigma en el futuro. Cuando el Ejército alemán empezó a usar Enigmas modificados años después, los polacos intentaron "romper el sistema" buscando el cableado de los rotores usados en la versión del Ejército y encontrando una manera de recuperar las configuraciones usadas para cada mensaje en particular.

Un joven matemático polaco, Marian Rejewski, hizo uno de los mayores descubrimientos significativos en la historia del criptoanálisis usando técnicas fundamentales de matemáticas y estadística encontrando una manera de combinarlas. Rejewski notó un patrón que probó ser vital; puesto que el código del mensaje se repitió dos veces al principio del mensaje, podrías suponer el cableado de un rotor no por las letras, sino por la manera que estas cambiaban.
Encontrar las cadenas apropiadas de las 10.545 combinaciones era toda una tarea. Los polacos (particularmente los colegas de Rejewski,
Jerzy Rozycki y Henryk Zygalski), desarrollaron un número de métodos de ayuda. Una técnica utilizó unas tiras en blanco para cada rotor mostrando cuales letras podrían encadenarse, bloqueando las letras que no podrían encadenarse. Los usuarios tomarían las tiras sobreponiéndolas, buscando las selecciones donde estaban completamente claras las tres letras. Los británicos también habían desarrollado tal técnica cuando tuvieron éxito en romper el Enigma comercial, aunque procuraron (y fallaron) romper las versiones militares del Enigma.
Por supuesto, unos cuantos miles de posibilidades eran aún muchas por probar. Para ayudar con esto, los polacos construyeron máquinas que consistían en "enigmas en paralelo" que llamaron bomba kryptologiczna Entonces se cargarían juegos de discos posibles en la máquina y podría probarse un mensaje en las configuraciones, uno tras otro. Ahora bajó centenares de posibilidades. Esos centenares son un número razonable para atacar a mano.
Los polacos pudieron determinar el alambrado de los rotores en uso por aquel entonces por el ejército alemán y, descifrando buena parte del tráfico del Ejército alemán en los
años 1930 hasta el principio de la segunda guerra mundial. Recibieron alguna ayuda secreta de los franceses, quienes tenían un agente en Berlín con acceso a las claves programadas para el Enigma, manuales, etc. Los hallazgos del criptoanalista Rejewski no dependieron de esa información; no fue siquiera informado sobre el agente francés ni tuvo acceso a ese material.
Algunas fuentes sostienen (sin mucho apoyo de otros participantes informados) que en
1938 un mecánico polaco empleado en una fábrica alemana que producía las máquinas Enigma tomó notas de los componentes antes de ser repatriado y, con la ayuda de los servicios secretos británicos y franceses, construyeron un modelo en madera de la máquina. Hay también una historia sobre una emboscada hecha por la resistencia polaca a un vehículo del ejército alemán que llevaba una máquina Enigma... En ningún caso las configuraciones iníciales, mucho menos los ajustes individuales de los mensajes elegidos por los operadores, se hicieron disponibles, y de modo que el conocimiento, no obstante ganado valientemente, fue de poco valor. Estas historias son, así, menos que intrínsecamente relevantes.
Sin embargo, en
1939 el ejército alemán aumentó la complejidad de sus equipos Enigma. Mientras que en el pasado utilizaron solamente tres rotores y los movieron simplemente de ranura en ranura, ahora introdujeron dos rotores adicionales; usando así tres de cinco rotores a cualquier hora. Los operadores también dejaron de enviar dos veces las tres letras correspondientes a la configuración individual al principio de cada mensaje, que eliminó el método original de ataque. (Probablemente)...


Los polacos, conscientes de que la invasión alemana se acercaba, e incapaces de extender sus técnicas con los recursos disponibles, decidieron a mediados de 1939 compartir su trabajo, y pasaron a los franceses y británicos algunos de sus réplicas Enigma, e información sobre el descubrimiento de Rejewski y otras técnicas que ellos habían desarrollado. Todo eso se envió a Francia en equipaje diplomático; la parte británica fue a
Bletchley Park. Hasta entonces, el tráfico militar alemán del Enigma había dado por vencido tanto a británicos y franceses, y ellos consideraron la posibilidad de asumir que las comunicaciones alemanas permanecerían en la oscuridad durante toda la guerra.
Casi todo el personal de la sección de la criptografía polaca dejó Polonia durante la invasión y la mayoría de ellos terminaron en Francia, trabajando con criptógrafos franceses en transmisiones alemanas. Algunos criptógrafos polacos fueron capturados por los alemanes antes de que ellos dejaran Polonia o en tránsito, pero afortunadamente nada fue revelado sobre el trabajo del Enigma. El trabajo continuó en Francia en la "Estación
PC Bruno" hasta la caída de este país (y también un poco después). Algunos de los integrantes del equipo francés/polaco escaparon entonces a Inglaterra; ninguno fue usado en el esfuerzo británico en criptoanálisis contra las redes de Enigma. Cuando el propio Rejewski supo (poco antes de su muerte) del trabajo llevado a cabo en Bletchley Park, que él había empezado en Polonia en 1932, y de su importancia en el curso de la guerra y la victoria aliada, quedó sorprendido.

Filed under having 0 comentarios  

CRIPTOGRAFÍA CUÁNTICA Y ALGORITMOS

by Elena Chinchilla

Esta nueva entrada está destinada al igual que el resto del blog a la criptografía, pero esta vez quiero hablar de ella desde un punto de vista cántico y conocer que es:

En general observar un sistema cuántico perturba al mismo, e impide que el observador conozca su estado exacto antes de la observación. Por lo tanto, si un sistema cuántico es utilizado para transferir información, alguien que quiera espiar la comunicación, o incluso el receptor previsto, podría verse impedido de obtener toda la información enviada por el emisor. Este rasgo negativo de la mecánica cuántica, conocido como principio de incertidumbre de Heisenberg, recientemente ha encontrado un uso positivo en el área de las comunicaciones privadas y seguras.

Principio básico de la criptografía cuántica
Como señalamos anteriormente, la criptografía cuántica se basa sobre el principio de incertidumbre de de Heisenberg. Veamos ahora como se puede aprovechar dicho principio para transmitir una clave en forma segura.





La criptografía cuántica hace uso de dos canales de comunicación entre los dos participantes. Un canal cuántico, el cual tiene un único sentido y que generalmente es una fibra óptica. El otro es un canal convencional, público y de dos vías, por ejemplo un sistema de comunicación por radio que puede ser escuchado por cualquiera que desee hacerlo.
Supongamos que Alice desea enviar una clave a Bob a través de un canal cuántico. El valor de cada bit es codificado dentro de una propiedad de un fotón, por ejemplo su polarización. La polarización de un fotón es la dirección de oscilación de su campo eléctrico. Esta polarización puede ser, por ejemplo, vertical, horizontal o diagonal (+45º y -45º).
Por ejemplo, Alice y Bob se ponen de acuerdo en que:



Un filtro puede ser utilizado para distinguir entre fotones verticales u horizontales. Otro filtro se utiliza para distinguir entre fotones diagonales (+45º y -45º).
Cuando un fotón pasa por el filtro correcto, su polarización no cambia. En cambio cuando un fotón pasa a través de un filtro incorrecto, su polarización es modificada en forma aleatoria.

Por cada bit de la clave, Alice envía un fotón, cuya polarización es elegida de forma aleatoria. Las orientaciones seleccionadas son almacenadas por Alice.
Por cada fotón recibido, Bob elige de forma aleatoria cual filtro se va a utilizar y se registran el filtro seleccionado y el valor de la medición.
Una vez que se han intercambiado todos los fotones, Bob le revela a Alice a través de un canal convencional la secuencia de filtros que utilizo durante la transmisión de fotones. Luego Alice le dice a Bob en qué casos eligió el filtro correcto. En éste momento ambos saben en que casos sus bits deberían ser idénticos, es decir cuando Bob utilizo el filtro correcto. Estos bits formarán la clave final.
Si Eve intenta espiar la secuencia de fotones, al no conocer de antemano si la polarización del próximo fotón es diagonal o rectilínea, no podrá medirlo sin correr el riesgo de perturbarlo de tal forma que se introduzca un error.
Finalmente, Alice y Bob verifican el nivel de error de la clave final para validarla. Esto lo hacen haciendo públicos una cierta cantidad de bits. Si encuentran diferencias en sus bits, tienen una razón para sospechar que están siendo espiados y deberán descartar todos los datos y comenzar nuevamente el intercambio de fotones. Si coinciden y si se compararon una cantidad lo suficientemente grande de bits, pueden estar razonablemente seguros de que las partes que no han sido comparadas abiertamente en el canal inseguro son de hecho un secreto compartido y pueden conformar una clave secreta para ser utilizada en la transmisión de mensajes con significado. La transmisión de mensajes con significado se realiza sobre el canal publico o inseguro utilizando cualquier método de clave privada que crean conveniente por ejemplo DES (Data Encryption Standard), Triple DES o AES (Advanced Encryption Standard).
Por el momento no existe un sistema con el cual se puedan mantener comunicaciones por un canal cuántico. Por lo tanto la aplicación de la criptografía cuántica se ve restringida a la distribución de claves. Sin embargo, la transmisión olvidadiza puede ser utilizada como base para construir algoritmos de Zero Knowledge proofs y bit commitment.
Criptografia cuántica olvidadiza y transferencia comprometida
En un modelo de transmisión olvidadiza 1 de 2 (oblivious transfer, OT), una de las partes, Alice, tiene 2 bits b0, b1 los cuales envía a la otra parte, Bob, pero Bob solo puede obtener 1 de los 2 bits. Sin embargo, Alice no puede saber cual de los 2 bits es el que recibió Bob.
De forma análoga en un modelo de transmisión olvidadiza m de n, Alice envía n bits a Bob pero Bob solo puede obtener m de los n bits. Sin embargo, Alice no puede saber cuales son los m bits que recibió Bob.
Este tipo de transmisión puede ser utilizado como base para la construcción de otros protocolos criptográficos. Un ejemplo es la contracción de pruebas de cero-conocimiento (zero-knowledge proofs). Que son una forma de probar algo, por ejemplo que uno posee un permiso válido, sin revelar información adicional al receptor.
En una transferencia olvidadiza comprometida, (Committed Oblivious Transfer, cot), supongamos que Alice está comprometida a los bits y y Bob esta comprometido a luego de ejecutar cot (,)(), Bob va a estar comprometido a que = . Sin importar lo que haga, Alice no va a poder utilizar el protocolo para aprender información de , y Bob sin importar que haga no va a poder utilizar el protocolo para aprender información de .
Este tipo de transmisión permite que cada una de las partes involucradas en una transferencia olvidadiza esté segura que la otra parte esta realizando la operación de transferencia olvidadiza en las entradas declaradas.

Seguridad de la criptografía cuántica y de los métodos tradicionales
Primero estudiaremos la de seguridad de DES, AES y de RSA, los métodos criptográficos más utilizados. Ambos se basan en la suposición no probada de que no existe un algoritmo rápido para determinar la clave secreta. Por ejemplo, RSA se cree seguro por que aunque matemáticos de todo el mundo han trabajado arduamente, solo se han producido modestas mejoras en los algoritmos de factorización. Con lo cual con un pequeño incremento en los tamaños de las claves, RSA aún puede mantener la ventaja frente al crecimiento exponencial del poder de cómputo.
Tipos de Ataque
Pero esto está por cambiar, primero veamos los tres enfoques para atacar RSA hasta el momento.
Fuerza Bruta
Se intenta probar todas las posibles claves privadas. Este enfoque es poco práctico ya que requiere de un poder de cómputo extremadamente alto.
Ataques Matemáticos
Existen varios enfoques pero todos intentan producir el mi resultado, factorizar el producto de dos números primos.
Los tres enfoques matemáticos consisten en:
Factorizar n en sus dos factores primos.
Determinar Φ(n) directamente.
Determinar d directamente sin calcular primero Φ(n).
El enfoque más importante es el primero, factorizar n en sus dos factores primos
Ataques no convencionales
Cuando uno creía que tenia un algoritmo criptográfico era razonablemente seguro, aparecen algoritmos sorprendentemente ingeniosos como el ataque de tiempo. Se ha demostrado que un espía puede determinar una clave privada con tan solo llevar un registro del tiempo le toma a una computadora descifrar mensajes. Los ataques de tiempo no solo se aplican a RSA sino también a otros algoritmos de clave pública. Este ataque es alarmante por que proviene de una dirección completamente inesperada.
Al ataque de tiempo hay que sumarle otros como el DPA (Differential Power Analysis) que consiste en analizar el consumo de energía u otros más recientes que indican que se puede distinguir diferentes patrones de la operación del CPU y de acceso a memoria mediante el sonido que se emite.
A estos ataques ingeniosos hay que sumarle los cambios que introducirán la mecánica cuántica y la computación cuántica. En 1994, Peter Shor de los laboratorios AT&T inventó un algoritmo cuántico capaz de factorizar números grandes. Más recientemente en 1996, Lov Grover de Lucent Technologies, los Laboratorios Bell, inventó un algoritmo de búsqueda cuántico. Este último puede utilizarse para acelerar radicalmente la búsqueda exhaustiva de claves en DES y AES.
Cuando se construya una computadora cuántica en un futuro no tan lejano, gran parte de la criptografía convencional caerá en pedazos. Y aunque falte una década hasta que las primeras computadoras cuánticas sean una realidad concreta, cierta información, como los diseños de armas nucleares, deberá seguir siendo secreta por lo que es importante que los mensajes que son enviados en forma secreta hoy continúen siendo secretos mañana.

Seguridad de la criptografía cuántica
A diferencia de los métodos convencionales que basan su seguridad en principios matemáticos, la criptografía cuántica se basa en principios físicos. Ya que por las leyes de la física cuántica es imposible medir un estado cuántico de un sistema sin alterarlo y según los físicos nunca va a ser posible. Se cree que la criptografía cuántica es un criptosistema indestructible. Incluso existen al menos dos estudios independientes que afirman haber probado su seguridad definitiva, es decir una prueba de que los protocolos criptográficos cuánticos son inmunes a todas las estrategias de escucha.
Sin embargo hay que reconocer el principal inconveniente de la criptografía cuántica, no brindar ningún mecanismo de autentificación. No hay forma de saber si Alice y Bob están realmente comunicándose entre ellos, y no con un intermediario (Eve) haciéndose pasar por ambos. Por lo tanto antes de que Alice y Bob puedan iniciar el protocolo cuántico, deberán intercambiar sus claves de autentificación.

Conclusión
La principal ventaja de la criptografía cuántica es que a diferencia que en todos los métodos de criptografía convencionales, la seguridad de la criptografía cuántica no depende de la capacidad de cómputo del adversario sino que está garantizada en forma absoluta por las leyes de la física cuántica. Otra gran ventaja que brinda es su capacidad única para detectar escuchas. Y aunque aún quede mucho por hacer en materia de investigación hasta que sea un método aplicable a gran escala, la criptografía cuántica es un salto importantísimo en materia de seguridad.
Elena

Filed under having 0 comentarios