El criptoanálisis es la ciencia opuesta a la criptografía (quizás
no es muy afortunado hablar de ciencias opuestas, sino más bien de
ciencias complementarias), ya
que si ésta trata principalmente de crear y analizar criptosistemas seguros,
la primera intenta romper esos sistemas, demostrando su vulnerabilidad: dicho
de otra forma, trata de descifrar los criptogramas.
El término descifrar siempre va acompañado de discusiones de
carácter técnico, aunque asumiremos que descifrar es conseguir el texto en
claro a partir de un criptograma, sin entrar en polémicas de reversibilidad y
solidez de criptosistemas.
En el análisis para establecer las posibles debilidades de un
sistema de cifrado, se han de asumir las denominadas condiciones del peor
caso:
(1) el criptoanalista tiene acceso completo al algoritmo de encriptación,
(2) el criptoanalista tiene una cantidad considerable de texto cifrado,
y (3) el criptoanalista conoce el texto en claro de parte de ese texto
cifrado. También 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 más
específicos, en los que no se cumplen todas estas condiciones. Cuando el
método 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 sólo tiene acceso al
criptograma, se plantea un ataque sólo al criptograma; un caso más
favorable
para el criptoanalista se produce cuando el ataque cumple todas las condiciones
del peor caso; en este caso, el criptoanálisis se denomina
de texto en claro conocido. Si además 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
verificación de usuarios utilizado por Unix, donde un intruso consigue la
tabla de contraseñas (generalmente /etc/passwd) y se limita a realizar
cifrados de textos en claro de su elección y a comparar los resultados con
las claves cifradas (a este ataque también 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 más favorable para un
analista se produce cuando puede
obtener el texto en claro correspondiente a criptogramas de su elección; 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 criptografía, como en cualquier
aspecto de la seguridad, informática o no, no debemos olvidar un factor muy
importante: las personas. El sistema más robusto caerá fácilmente 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, extorsión, tortura...) se consideran siempre
los más efectivos.
© 2002 Antonio Villalón Huerta