domingo, 23 de noviembre de 2025

Caso práctico de aplicación (qué algoritmo, donde y cómo usarlo)

Para el caso práctico de aplicación se utilizó el algoritmo RSA para cifrar el contenido de un archivo PDF implementando también el uso de una firma digital. El uso de esta firma digital en un PDF permite garantizar la autenticidad de quien lo firmó, la integridad del documento en cuanto a que no se haya modificado desde que se firmo y el no repudio, que significa que el firmante no puede negar la firma del archivo en un principio (Domingo, 2004).

El funcionamiento del algoritmo RSA con firma consta de los siguientes pasos:

1. Generación del hash: Se hace un resumen criptográfico del contenido del archivo PDF con una función hash (SHA-256).

2. Firma del hash: Se hace la firma del hash con la clave privada del emisor. Este proceso da como resultado la firma digital.

3. Unión de la firma: La firma digital y la clave pública se adjuntan al archivo PDF como metadato.

4. Verificación: El receptor del PDF hace el cálculo del hash del documento, se descifra la firma con la clave publica y se comparan ambos hashes para verificar si el contenido no se ha modificado y es autentico.

El programa se realizó dentro del IDE de Visual Studio Code con lenguaje de programación Python. Donde se importó la librería de “cryptography” y algunas de sus clases las cuales permiten integrar los algoritmos de RSA. Como primer paso se crearon las claves publicas y privadas, luego de esto se hizo el firmado del mensaje haciendo uso de la llave privada y su posterior guardado en extensión “sig”. A continuación, se hizo el cifrado de un archivo PDF de prueba con la llave publica y su contenido también se guardo en un archivo “bin”.  Finalmente, para hacer las verificaciones pertinentes, se hace la lectura del contenido cifrado del archivo PDF para luego desencriptar con la llave privada y verificar la firma con el mensaje original. Para visualizar este proceso se hace una impresión en consola del contenido descifrado y si la firma efectivamente muestra un contenido confiable.

El enlace del programa desarrollado para el caso práctico de uso del algoritmo RSA es el siguiente:

https://github.com/CamiloC3P/cifrado_asimetrico


Referencias:

  • Domingo, J & Herrera J. (2004). Firmas digitalesEn: Criptografía (Modulo 6). https://openaccess.uoc.edu/server/api/core/bitstreams/799ab263-4668-43f2-81d7-5d8a80026228/content

No hay comentarios.:

Publicar un comentario

Observaciones y recomendaciones para implementar el criptosistema

Para llevar a cabo un criptosistema asimétrico haciendo uso de una firma digital para cifrar archivos de tipo PDF, se han identificado las s...