lunes, 19 de noviembre de 2012

Unidad 4. Resumen Criptología

Resumen Criptología.
En la comunicación entre dos o más entidades, la capacidad de procesar la información transmitida antes de enviarla es vital para asegurar uno o más de los parámetros necesarios en una comunicación segura.
En un modelo formal de comunicación  sobre un canal no seguro el emisor debe codificar los datos mediante un método de cifrado usando para ello una clave dispuesta a tal efecto. En el destino, el receptor de la información transmitida aplica un método de descifrado usando la clave adecuada (posiblemente la misma que el emisor, aunque no necesariamente) para recuperar los datos originales. Este modelo contempla la posibilidad de que una tercera entidad, el o la intruso, tenga la posibilidad tanto de leer la información cifrada como alterar y reenviar los mensajes remitidos entre las entidades. 
Para poder llevarlos a cabo los criptógrafos desarrollan algoritmos cifradores, que los criptoanalistas intentan romper. Ambas actividades se denominan globalmente criptología y sus seguidores, criptólogos.

Históricamente, los modelos de cifrado se dividen en dos categorías: cifrados por sustitución y cifrados por transposición.
En un cifrado por sustitución, cada componente discreto del alfabeto que forma el texto normal se sustituye por uno o más elementos del alfabeto de salida. Es a Julio César a quien se atribuye la autoría de uno de los más viejos, el consistente en aplicar la sustitución progresiva al texto normal de una letra por otra resultante
Los cifrados por transposición reordenan los componentes del alfabeto del texto normal, sin disfrazarlos. Cada elemento del alfabeto se transmite tal cual pero en una posición distinta ai original. Por ejemplo, escribiendo el texto normal por filas en forma de matriz n columnas por m filas- y seleccionando un orden dado de las columnas, podemos mandar una tras otra. Esto es, escribimos por filas y enviamos por columnas. La clave es el orden de las columnas elegido.
La criptologia moderna se basa en los mismos principios básicos se sustitución y transposición, pero desde otro punto de vista. Antes e buscaban algoritmos sencillos y claves largas, hoy en día es al contrario; buscamos claves cortas y algoritmos complejos que el criptoanalista no sea capaz de entenderlo aunque tenga texto cifrado de su elección.
Funciones hash
Probablemente el lector pueda encontrar chocante que incluya esra subsección precisamente aquí. Las Funciones hash no son algoritmos criptográficos, en el sentido formal del término, pero si son extensivamente usadas en multitud de áreas de la informática en la criptografía en particular. Las funciones hash deben situarse antes de los métodos de criptografía de clave privada.
Conceptualmente las funciones hash convierten entradas de datos de longitud arbitraria en salidas de longitud fija. Como ya he dicho, su utilidad se extiende a varios ámbitos de la computación, no solamente a los relacionados con la seguridad en general y la criplogralia en particular.
Las propiedades de una función hash son:
-       Cada bit del resultante de la función sufre la influencia de cada bit de la entrada de la misma.
-       Si se modifica cualquier bit de la entrada de la función, cada bit de salida tiene como mínimo un 50% de posibilidades de cambiar.
    Dada una entrada y su valor hash calculado, no debe ser factible compuiacionalmente encontrar otra que genere el mismo valor. En caso de existir, se dice que ambas entradas colisionan.
