Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción
En esta práctica encriptarás y desencriptarás archivos con algoritmos de cifrado
simétrico que son usados en la actualidad, a través de la herramienta OPENSSL.
[NOTA2: AES tiene 3 modos de cifrado distinto utilizando los parámetros –aes128, -
aes192 o –aes256, que se refieren a longitudes de llaves de 128, 192 y 256 bits
respectivamente.]
Abre otra ventana de shell y observa el contenido de los archivos encriptados con el
comando cat y/o notepad en windows (observa como el texto es ilegible y la longitud
cambia también).
Actividad 2) Desencriptar los archivos cifrados con algoritmos simétricos DES y AES
Utiliza los siguientes comandos desde el prompt de openssl para desencriptar los
archivos d1.txt y d2.txt (recuerda utilizar la misma contraseña que ocupaste para
encriptarlos):
En otra ventana de shell observa el contenido de los archivos que acabas de
desencriptar(c1.txt y c2.txt) y compáralos con el contenido y longitud del archivo c.txt
(los 3 deberán ser idénticos).
Practica 2
En esta práctica aplicarás encriptamiento y desencriptamiento con el algoritmo
asimétrico RSA.
Genera una llave privada de 1024 bits de longitud, priv.key, con el algoritmo de RSA
utilizando el siguiente comando, dentro del entorno openssl:
Genera una segunda llave privada, priv2.key, pero esta vez encríptala con el algoritmo
simétrico DES (puedes cambiar la ‘contraseña’ por la clave que desees; ésta se te
pedirá para poder usar la llave):
Por esto, comúnmente se encripta la llave privada con un algoritmo simétrico para
evitar un uso ilegal de la misma.]
Observa el contenido de las llaves con el comando cat (cat priv.key) y/o el notepad en
Windows.
Genera ahora llaves públicas derivadas de las llaves privadas que creaste, con los
comandos:
En el Segundo caso que usamos contraseña, en vez de esperar a que openssl te pida
la contraseña, la puedes pasar directamente como parámetro con el comando:
Observa también el contenido de los archivos pub.key y pub2.key con el comando cat
y/o notepad (notarás que son más pequeños que aquellos que contienen las llaves
privadas).
[NOTA: En la teoría de cifrado asimétrico, comúnmente se maneja que las llaves son
intercambiables; en la práctica una de las 2 llaves (la que definimos como privada)
debe almacenar los datos que la relacionan matemáticamente con el otro par (permiten
derivar la llave pública). Debido a esto es que los archivos de llave privada son más
grandes y no pueden ser intercambiados indistintamente con los de llave pública.]
Actividad 2) (Des) encriptamiento de archivos con algoritmo asimétrico RSA
Genera un archivo de texto “pequeño” (3 o 4 palabras) llamado c.txt. Con este archivo
y la llave pública que generaste en la actividad anterior, crea el archivo encriptado d.txt
usando el siguiente comando en OpenSSL:
Puedes ver que el contenido es ilegible con el comando cat y/o notepad d.txt; ahora
desencripta el archivo con el siguiente comando:
Se pidio un texto pequeño c.txt porque algoritmos asimétricos como RSA tienen que
cifrar todo el texto sin segmentarlo; por su base matemática no pueden encriptar un
texto cuyo tamaño sea mayor que el de la llave misma. Intenta encriptar un texto
grande (por ejemplo de 4kb o más) y obtendrás un error. Si se segmenta el texto y se
cifran los segmentos individuales se vulnera la seguridad del algoritmo (esto da
elementos a los criptoanalistas para romper el cifrado).
Este hecho (además de que los algoritmos asimétricos son más lentos), provoca que
los algoritmos asimétricos sean utilizados principalmente para el intercambio de llaves
(de algoritmos simétricos)y firmas digitales;
Los algoritmos simétricos son los que se usan para encriptar grandes volúmenes de
datos
Practica – Firma Digital
Firma digitalmente el archivo c.txt usando el siguiente comando dentro del entorno de
openssl:
El archivo s.sig contendrá la firma digital en formato binario. Para verificar la firma
utiliza el siguiente comando (ahora usando la llave pública):
Deberás obtener como resultado Verified OK por parte de openssl. Prueba modificando
c.txt y volviendo a verificar la firma digital. Observarás que ahora openssl reporta
Verification Failure.
Actividad Previa – Practica Certificados
A través de esta investigacion conocerás las diferentes extensiones de certificados
digitales que existen.
[NOTA: Este certificado digital con duración de 10 años está autofirmado, por ser el
de una autoridad certificadora; el parámetro –x509 logra esto.]