Cómo funciona la criptografía

 https://www.youtube.com/watch?v=Q8K311s7EiM

Te explico de forma clara cómo funciona la criptografía RSA, paso a paso:

🔐 Concepto Básico

RSA es un sistema de criptografía asimétrica que usa un par de claves:

  • Clave pública: Para cifrar mensajes

  • Clave privada: Para descifrar mensajes

📋 Pasos del Funcionamiento

1. Generación de Claves

python
# Ejemplo con números pequeños (en la práctica son mucho más grandes)
p = 3  # primo
q = 11 # primo
n = p * q = 33  # módulo
φ(n) = (p-1)*(q-1) = 20  # función phi de Euler

# Elegimos e (exponente público) que sea coprimo con φ(n)
e = 3  # 3 y 20 son coprimos

# Calculamos d (exponente privado)
# d ≡ e⁻¹ mod φ(n) → 3*d ≡ 1 mod 20 → d = 7

Resultado:

  • Clave pública: (e=3, n=33)

  • Clave privada: (d=7, n=33)

2. Cifrado

python
mensaje = 4  # Mensaje a cifrar (debe ser < n)
cifrado = mensaje^e mod n = 4³ mod 33 = 64 mod 33 = 31

3. Descifrado

python
mensaje = cifrado^d mod n = 31⁷ mod 33 = 4

🧮 Por qué funciona

Se basa en el Teorema de Euler:

  • m^(e*d) ≡ m mod n

  • La dificultad radica en factorizar números grandes (n) en sus primos (p y q)

🔒 Seguridad

  • La seguridad depende de que factorizar n sea computacionalmente difícil

  • En la práctica, n tiene 2048 bits o más (617 dígitos decimales)

  • Los primos p y q son números enormes de aproximadamente 1024 bits cada uno

📝 Ejemplo Práctico

python
# Cifrar "HOLA" (convertido a números)
H → 8, O → 15, L → 12, A → 1

# Con clave pública (3, 33):
8³ mod 33 = 17
15³ mod 33 = 9
12³ mod 33 = 12
1³ mod 33 = 1

# Mensaje cifrado: 17, 9, 12, 1

# Con clave privada (7, 33):
17⁷ mod 33 = 8
9⁷ mod 33 = 15
12⁷ mod 33 = 12
1⁷ mod 33 = 1

⚠️ Consideraciones Importantes

  1. Los mensajes deben ser menores que n

  2. Se usan números aleatorios grandes en la práctica real

  3. RSA se usa combinado con otros algoritmos (normalmente para cifrar claves simétricas)

🛡️ Aplicaciones Comunes

  • Cifrado de claves en SSL/TLS

  • Firmas digitales

  • Autenticación

  • Intercambio seguro de claves

¿Te gustaría que profundice en algún aspecto específico del RSA?


Tutorial Criptografía RSA: El Secreto de los Números Primos

📜 Introducción: ¿Por qué necesitamos secretos?

Como bien dices en tu vídeo, todos tenemos secretos. Desde la clave del banco hasta identidades de espías, esta información sensible necesita protección. A lo largo de la historia, hemos usado métodos como:

  • Contar al oído 📣

  • Mensajeros de confianza 🏃

  • Códigos secretos (como el cifrado César)

  • Máquinas complejas (como la famosa Enigma nazi)

Pero todos estos métodos tenían un problema: ¿cómo entregar la clave secreta de forma segura? Ahí es donde entran las matemáticas y los números primos.


🧠 El Gran Cambio: Criptografía de Clave Pública

La solución llegó con un sistema revolucionario: criptografía asimétrica (clave pública y privada). Ya no necesitas enviar claves secretas por canales inseguros.

📋 Pasos del Sistema RSA

(Nombrado así por sus inventores: Rivest, Shamir y Adleman)

1. 🛠️ Generar las Claves

  • Elijo dos números primos grandes (ej: p=3 y q=11)

  • Multiplico para obtener la clave públican = p * q = 33

  • Calculo φ(n)φ(n) = (p-1)*(q-1) = 20

  • Elijo un exponente público e coprimo con φ(n): e=3

  • Calculo el exponente privado dd=7 (porque 3*7 ≡ 1 mod 20)

Resultado:

  • 🔓 Clave pública: (e=3, n=33) → ¡La puede saber todo el mundo!

  • 🔒 Clave privada: (d=7, n=33) → Solo yo la sé

2. 📨 Cifrar un Mensaje

  • Mi amigo quiere enviarme el mensaje 4

  • Usa mi clave pública: cifrado = 4³ mod 33 = 31

  • Me envía 31 → ¡Aunque lo intercepten, no podrán leerlo!

3. 📩 Descifrar el Mensaje

  • Yo uso mi clave privada: mensaje = 31⁷ mod 33 = 4

  • ¡Recupero el mensaje original! ✨


💪 ¿Por qué es tan seguro?

La magia está en las matemáticas:

  • Es fácil multiplicar primos grandes: p * q = n

  • Pero es extremadamente difícil factorizar n para encontrar p y q

  • ¡Ni los mejores ordenadores pueden factorizar números de 300+ cifras en tiempo razonable!

Como mencionas en tu vídeo, Alan Turing y otros matemáticos demostraron que hasta los códigos más complejos (como Enigma) pueden romperse... pero RSA lleva décadas resistiendo gracias a los primos.


🌐 Aplicaciones en la Vida Real

Este sistema protege:

  • 💳 Transacciones bancarias

  • 🔐 Contraseñas de internet

  • 📧 Emails seguros

  • 🤫 Comunicaciones militares y gubernamentales


🎬 Conclusión: El Secreto Mejor Guardado

Como bien dices al final de tu vídeo: "la seguridad del mundo depende de los números primos". Es fascinante cómo las matemáticas abstractas protegen nuestra vida digital.

¿Quieres probar? ¡Busca "generador RSA online" y experimenta con números pequeños! Pero recuerda: en la práctica usamos primos de 1024 bits o más.


📚 Para Saber Más:

  • La historia de Alan Turing y la máquina Enigma

  • Cómo encontrar números primos grandes

  • Los desafíos de la computación cuántica para RSA

¿Te gustaría que profundice en algún aspecto? ¡Déjamelo saber

Comentarios

Entradas más populares de este blog

firma digitales PKI utilizando solo javascript y node,

convertir un certificado .key a formato PEM utilizando solo la Web Crypto API

Pilares de la firma electronica-pki-RSA