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