You are on page 1of 11

PRACTICA 1: CIFRADO

Antonio Blzquez Parra 70899268-C


Roberto Garca Pelez 70816197-W

1. Cifrado simtrico con openssl


En la primera parte de la prctica cifraremos archivos de texto mediante el cifrado
simtrico. Este tipo de cifrado utiliza la misma clave para cifrar y para descifrar los
mensajes. Para ello utilizaremos la herramienta OpenSSL.
Lo primero que vamos a hacer es crear el fichero de texto con el que vamos a trabajar en
esta primera parte de la prctica. A este fichero lo llamaremos Seguirdad.txt y su
contenido es el siguiente:

Ahora cifraremos este archivo de texto. OpenSSL nos ofrece varios algoritmos de cifrado
simtrico, podemos listarlos utilizando la orden ciphers.

Nosotros utilizaremos el algoritmo AES con un tamao de clave de 128bits y el modo de


operacin CBC (Cipher Block Chaining).
Para cifrar un mensaje la sintaxis utilizada por openssl es:
openssl enc -e -<algoritmo> -in <ficheroEntrada> -out <ficheroSalida>
Y para descifrar:
openssl enc -d -<algoritmo> -in <ficheroEntrada> -out <ficheroSalida>

Nos pide la contrasea con la que cifraremos el mensaje y verificarla. Una vez hecho
tenemos nuestro mensaje cifrado.

Ahora solo podremos descifrar este mensaje si conocemos la contrasea con la cual se
cifr. Vamos a realizar el proceso de descifrado para comprobar cmo quedar el mismo
mensaje inicial que hay en el archivo Seguridad.txt

Como observamos en la siguiente imagen el contenido del archivo una vez descifrado es el
mismo que el documento que se cifr.

Una vez realizada esta prueba, vamos a repetirla con distintos algoritmos y distintos
archivos de diferentes tamaos para responder a las siguientes preguntas:

El mensaje cifrado es de mayor o menor tamao que el mensaje original?

El tamao depende del algoritmo de cifrado utilizado, del tamao del mensaje original
o de ambos?

Primero vamos a ver el tamao de los ficheros con los que hemos trabajado hasta ahora

Nuestro archivo inicial tiene un tamao de 83 bytes.

Una vez encriptado su tamao aument hasta 112 bytes.

Y como era de esperar el archivo descifrado ocupa lo mismo que el original sin descifrar.
Aunque parezca que el tamao del archivo cifrado sea pequeo, ha aumentado su tamao
casi un 35%, lo que implicara que si queremos cifrar un disco de tamao 100GB nos
ocupara 135GB.
Vamos a comprobarlo cifrando un archivo un poco ms grande. Hemos creado un archivo
de texto que ocupa casi 11kB y lo vamos a cifrar con el mismo algoritmo que hemos
utilizados antes.

Como podemos observar el tamao aumenta ms o menos lo mismo que en el caso


anterior (29 bytes el primer ejemplo 31 bytes este segundo ejemplo), con lo que podemos
concluir que un archivo cifrado no aumenta de manera significativa el tamao respecto del
tamao del archivo original.
Ahora comprobaremos que pasa si aplicamos un algoritmo de cifrado diferente. Vamos a
utilizar el algoritmo RC4 y el Triple DES que hemos visto en teora.

Vemos que con el algoritmo RC4 el tamao no aumenta lo mismo exactamente que con el
AES pero sigue sin ser un aumento considerable. Veamos que sucede con el Triple DES:

Vemos que sucede lo mismo que en el caso anterior.


Y respondiendo a las preguntas que nos hacamos antes, podemos decir que el tamao de
un archivo cifrado es mayor (muy poco, pero mayor) que el tamao del archivo sin cifrar y
que el tamao depende como es lgico del tamao del archivo original y en menor medida
del algoritmo con el que cifremos (el aumento entre un algoritmo u otro es prcticamente
despreciable).

1.2. Algoritmos de cifrado en las conexiones https


Para realizar este apartado de la prctica navegaremos por distintas pginas de internet
que estn alojadas en servidores seguros, y veremos cules son los algoritmos ms
utilizados. Esto lo realizaremos desde dos navegadores diferentes para ver si el algoritmo
utilizado es el mismo o depende del navegador.

