Caso práctico de aplicación del cifrado asímetrico



Un caso práctico de aplicación del cifrado es utilizar el algoritmo RSA en Python para cifrar y descifrar mensajes. Este algoritmo se puede utilizar en aplicaciones donde se necesite garantizar la confidencialidad de la comunicación entre dos partes.

Por ejemplo, en un sistema de mensajería seguro, como un chat en línea, podríamos implementar el cifrado RSA para cifrar los mensajes antes de enviarlos y descifrarlos cuando se reciban. Esto garantizaría que solo el destinatario pueda leer los mensajes, ya que solo él posee la clave privada necesaria para descifrarlos.

El uso del algoritmo RSA en este caso sería el siguiente: 
  • Generamos un par de claves RSA, una pública y otra privada.
  • Ciframos los mensajes utilizando la clave pública antes de enviarlos.
  • El destinatario utiliza su clave privada para descifrar los mensajes recibidos.
Este proceso asegura la confidencialidad de la comunicación, ya que solo el destinatario puede descifrar los mensajes utilizando su clave privada, mientras que la clave pública se puede compartir de forma segura con cualquier persona que quiera enviarle un mensaje.

A continuación mostrare un ejemplo usando Python, el cual ilustra cómo implementar este proceso utilizando el algoritmo RSA para cifrar y descifrar un mensaje:

  1. Ejecutamos los siguientes comandos: !pip install Crypto y !pip install pycryptodome; los cuales utilizaremos para instalar dos paquetes de Python relacionados con la criptografía


  2. Una vez instalado, empezaremos escribiendo el siguiente código


    Estas líneas de código importan algunas funcionalidades necesarias del paquete Crypto en Python para trabajar con criptografía asimétrica usando el algoritmo RSA y el esquema de relleno OAEP (Optimal Asymmetric Encryption Padding), además de la biblioteca base64 para codificación y decodificación de datos en formato base64.

  3. Ahora definiremos las siguientes funciones:


    Esta función generara la llave privada y publica RSA que se necesita


    Esta función se encargara de encriptar el mensaje que se envié a través del chat, usando la llave publica


    Y por ultimo esta función se encargara de desencriptar el mensaje cuando este llegue al chat del usuario receptor, para descifrarlo es necesario la llave privada

  4. Después y como ultimo paso, nomas se tendría que llamar a esa funciones y hacer el respectivo cifrado



    El resultado que obtendríamos seria el siguiente



    Este caso práctico demuestra cómo se puede utilizar la criptografía asimétrica en situaciones reales, como la protección de la confidencialidad de la información transmitida a través de redes no seguras o el almacenamiento seguro de datos sensibles.

    A continuación les compartiré el enlace donde pueden encontrar el caso anterior:

    https://colab.research.google.com/drive/1o7Zn2U_qgA3UMW-qu6YcD_X7pedAezGi?usp=sharing



Comentarios

Entradas más populares de este blog

¿Qué son las claves públicas y privadas?

¿Qué es la firma digital y cuál es su importancia?