Caso Práctico de Aplicación: RSA en la Seguridad Web

El algoritmo RSA es ampliamente utilizado en la protección de las comunicaciones en internet. Un ejemplo concreto es su uso en el protocolo HTTPS, que cifra la comunicación entre un usuario y un servidor web.

Cómo funciona en HTTPS:

  1. Un usuario accede a un sitio web seguro (ejemplo: banca en línea).

  2. El servidor envía su clave pública mediante un certificado SSL/TLS.

  3. El navegador cifra un mensaje con la clave pública y lo envía al servidor.

  4. Solo el servidor, con su clave privada, puede descifrar el mensaje y establecer una conexión segura.

Este proceso garantiza la privacidad y seguridad de la información transmitida en internet.

Caso práctico de aplicación RSA:

Para este ejemplo usaremos python en google colab, muy práctico para conocer su funcionamiento.

Paso 1: Instalación de la librería necesaria e importarlas


Paso 2: Generar un par de Claves RSA
El primer paso en el código como tal es generar un par de claves RSA de 2048 bits:


Aquí, "keyPair" almacena tanto la clave pública como la privada.

Paso 3: Guardar las claves en archivos
Se procede a guardar las claves en dos archivos para su uso posterior.


- La clave privada se guarda en rsa.
- La clave pública se guarda en rsa.pub.
- Se usa el formato PEM, que es un estándar para representar claves criptográficas.

Paso 4: Cifrado de un mensaje con clave pública
Para cifrar un mensaje, primero lo convertimos en bytes y luego usamos la clave pública.


Explicación:

1. Se convierte el mensaje en bytes.

2. Se lee la clave pública desde el archivo rsa.pub.
3. Se usa "PKCS1_OAEP" para mejorar la seguridad del cifrado RSA.
4. Se cifra el mensaje y se guarda en "encrypted_text.txt"

Paso 5: Descifrado del mensaje con la clave privada
Ahora, para descifrar el mensaje, necesitamos la clave privada.


Explicación:

1. Se lee la clave privada desde el archivo "rsa".
2. Se recupera el mensaje cifrado desde "encrypted_text.txt".
3. Se usa "PKCS1_OAEP" para descifrar el mensaje con la clave privada.
4. Se muestra el mensaje original en pantalla.

CONCLUSIÓN

Este código demuestra cómo funciona el cifrado y descifrado RSA en Python con pycryptodome. Se generan las claves, se guarda la clave pública y privada en archivos, se cifra un mensaje con la clave pública y se descifra con la clave privada.

Casos de uso de RSA:
- Seguridad en comunicaciones (como HTTPS).
- Autenticación digital y firmas electrónicas.
- Protección de datos en bases de datos y sistemas de mensajería.

Link del código en google colab por Arlex Saavedra: https://colab.research.google.com/drive/1g-Y1-btpN6ltmNZdL0Z9_o370kfbKKJe?usp=sharing

Comentarios

Entradas populares de este blog

Observaciones y Recomendaciones para Implementar un Criptosistema

Ventajas, Desventajas y Diferencias con la Criptografía Simétrica