8 de septiembre de 2011

CrypTool, un acercamiento a la criptografía

Hoy voy a hablaros de una herramienta que, aunque tenga un objetivo docente, puede llegar a ser muy útil para tratar temas de cifrado y criptoanálisis.

La herramienta en cuestión es CrypTool. En la actualidad existen diferentes cuatro ramas de desarrollo: 1.x (la rama principal), 2.0 (que cambia completamente respecto a la anterior, siendo ésta más orientada a la docencia), JCrypTool (multiplataforma al estar desarrollada en Java) y CrypTool online (más pobre que las anteriores, pero también merece darse un paseo por la web).

Yo voy a hablaros de la que, en mi opinión y por mi profesión, considero más útil y es la de la rama principal, que va por la versión 1.4.30.

¿Qué nos ofrece CrypTool?

Pues prácticamente nos permite realizar cualquier operación relacionada con la criptografía. Por un lado existe la posibilidad de utilizar cifrados clásicos (César, Vigenère, Vernam, Solitario...) así como algunos de los actuales, tanto simétricos (DES, Triple DES, Rijndael...) como asimétricos (RSA y otros cifrados híbridos).


También se pueden calcular diferentes hashes, firmar digitalmente documentos a partir de claves que se pueden crear directamente desde la aplicación o incluso importando tus certificados externos, aplicar diferentes algoritmos de codificación...


Por otro lado, nos ofrece algunas herramientas que pueden ayudar durante un criptoanálisis. Así, se puede calcular la entropía de un texto, realizar un análisis de frecuencias de los caracteres utilizados así como de n-gramas, calcular la autocorrelación, la periodicidad...

También tiene algunos métodos de criptoanálisis automáticos implementados para casos de los que sólo se disponga del texto cifrado o con texto claro conocido. Para los algoritmos más complejos, presenta asistentes que automatiza algunas partes del procedimiento.

Resultado de criptoanálisis automático a alg. César

¿"Sólo" esto?

Como dije al principio, el objetivo principal de la herramienta es formar a la gente sobre criptografía. De este modo, tiene módulos que explican de una manera muy visual e interactiva conceptos que pueden resultar complejos al principio como diferentes tipos de ataques (MitM, Side Channel Attack...), algoritmos de firma o de autenticación, etc.


Os recomiendo que le echéis un vistazo porque puede llegar a ser bastante útil en muchas situaciones en las que necesitamos cifrar un determinado texto o utilizar cierto algoritmo; además de para refrescar conceptos que tengamos un poco oxidados por no haberlos utilizado mucho.

La web principal del proyecto es:

http://www.cryptool.org/