Ataques ms importantes sobre algoritmos
criptogrficos
En este apartado mencionaremos los ataques ms importantes contra los algoritmos
criptogrficos clasificados por tipo de algoritmo.
Algoritmos de cifrado simtrico por bloques
Criptoanlisis diferencial. Se realizan sobre algoritmos de cifrado por bloques
iterativos. Es un ataque de texto claro elegido que se basa en el anlisis de la evolucin
de las diferencias de dos textos en claro relacionados cuando son encriptados con la
misma clave. Mediante el anlisis de los datos disponibles se pueden asignar
probabilidades a cada una de las claves posibles . Eventualmente, la clave ms probable
puede ser identificada como la correcta.
Criptoanlisis lineal. Este es un ataque de texto en claro conocido que usa una
aproximacin lineal para describir el funcionamiento del algoritmo. Dados suficientes
pares de texto en claro y cifrado se pueden obtener datos sobre la clave.
Explotacin de claves dbiles. Hay algoritmos para los que se pueden encontrar claves
que se comportan de modo especial, por ejemplo dando origen a ciertas regularidades en
la encriptacin o un bajo nivel de encriptacin. Si el nmero de claves dbiles es
pequeo no tiene importancia, pero si el algoritmo tiene muchas de estas claves es fcil
que se vea comprometido.
Ataques algebraicos. Son una clase de tcnicas que basan su xito en que los
algoritmos criptogrficos muestren un alto grado de estructura matemtica. Por ejemplo,
si un algoritmo tiene estructura de grupo, al encriptar con una clave, y luego volver a
encriptar con otra obtenemos un texto cifrado que podra haber sido generado con el
mismo algoritmo y una sola clave, lo que hace al algoritmo bastante dbil.
Algoritmos de cifrado simtrico de flujo de datos
Los principales ataques a este tipo de algoritmos buscan debilidades en la estructura del
mismo que le permitan descubrir partes de la secuencia de cifrado. Una de las
caractersticas fundamentales es el periodo de la clave de cifrado, ya que si es muy corto
y se descubre una parte de la clave se puede emplear en sucesivos periodos del
algoritmo.
Complejidad lineal. Una tcnica empleada para atacar estos algoritmos es el uso de un
registro de desplazamiento lineal con realimentacin (linear feedback shift register)
para replicar parte de una secuencia. A partir de esta tcnica aparece la complejidad
lineal de una secuencia, que ser el tamao del registro que necesitemos para replicarla.
Ataques de correlacin. Otros ataques intentan recuperar parte de una secuencia de
cifrado ya empleada. Dentro de estos ataques hay una clase que podemos denominar
divide y vencers que consiste en encontrar algn fragmento caracterstico de la
secuencia de cifrado y atacarla con un mtodo de fuerza bruta y se comparar las
secuencias generadas con la secuencia de cifrado real. Este mtodo lleva a lo que se
denomina ataques de correlacin y ataques de correlacin rpidos.
Algoritmos de resumen de mensajes
Las funciones de dispersin deben tener dos propiedades para ser tiles en criptografa:
deben ser funciones de una sola direccin y no tener colisiones. El ataque por fuerza
bruta consiste en seleccionar entradas del algoritmo aleatoriamente y buscar una que nos
de el valor que buscamos (la funcin no es de una sola direccin) o un par de entradas
que generen la misma salida (la funcin tiene colisiones).
Ataque del cumpleaos. Se trata de una clase de ataques por fuerza bruta. El nombre
viene de la paradoja del cumpleaos: la probabilidad de que dos o ms personas en un
grupo de 23 personas cumplan aos el mismo da es superior a 1/2.
Si una funcin retorna uno de k valores equiprobables cuando se le proporciona una
entrada aleatoria, cuando le proporcionamos repetidamente valores de entrada distintos,
obtendremos dos salidas iguales despus de 1.2k1 / 2 ejecuciones. Si buscamos una
colisin en una funcin de dispersin, por la paradoja del cumpleaos sabemos que
despus de probar 1.2 * 2 pi / 2 entradas tendremos alguna.
Pseudo-colisiones. Otro problema de estos algoritmos son las pseudo-colisiones, que
son las colisiones producidas en la funcin de compresin empleada en el proceso
iterativo de una funcin de dispersin. En principio que haya pseudo-colisiones no
implica que el algoritmo no se seguro.