Función hash unidireccional (owhf)
Una  función  hash unidireccional   es una  función h que satisface las condiciones siguientes:
■      El argumento x puede ser de longitud arbitraria y el resultado h(x) tiene una longitud fija de n bits.
■      Dada una y es difícil encontrar una x tai que h(x)—y (resistente a la preimagen).
■      Dado   un x es difícil encontrar x' / x  tal  que  h(x')-h(x)
Código de autenttficación de mensajes (mac)
Han sido ampliamente usados por la comunidad bancaria. Un algoritmo MAC es una función h que cumple las siguientes condiciones:
■     El argumento x puede ser de longitud arbitraria y el resultado hk(x) tiene una longitud fija de n bils.
■     Dados h y x es difícil formar un MAC sobre un nuevo mensaje. Incluso cuando muchos pares [(xbhk(x)] son conocidos es difícil calcularhk(x´) para cualquierx'≠x¡
Modos criptográficos
Los algoritmos de cifrado de bloques pueden ser aplicados de diversos modos.
Electroníc Codebook (ECB): cada bloque de entrada se encripta de forma independíenle al resto. Idénticos bloques de entrada producen idénticos bloques de salida. Es el más rápido y fácil de implementar. sin embargo es el menos seguro.
Cipher block chaining (CBC): cada bloque de entrada es previamente encadenado (operación XOR) con el resultado cifrado del bloque anterior, para después ser codificado. El primer bloque se opera con uno inicial (VI. vector de inicialización) conocido por ambos, emisor y receptor.
Cipher feedback (CFB): usado para el cifrado bytc a bylc. Lis adecuado cuando no se puede esperar a llenar un bloque para su transmisión codificada.
Output feedback (OFB): casi idéntico a CFB, excepto por la modificación que permite que este esquema sea más robusto a errores de transmisión dentro de un bloque. Fl error de un bit en el bloque cifrado de entrada sólo afecta a un bit en el bloque decodificado de salida.
Ataques contra algoritmos
Los algoritmos criptográficos, ya sean simétricos o asimétricos, se han construido con la seguridad en mente; pese a ello, no podemos extrapolar su infabilidad. La capacidad de un sistema criptográfico para proteger la información contra el ataque se conoce como fortaleza, la cual depende de muchos factores:
■      La confidencialidad de la/s clave/s.
■      La dificultad para adivinar y/o probar todas las claves posibles.
■      La dificultad de invertir el algoritmo sin conocer la clave.
■      La no existencia de puertas traseras.
■      El conocimiento que se tenga sobre el texto claro.
                    
Criptoanálisis cuántico
Imaginemos la búsqueda de una ocurrencia concreta en una base de datos desordenada de, pongamos, N elementos. Mediante sistemas de búsqueda clásica basadas en la fuerza bruta podernos alcanzar nuestro objetivo en N/2 pasos de media. Un dispositivo cuántico puede llevar a cabo el mismo proceso en un solo paso.
Para poder aplicar esto al criptoanalisis.Un dispositivo clásico necesitaría 256 = 7*10*16 pasos para probar por fuerza bruta todo el espacio de claves de un algoritmo DES en busca de una en concreto. Si cada paso la realiza en una millonésima de segundo necesitará más de mil años para encontrar la clave. Un dispositivo cuántico apenas cuatro minutos, usando el algoritmo de Lov Grover
Criptografía cuántica
El principal objetivo a alcanzar por parte de la criptografía es la transmisión sobre un canal de comunicación inseguro de tal modo que sólo el destinatario correcto sea capaz de leerlo. Como hemos visto, para llevarlo a cabo usamos algoritmos criptográficos. También hemos visto como el secreto no reside en el procedimiento usado, el cual suele ser público, sino en la clave o claves usadas.
Actualmente el problema de la distribución de estas claves se soluciona eficazmente gracias a la tecnología de clave pública (principalmente RSA). Sin embargo al basarse en la intratabilidad de factorizar grandes números y dado que este hecho no se ha demostrado definitivo, podríamos ver de la noche a la mañana como estas tecnologías son desechadas.
Realidades e implicaciones
En principio sabemos cómo construir computadoras basadas en la mecánica que nos ocupa: simplemente deberíamos construir puertas lógicas cuánticas y conectarlas en forma de redes.
Una puerta lógica cuántica es un dispositivo simple de computación que lleva a cabo un cálculo cuántico elemental, habimalmente sobre dos qbits, en un tiempo conocido. Pero se difiere de sus equivalentes en la computación clásica en que estas pueden realizar sus operaciones sobre superposiciones cuánticas.
Pero a medida que unimos estos dispositivos formando redes cuánticas vamos encontrando problemas prácticos. De entre estos el más importante es el denominado decoherencia: superposiciones cuánticas afectadas por el entorno. Asi que la tarea a llevar a cabo es hacer ingeniería en sistemas subatómicos en los cuales los qbits se afectan entre ellos, pero no sobre su entorno.

No hay comentarios:

Publicar un comentario