Caso número dos
Mónica Juliana Sánchez Otero
Trabajo de la primera entrega para la materia Criptografía Simétrica para optar a una nota para la
primera entrega de trabajo de esta materia
Docente
Jose Luis Oviedo Álvarez
Universidad Politécnico Gran Colombiano
Especialización en Seguridad de la Información
2025
Planteamiento de la actividad
Se escogió el caso número 2:
1. Bob le ha enviado un mensaje a Alice, ellos acordaron utilizar el algoritmo OpenPGP
con el programa Kleopatra.
2. Bob cifró el mensaje llamado MensajeB con la llave pública de Alice, teniendo en
cuenta que así solamente Alice podrá descifrar el mensaje con la llave privada de Alice.
3. El docente representa a Bob y los grupos representan a Alice. Por esta razón, el
docente comparte a todos los grupos la llave privada de Alice, junto con el mensaje cifrado con
la llave pública de Alice denominado ‘MensajeB’.
4. Para facilidad del ejercicio, Bob creó las llaves por Alice y compartió con Alice la
llave privada de Alice (la cual genera automáticamente su par público al ser importada en
Kleopatra). En un escenario real, Alice debe crear sus propias llaves y compartir a Bob
únicamente la llave pública de Alice, pero esto no impacta el propósito de esta actividad
académica.
5. A diferencia del caso 1, en este caso el descifrado será exitoso, el reto ahora es
identificar la longitud del mensaje B mediante línea de comandos.
6. Los casos 1 y 2 son completamente independientes, por lo tanto, no es necesario tratar
de resolver cada caso con los datos del caso opuesto pues de esto no dependerá la solución de
ninguno.
Indicaciones:
1. Investigue la composición de un mensaje OpenPGP Un mensaje OpenPGP está
compuesto por varios elementos que garantizan confidencialidad, integridad y
autenticidad. Sus componentes principales son:
Cabecera: contiene información sobre el tipo de mensaje (cifrado, firmado, ambos), el
algoritmo utilizado y otros metadatos.
Cuerpo cifrado: es el contenido del mensaje transformado mediante cifrado simétrico.
La clave simétrica usada para cifrarlo se cifra a su vez con la clave pública del
destinatario (cifrado híbrido).
Firma digital (opcional): si el mensaje está firmado, se incluye una firma generada con
la clave privada del remitente. Esta firma permite verificar la identidad del emisor y que
el contenido no ha sido alterado.
Bloques codificados en ASCII (armored): los mensajes OpenPGP suelen representarse
en texto plano codificado en Base64, delimitado por encabezados como -----BEGIN PGP
MESSAGE----- y -----END PGP MESSAGE-----.
Checksum (suma de verificación): al final del mensaje, se incluye una suma de
verificación para detectar errores de transmisión.
2. Investigue las herramientas disponibles por línea de comandos.
GnuPG (gpg) La más popular. Permite generar claves públicas/privadas, cifrar, descifrar,
firmar y verificar archivos o mensajes.
o Crear claves: gpg --full-generate-key
o Cifrar: gpg -e -r destinatario [Link]
o Firmar: gpg --sign [Link]
o Verificar: gpg --verify [Link]
OpenSSL Aunque es más conocida por su uso en certificados SSL/TLS, también permite
cifrado asimétrico con RSA.
o Generar claves: openssl genrsa -out [Link] 2048
o Extraer clave pública: openssl rsa -in [Link] -pubout -out [Link]
o Cifrar: openssl rsautl -encrypt -inkey [Link] -pubin -in [Link] -out
[Link]
o age Una alternativa moderna, más simple y segura que GPG. Aunque se enfoca más en
cifrado simétrico, también permite cifrado con claves públicas.
o Cifrar: age -r clave_publica.txt -o [Link] [Link]
o Descifrar: age -d -i clave_privada.txt -o [Link] [Link]
Keybase CLI (keybase pgp) Si usas Keybase, puedes gestionar claves PGP desde la
terminal y cifrar mensajes fácilmente.
Sequoia PGP (sq) Proyecto moderno en Rust que busca reemplazar GnuPG. Aún en
desarrollo, pero muy prometedor.
1. Obtenga la longitud del mensaje en claro o mensaje en original, mediante línea
de comandos.
Longitud del archivo cifrado (antes de descifrar)
Descifrar y medir el mensaje original
Importación la llave privada de Alice:
Descifrando el mensaje:
Obteniendo la longitud del mensaje B:
Desarrollo caso
A continuación, se detalla el proceso desarrollado para el laboratorio del caso número 2:
Abrir Cleopatra
Archivo > Importar certificados.
Se seleccionó el archivo llave_privada.asc (o .gpg)
Kleopatra mostró un mensaje indicando que la llave fue importada
correctamente.
Descifrar el mensaje
Archivo > Abrir el archivo cifrado
Se abre el asistente de descifrado
Kleopatra pregunta dónde guardar el archivo descifrado, se guarda
Verificación de la longitud del mensaje
Inicio en Kleopatra.
Una vez identificada la Llave primada A la importar “LlavesA_0xE9612C42_SECRET-
1”, en el menú archivo escoger la opción “importar”, tal como se muestra en la imagen.
Al dar clic en la opción importar, nos muestra la ventana donde ubicaremos el archivo
que se desee importar, en este caso “LlavesA_0xE9612C42_SECRET-1”, seguido dar
clic en “Abril”
Al importar el archivo “LlavesA_0xE9612C42_SECRET-1”, se despliega una ventana, la
cual muestra el mensaje “Ha importado un certificado con huella digital”, en esta etapa se
analiza que el archivo en mención hace referencia a un “certificado”, como se muestra en
la imagen.
Una vez importado el archivo, muestra los detalles del Certificado importado, seguido
damos la opción aceptar, como se muestra en la imagen.
En pantalla “ambiente kleopatra” nos muestra detalles del certificado como, el nombre
del archivo, el ID, clave y las fechas; en este caso, la validez del certificado a caducado
“fecha- 14/03/2023”, en esta etapa no se podría avanzar, sin embargo, esta la opción de
actualizar el periodo de validez; cuando el certificado ha perdido validez se muestra en
letra color rojo, como se muestra en la imagen.
A continuación, se procede a realizar el cambio de periodo de validez del certificado “ID
de usuario”, en este caso lo dejaremos con fecha 12/2/2014, seguido pulsaremos aceptar,
como se muestra en la imagen.
Para que los cambio se efectúen “Actualizar validez del certificado”, kleopatra pide la clave
del archivo, en este caso la clave es “12345”, seguido le damos “Ok”.
Al dar clic en “Ok”, el estado del certificado cambia, se despliega una ventana donde enseña el
siguiente mensaje “Fin del periodo validez cambiado correctamente” como se muestra en la
imagen.
En el ambiente “kleopatra” se muestra que la actualización del periodo de validez se
realizó correctamente, la letra paso de color rojo a color negro y la validez quedo con
fecha 12/02/2027; como se muestra en la imagen.
En esta etapa, el archivo cuenta con fecha de validez vigente, ahora se procede a
“descifrar o verificar” el Mensaje-1, al dar clic en descifrar aparece una ventana con el
siguiente mensaje “MensajeB-1 contiene certificados y no se puede descifrar o verificar”,
como se muestra en la imagen.
De acuerdo con el mensaje anterior, se procede a firmar el certificado, dar clic en la opción
“Firmar/Cifrar”, ubicado en la parte superior izquierda; como se muestra en la imagen.
Al dar clic en la opción “Firmar/Cifrar”, nos direcciona a donde está ubicado el
archivo, se procede a seleccionarlo en este caso “[Link]”, seguido dar clic en
“Abrir”, como se muestra en la imagen.
Al dar clic en “Abrir” se muestra una ventana, la cual se registra los datos de “Firma,
Cifrar para, Cifrar con contraseña y salida”, dar clic en “Firmar o Cifrar”; como se
muestra en la imagen.
En la siguiente imagen, se observar que el certificado fue firmado y cifrado
correctamente con extensión [Link]; como se muestra en la imagen.
Una vez terminado el proceso de “Firmar o Cifrar”, dar clic en “Descifrar/Verificar”, en
esta etapa se verifica el [Link].
Dar clic en “Descifrar/Verificar”, en esta etapa se verifica el [Link], se
despliega la ventana para ubicar el archivo en mención, dar clic en “Abrir”; como se
muestra en la imagen.
En esta imagen, se muestra que el certificado fue firmado y validez del mismo es
absoluta; como se muestra en la imagen.
En la parte superior derecha del certificado firmado y validado, se encuentra la opción de
“Mostrar registro de auditoria”, al dar clic, se muestra el visor con la información del
certificado; como se muestra en la imagen.
Una vez firmado el certificado, dar clic en “exportar” para obtener el archivo de la
Llave pública; como se muestra en la imagen.
Al dar clic en “Exportar”, se despliega una ventana, en la cual se escoge el sitio donde se
guardará el archivo, en este caso la LlaveA publica se guardará en mis documentos –
Criptografía asimétrica – entrega No. 2; como se muestra en la imagen.
Ahora, se realiza el proceso de importar el archivo “LlavesA_0xE9612C42_public.asc”;
como se muestra en la imagen.
Después de hacer clic en Abrir, se despliega la ventana, donde se observa el resultado
de la importación del certificado, seguido “Aceptar”; como se muestra en la imagen.
El certificado se firmó/cifro con la LlavesA_0xE9612C42_public.asc, como se muestra
en la imagen.
Inicio en Kleopatra.
Una vez identificada la Llave primada A la importar “LlavesA_0xE9612C42_SECRET-
1”, en el menú archivo escoger la opción “importar”, tal como se muestra en la imagen.
Al dar clic en la opción importar, nos muestra la ventana donde ubicaremos el archivo
que se desee importar, en este caso “LlavesA_0xE9612C42_SECRET-1”, seguido dar
clic en “Abril”, como se muestra en la imagen.
Al importar el archivo “LlavesA_0xE9612C42_SECRET-1”, se despliega una ventana, la
cual muestra el mensaje “Ha importado un certificado con huella digital”, en esta etapa se
analiza que el archivo en mención hace referencia a un “certificado”, como se muestra en
la imagen.
Una vez importado el archivo, muestra los detalles del Certificado importado, seguido
damos la opción aceptar, como se muestra en la imagen.
En pantalla “ambiente kleopatra” nos muestra detalles del certificado como, el nombre
del archivo, el ID, clave y las fechas; en este caso, la validez del certificado a caducado
“fecha- 14/03/2023”, en esta etapa no se podría avanzar, sin embargo, esta la opción de
actualizar el periodo de validez; cuando el certificado ha perdido validez se muestra en
letra color rojo, como se muestra en la imagen.
A continuación, se procede a realizar el cambio de periodo de validez del certificado “ID
de usuario”, en este caso lo dejaremos con fecha 12/2/2014, seguido pulsaremos aceptar,
como se muestra en la imagen.
Para que los cambio se efectúen “Actualizar validez del certificado”, kleopatra pide la clave
del archivo, en este caso la clave es “12345”, seguido le damos “Ok”.
Al dar clic en “Ok”, el estado del certificado cambia, se despliega una ventana donde enseña el
siguiente mensaje “Fin del periodo validez cambiado correctamente” como se muestra en la
imagen.
En el ambiente “kleopatra” se muestra que la actualización del periodo de validez se
realizó correctamente, la letra paso de color rojo a color negro y la validez quedo con
fecha 12/02/2027; como se muestra en la imagen.
En esta etapa, el archivo cuenta con fecha de validez vigente, ahora se procede a
“descifrar o verificar” el Mensaje-1, al dar clic en descifrar aparece una ventana con el
siguiente mensaje “MensajeB-1 contiene certificados y no se puede descifrar o verificar”,
como se muestra en la imagen.
De acuerdo con el mensaje anterior, se procede a firmar el certificado, dar clic en la opción
“Firmar/Cifrar”, ubicado en la parte superior izquierda; como se muestra en la imagen.
Al dar clic en la opción “Firmar/Cifrar”, nos direcciona a donde está ubicado el
archivo, se procede a seleccionarlo en este caso “[Link]”, seguido dar clic en
“Abrir”, como se muestra en la imagen.
Al dar clic en “Abrir” se muestra una ventana, la cual se registra los datos de “Firma,
Cifrar para, Cifrar con contraseña y salida”, dar clic en “Firmar o Cifrar”; como se
muestra en la imagen.
En la siguiente imagen, se observar que el certificado fue firmado y cifrado
correctamente con extensión [Link]; como se muestra en la imagen.
Una vez terminado el proceso de “Firmar o Cifrar”, dar clic en “Descifrar/Verificar”, en
esta etapa se verifica el [Link].
Dar clic en “Descifrar/Verificar”, en esta etapa se verifica el [Link], se
despliega la ventana para ubicar el archivo en mención, dar clic en “Abrir”; como se
muestra en la imagen.
En esta imagen, se muestra que el certificado fue firmado y validez del mismo es
absoluta; como se muestra en la imagen.
En la parte superior derecha del certificado firmado y validado, se encuentra la opción de
“Mostrar registro de auditoria”, al dar clic, se muestra el visor con la información del
certificado; como se muestra en la imagen.
Una vez firmado el certificado, dar clic en “exportar” para obtener el archivo de la
Llave pública; como se muestra en la imagen.
Al dar clic en “Exportar”, se despliega una ventana, en la cual se escoge el sitio donde
se guardará el archivo, en este caso la LlaveA publica se guardará en mis documentos –
Criptografía asimétrica – entrega No. 2; como se muestra en la imagen.
Ahora, se realiza el proceso de importar el archivo “LlavesA_0xE9612C42_public.asc”;
como se muestra en la imagen.
Se ubica el archivo “LlavesA_0xE9612C42_public.asc” donde se guardó, en este caso
Ruta del archivo “LlavesA_0xE9612C42_public.asc”, dar clic en “Abrir”
Después de hacer clic en Abrir, se despliega la ventana, donde se observa el resultado
de la importación del certificado, seguido “Aceptar”; como se muestra en la imagen.
El certificado se firmó/cifro con la LlavesA_0xE9612C42_public.asc, como se muestra
en la imagen.
MensajeB-1