Diaweb
Accedemos a Diaweb la pgina del Departamento de Informtica y Automtica de la usal.

Esta primera imagen corresponde al navegador Firefox. Vemos que utiliza un algoritmo
simtrico de encriptacin que ya hemos utilizado nosotros, el AES 128 CBC. Las siglas TLS
que vemos al final se refieren a Transpor Layer Security o seguridad en la capa de
transporte, es un protocolo criptogrfico que proporciona comunicaciones seguras por una
red. En este caso utiliza TLS versin 1.0 actualmente la ms moderna es la versin 1.3

Esta imagen de la izquierda corresponde al


navegador Google Chrome. Vemos que en
este caso nos indica que el conjunto de
cifrado est obsoleto. A parte de esto, el
algoritmo utilizado es el mismo que en el
caso del navegador Firefox, el AES 128 CBC.

Studium
La siguiente direccin web que visitamos es la de Studium

En este caso vemos que hay diferencias dependiendo del navegador utilizado. En la imagen
de arriba correspondiente a Firefox el algoritmo de seguridad es AES 128 CBC como en
Diaweb, pero en Google Chrome utiliza el AES 128 GCM (Galois Counter Mode).
En cuanto al TLS ambos utilizan la versin 1.2.

Facebook

En caso de Facebook tanto Google Chrome como Firefox vuelven a coincidir en el uso del
mismo algoritmo de cifrado, el AES 128 GCM y en este caso tambin los dos coinciden el
en la versin de TLS 1.2.

Banco Santander
Decidimos meternos en un banco, un sitio que debera ser bastante seguro, puesto que a
travs de el tenemos acceso a nuestras cuentas de dinero, tarjetas de crdito etc.

En este caso vuelven a coincidir los algoritmos de cifrado en ambos navegadores, AES 182
CBC con la versin 1.2 del TLS.
Con ello podemos concluir que la gran mayora de pginas web seguras utilizan el mismo
algoritmo de cifrado, el AES casi siempre con alguno de los mtodos CBC o GCM.

2. Cifrado asimtrico con gpupg


En este apartado de la prctica vamos a crear un par de claves cada uno de nosotros, una
pblica y otra privada y despus uno de nosotros crear un fichero de texto y lo codificar
con la clave pblica del otro y este deber ser capaz de descifrar el contenido del mensaje.
Realizaremos esta prctica en dos entornos, Windows y Linux.
Primero en Windows vamos a generar nuestro anillo de claves. Esto lo hacemos mediante
el siguiente comando:
gpg --gen-key
A continuacin se nos pedirn algunos datos ms para relacionar con la clave y una
contrasea para protegerla.

Para comprobar la correcta creacin de nuestras claves podemos listar el conjunto de las
claves que tenemos con el comando
gpg --list-keys

Aqu vemos que hemos creado la clave con xito.

Mi compaero ahora tiene que crear un archivo de texto y cifrarlo con la clave pblica que
acabo de generar, as que debemos exportarla para pasrsela de algn modo. Para realizar
esto utilizamos el siguiente comando:
gpg --armor --output <nombre_fichero.asc> --export <identificador_clave_a_exportar>
Utilizamos la opcin --armor para que la clave se exporte en cdigo ASCII, en el
Identificador de la clave podemos usar el correo electrnico que pusimos, el comentario o
el nombre de usuario.

Aqu podemos ver el archivo que se crea y a continuacin su contenido si lo abrimos con un
editor de textos.

Lo siguiente que har ser mandarle por correo electrnico este archivo a mi compaero
Roberto, que trabajar en Linux.

Lo primero que debemos hacer es importar la clave que hemos recibido, para ello
utilizamos el siguiente comando:
gpg --import <clave a importar>

Ahora que hemos comprobado que tenemos la clave importada, podemos proceder a cifrar
con ella un documento de texto, la sintaxis es:
gpg --armor --recipient <identificador clave> --encrypt <fichero a encriptar>

A continuacin mostraremos el archivo original y el archivo cifrado

Pasamos el archivo cifrado a Windows y procedemos a descifrarlo, para ver su contenido.


La sintaxis utilizada es:
gpg --decrypt <nombre del archivo a descifrar>

Como podemos ver, se nos pide la contrasea para desbloquear la clave privada y una vez
introducida nos muestra el contenido del fichero que acabamos de descifrar.

You might also like