You are on page 1of 30

Manual de TrueCrypt Y Ejemplos

CONTENIDO

I.

INTRODUCCION .............................................................................................. 2

II. INSTALACION ................................................................................................. 3 III. CREACIN DE UN VOLUMEN NUEVO .......................................................... 5 IV. ENCRIPTAR UNA UNIDAD ........................................................................... 10 V. MONTAR UN VOLUMEN (IMPRESCINDIBLE PARA SU USO) ................... 16 VI. DESMONTAR UN VOLUMEN (RECOMENDABLE ....................................... 19 VII. CIFRADO DEL CESAR ALGORITMO EN JAVA ....................................... 20 VIII. ENCRIPTACIN USANDO PHP TECNOLOGIA WEB............................... 24

Manual de TrueCrypt

Pgina 1

I. INTRODUCCION
TryeCrypt es una de las mejores soluciones disponibles en el mercado, para cifrar informacin importante, es gratuita y multiplataforma (GNU/Linux, Mac OS X, WindowsXP/2000/2003/Vista/Seven), es recomendada para proteger tu informacin sensible y as evitar que personas no autorizadas tengan acceso a ella. TrueCrypt es una herramienta de cifrado gratuita muy poderosa y fcil de utilizar. Con esta aplicacin podrs crear discos de seguridad virtuales o incluso cifrar unidades enteras.

Es una herramienta on-the-fly, es decir que los archivos son descifrados cuando los accedes o modificas y se vuelven a cifrar cuando no estn en uso.

Gracias a varios trucos de optimizacin y la completa utilizacin de los recursos de los procesadores modernos, no hay diferencia entre trabajar con un volumen cifrado porTrueCrypt a trabajar con una unidad sin cifrar.

Este software no slo ofrece un cifrado potente y flexible, tambin ofrece la habilidad de crear volmenes ocultos dentro de unidades cifradas para una mayor seguridad.

Compatible con GNU/Linux, Windows y Mac Freeware

Manual de TrueCrypt

Pgina 2

II. INSTALACION
Buscamos el enlace para su descarga en: http://www.truecrypt.org/downloads Escogemos la versin que nos interese (Mac, Linux o Ms Windows), en nuestro caso, la versin Windows:

Una vez descargado el archivo ejecutable TrueCrypt Setup 7.1a.exe, procederemos a su instalacin.

Manual de TrueCrypt

Pgina 3

Manual de TrueCrypt

Pgina 4

III.

CREACIN DE UN VOLUMEN NUEVO

Crear un volumen nuevo quiere decir que vamos a crear un fichero que har de contenedor para nuestros ficheros, de tal forma que todo lo que grabemos dentro del mencionado contenedor permanecer encriptado. La forma de utilizar este volumen ser similar a como se usa una imagen ISO (con Daemon Tools, Alcohol 120%, etc.) o la forma de utilizar dispositivos con las distribuciones Linux (Unix). Como primer paso de nuestra instruccin, debemos arrancar el programa y seleccionamos la opcin para crear un nuevo Volumen. Acto seguido seleccionamos crear un nuevo fichero contenedor encriptado (Opcin recomendada para principiantes):

Por norma general utilizaremos el tipo de volumen estndar.

Manual de TrueCrypt

Pgina 5

Debemos especificar la ubicacin deseada para el fichero. Para documentar esta instruccin, hemos escogido el escritorio del equipo:

En el siguiente paso, dejaremos los valores por defecto: Encriptacin AES y Hash RIPEMD-160.

Manual de TrueCrypt

Pgina 6

La siguiente ventana nos plantea la pregunta la cantidad de espacio que deseamos destinar al contenedor encriptado:

Podemos considerar un tamao de 2 Gb ms que adecuado para la mayora de proyectos que queramos proteger.

Manual de TrueCrypt

Pgina 7

El siguiente paso ser escoger una password para proteger nuestra informacin. La recomendacin estndar es 20 dgitos y con bastante complejidad. En caso contrario el programa mostrar un aviso (como el de la captura) pero nos dejar seguir:

La ventana actual muestra las opciones finales de creacin del volumen, su sistema de ficheros y su formato:

Manual de TrueCrypt

Pgina 8

Para ilustrar la instruccin hemos escogido un sistema de ficheros NTFS con el tamao de clster 64KB (el mayor). Una vez creado el volumen, podemos dar por finalizado el proceso y podemos utilizar nuestro nuevo volumen de datos cifrado con toda normalidad:

A tener en cuenta: Para poder utilizar el volumen/la unidad recin encriptada se deber montar y desmontar (tal como se explica en los puntos correspondientes en el presente documento) y asignando una letra de unidad.

Manual de TrueCrypt

Pgina 9

IV.

ENCRIPTAR UNA UNIDAD

Para encriptar una unidad entera, que no sea la de sistema (un disco duro esclavo, una particin para datos, etc.) deberemos seguir las instrucciones siguientes... Primero de todo, vamos a la opcin de crear un nuevo volumen.

Seleccionamos la unidad (dispositivo, particin, etc.):

Manual de TrueCrypt

Pgina 10

El software nos mostrar un aviso como el siguiente, en el que clicaremos la respuesta S.

Por norma general, la opcin que seleccionaremos ser Volumen TryeCrytp Comn.

Manual de TrueCrypt

Pgina 11

Si la particin (disco, dispositivo, etc.) no est vaca, seleccionaremos la opcin Encrypt partition in place. La opcin Create encrypted volumen and format it nos crear el volumen y nos supondr perder la informacin que all hubiera.

Las opciones de encriptacin por defecto son perfectamente vlidas:

Manual de TrueCrypt

Pgina 12

En nuestro caso, el tamao del volumen ser la unidad entera

Aqu es donde tenemos que informar en las cajas de texto la contrasea deseada. Es recomendable activar el checkbox Mostrar contrasea para mayor comodidad, siempre que se tenga la seguridad de estar solo.

Manual de TrueCrypt

Pgina 13

Cuando hagamos clic en el botn Siguiente, si la contrasea es menor de 20 caracteres (con las sugerencias del programa) podremos leer un aviso que nos advierte de la debilidad de la contrasea y nos pregunta si estamos seguros. Por si en un futuro tenemos inters guardar encriptados ficheros grandes (mayores de 4 Gb, como imgenes de DVD, ficheros multimedia, etc.), marcaremos la opcin Si en la pantalla que nos muestra la siguiente captura:

Manual de TrueCrypt

Pgina 14

En el siguiente paso es donde deberemos escoger el tipo de sistema de ficheros que deseamos para nuestra nueva unidad. En nuestro caso elegimos NTFS y Clster por defecto. Es altamente recomendable mover el cursor por la ventana del TrueCrypt para incrementar la aleatoriedad de las llaves. El ltimo paso es hacer clic en el botn Formatear. En el caso de ejemplo, se trata de una unidad de 300GB y la estimacin de tiempo ha sido entre 4 y 5 horas.

Cuando vemos la siguiente captura, querr decir que el proceso ha ido bien y ya tenemos una nueva unidad encriptada en el sistema.

Manual de TrueCrypt

Pgina 15

A tener en cuenta: La letra de unidad del dispositivo encriptado queda en desuso salvo que se quiera formatear, perdiendo la informacin almacenada y, por supuesto, la encriptacin. Para poder utilizar la unidad recin encriptada se deber montar y desmontar (tal como se explica en los puntos correspondientes en el presente documento) y asignar una nueva letra de unidad.

V.

MONTAR UN VOLUMEN (IMPRESCINDIBLE PARA SU USO)

Montar y desmontar el volumen encriptado es imprescindible para poderlo utilizar. Para ello deberemos: Para montar un volumen, el primer paso es seleccionar el contenedor. En nuestro caso ser el fichero encriptado que hemos guardado en el escritorio el cual hemos buscado a travs del botn Select File...:

Manual de TrueCrypt

Pgina 16

En el caso de nuestro ejemplo, montaremos (cargaremos) la unidad K con nuestro volumen encriptado. Para conseguir esto, debemos clicar el botn Mount.

En este punto, el software nos preguntar por la password que hayamos escogido anteriormente. Si el password que hemos informado en el textbox es el correcto, veremos que el programa nos muestra el estado del volumen de la siguiente forma:

Manual de TrueCrypt

Pgina 17

La demostracin de que todo ha ido bien est en Mi PC:

Manual de TrueCrypt

Pgina 18

VI.

DESMONTAR UN VOLUMEN (RECOMENDABLE

As como es imprescindible montar el volumen para trabajar con l, desmontarlo es una recomendacin ya que este paso se har automticamente cuando se apague el sistema. La recomendacin viene por si alguna persona no autorizada accede a nuestro ordenador antes que hayamos desmontado el volumen o apagado el PC y en ese caso el intruso tendra acceso a la informacin encriptada sin ningn tipo de dificultad. Desmontar un volumen es tan sencillo como ir a la ventana del programa, seleccionar el volumen que hemos montado antes y clicar el botn Dismount:

Manual de TrueCrypt

Pgina 19

VII. CIFRADO DEL CESAR ALGORITMO EN JAVA

En criptografa, el cifrado Csar, tambin conocido como cifrado por desplazamiento, cdigo de Csar o desplazamiento de Csar, es una de las tcnicas de codificacin ms simples y ms usadas. Es un tipo de cifrado por sustitucin en el que una letra en el texto original es reemplazada por otra letra que se encuentra un nmero fijo de posiciones ms adelante en el alfabeto. Por ejemplo, con un desplazamiento de 3, la A sera sustituida por la D (situada 3 lugares a la derecha de la A ), la B sera reemplazada por la E, etc. Este mtodo debe su nombre a Julio Csar, que lo usaba para comunicarse con sus generales. El cifrado Csar muchas veces puede formar parte de sistemas ms complejos de codificacin, como el cifrado Vigenre, e incluso tiene aplicacin en el sistema ROT13. Como todos los cifrados de sustitucin alfabtica simple, el cifrado Csar se descifra con facilidad y en la prctica no ofrece mucha seguridad en la comunicacin. [Leer mas] Implementacin en Java del algoritmo del Cifrado del Cesar. Primero creamos una clase a la que llamaremos Cifrar.java la cual tendr todo el cdigo para realizar la sustitucin por desplazamiento correspondiente al algoritmo del Cifrado del Cesar.

Cdigo en Java

/** * @author JF * Implementacin del algoritmo de sustitucin * el cifrado del Cesar. */ public class Cifrar {

int desplazamiento; String mensaje;


Manual de TrueCrypt Pgina 20

String clave = ""; String caracter; char array[] = {'A','B','C','D','E','F','G','H','I','J','K','L','M',' N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};

public String descifrarMensaje(String msj, int desp){ mensaje = msj; desplazamiento = desp; recorrerMensaje(); return clave; }

/** * Recorrer cada letra del mensaje */ private void recorrerMensaje(){ String decod = ""; for(int i = 0; i < = mensaje.length() - 1; i++){ caracter = mensaje.substring(i, i + 1); if(!caracter.equals(" ")){ int posicion = getPosicionCaracter(caracter);

Manual de TrueCrypt

Pgina 21

decod = decrypt(posicion); clave += decod; }else{ clave += " "; } } //String substring = mensaje.substring(desplazamiento, desplazamiento) }

private int getPosicionCaracter(String letra){ int posicion = 0; for(int i = 0; i <= array.length; i++){ if(String.valueOf(array[i]).equals(letra)){ posicion = i; break; } } return posicion; }

//Desencripta un caracter public String decrypt(int c){

Manual de TrueCrypt

Pgina 22

int posicion = c + desplazamiento; if(posicion > array.length - 1) posicion = posicion - array.length; String decod = String.valueOf(array[posicion]); return decod; } }

Ahora creamos una clase llamada cifradodelcesar.java que ser la que tendr nuestro mtodo principal y crear un objeto de la clase anterior. Cdigo en Java

public class cifradodelcesar {

public static void main(String[] args){ Cifrar c1 = new Cifrar(); Cifrar c2 = new Cifrar(); System.out.println("P JHTL P ZHD P JVUXBLYLK = " + c2.descifrarMensaje("P JHTL P ZHD P JVUXBLYLK", 19)); } }
Proceso Encriptacin:

Manual de TrueCrypt

Pgina 23

Proceso Encriptacin:

VIII. ENCRIPTACIN USANDO PHP TECNOLOGIA WEB


Encriptacin en Dos sentidos: Existen muchos algoritmos para encriptar de dos sentidos, y una gran variedad de libreras para hacerlo. Sin embargo, la ms fcil de utilizar y ms comn es la librera MCrypt. Para poder utilizar esta librera tienes que asegurarte de que est instalada junto con tu instalacin de PHP. La forma ms simple de saber si est instalada es simplemente colocando el cdigo y si no aparece ningn error entonces tu instalacin cuenta con MCrypt. Otra forma de saber si est instalada es crear una pgina web con el siguiente contenido:

Cuando cargues esta pgina, si mcrypt est instalado, deberas encontrar en algn lado de la pgina algo como esto:

Manual de TrueCrypt

Pgina 24

Si usaste el instalador de PHP para Windows, lo ms probable es de que est instalada, si no lo est puedes conseguir la DLL libmcrypt.dll en http://files.edin.dk/php/win32/mcrypt/. Simplemente copia esta DLL en la carpeta ext de tu instalacin de php y en alguna de las rutas que estn dentro de tu PATH y listo. Para mayor informacin de como instalar visita http://www.php.net/manual/en/book.mcrypt.php. Si trabajas con Ubuntu, probablemente necesites instalarla. Para instalarla basta con ejecutar el comando sudo apt-get install php5-mcrypt en un terminal y luego reiniciar tu servidor apache con el comando sudo /etc/init.d/apache2 restart. Voy a implementar dos funciones que me permiten encriptar y desencriptar cadenas. Ambas funciones reciben la cadena que se quiere encriptar o desencriptar y la clave secreta a utilizar. Estas funciones devuelven la cadena encriptada o desencriptada. Para encriptar utilizaremos la funcin mcrypt_encrypt y para desencriptar la funcin mcrypt_decrypt. Ambas funciones reciben los siguientes parmetros:

Manual de TrueCrypt

Pgina 25

Ahora el cdigo de ambas funciones que es bastante simple: Cdigo en PHP:


<?php function encriptar($cadena, $clave = "una clave secreta") { $cifrado = MCRYPT_RIJNDAEL_256; $modo = MCRYPT_MODE_ECB; return mcrypt_encrypt($cifrado, $clave, $cadena, $modo, mcrypt_create_iv(mcrypt_get_iv_size($cifrado, $modo), MCRYPT_RAND) ); }

function desencriptar($cadena, $clave = "una clave secreta")

Manual de TrueCrypt

Pgina 26

{ $cifrado = MCRYPT_RIJNDAEL_256; $modo = MCRYPT_MODE_ECB; return mcrypt_decrypt($cifrado, $clave, $cadena, $modo, mcrypt_create_iv(mcrypt_get_iv_size($cifrado, $modo), MCRYPT_RAND) ); } ?>

En este caso estas dos funciones utilizan el cifrado RIJNDAEL_256 en modo ECB para encriptar la informacin. Ahora hagamos un pequeo programa que muestre como utilizar estas funciones: Cdigo en PHP:
<?php // Las funciones encriptar y desencriptar van aqui ?> <html> <head> <title>Demo Encriptacion</title> </head> <body> <?php $valorEncriptado = encriptar("Copstone", "casa");

$valorOriginal = desencriptar($valorEncriptado, "casa");

echo "Encriptado: <code style='color:#ff0000;'>{$valorEncriptado}</code>";

Manual de TrueCrypt

Pgina 27

echo "<br/>"; echo "Original: <code style='color:#009922;'>{$valorOriginal}</code>"; ?> </body> </html>

Si ejecutas la pgina puedes ver que se ha generado algo como esto:

Convertir la cadena encriptada en base 64 para que solo est compuesta por caracteres con representacin visual. Para convertir a base 64 usaremos base64_encode y base64_decode. El cdigo quedara algo as: Cdigo en PHP:
<?php // Las funciones encriptar y desencriptar van aqui ?> <html> <head> <title>Demo Encriptacion</title> </head> <body>

Manual de TrueCrypt

Pgina 28

<?php $valorEncriptado = base64_encode(encriptar("Copstone", "casa"));

$valorOriginal = desencriptar(base64_decode($valorEncriptado), "casa");

echo "Encriptado: <code style='color:#ff0000;'>{$valorEncriptado}</code>"; echo "<br/>"; echo "Original: <code style='color:#009922;'>{$valorOriginal}</code>"; ?> </body> </html>

Encriptacin en un solo sentido Ahora que ya hemos visto como realizar la encriptacin de dos sentidos te voy a mostrar como realizar la de un solo sentido. Para encriptar en un solo sentido no necesitas instalar nada ya que PHP a partir de su versin 5.0 viene incluido con esta funcionalidad. Para encriptar en un solo sentido podemos utilizar la funcin hash_hmac que recibe los siguientes parmetros:

Manual de TrueCrypt

Pgina 29

Ejemplo en el que utilizo la funcin de forma directa por su simplicidad: Cdigo en PHP
<html> <head> <title>Demo Encriptacion</title> </head> <body> <?php echo hash_hmac('md5', 'Copstone', 'casa'); ?> </body> </html>

Este ejemplo produce el siguiente resultado:

Manual de TrueCrypt

Pgina 30

You might also like