Cryptology Academy · Lección

Generación de claves RSA paso a paso

Genere p, q, n, e y d, y comprenda la función de cada parámetro.

Lección 2 de 413 pasos

Generación de claves RSA paso a paso es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.

Bienvenida

En esta lección generará un par de claves RSA desde cero, siguiendo cada paso matemático, desde la selección de los primos hasta los parámetros de las claves.

Paso 1: Elegir dos números primos grandes

Elija números primos aleatorios grandes p y q. En producción: p,q ≥ 2^1023 (para RSA de 2048 bits). Para la demostración: p=61, q=53.

Paso 2: Calcular el módulo

n = p × q = 61 × 53 = 3233. El módulo n es el componente público. RSA-2048 usa n ≈ 2^2048. Factorizar n es computacionalmente inviable para valores grandes.

Paso 3: Calcular la función φ de Euler

φ(n) = (p-1)(q-1) = 60 × 52 = 3120. Esto se mantiene en secreto después de generar las claves; junto con la factorización, permite calcular la clave privada.

Paso 4: Elegir el exponente público e

Elija e de forma que 1 < e < φ(n) y GCD(e, φ(n)) = 1. Elección estándar: e = 65537 (0x10001). Es primo, tiene un peso de Hamming bajo (para cifrar rápidamente) y es ampliamente compatible.

Paso 5: Calcular el exponente privado d

d = e^(-1) mod φ(n): encuentre d tal que e×d ≡ 1 (mod 3120). Para e=17, φ=3120: d=2753 (verificación: 17×2753 = 46801 = 15×3120 + 1 ✓). Python: d = pow(e, -1, phi_n)

El par de claves

Clave pública: (e=17, n=3233) — se puede compartir Clave privada: (d=2753, n=3233) — secreta Comparta (e, n) libremente. Proteja d a toda costa. Nunca revele p, q ni φ(n) después de generar las claves.

Tamaños de clave en la práctica

RSA-1024: obsoleto desde 2010. RSA-2048: mínimo recomendado. RSA-4096: alta seguridad, 4 veces más lento. La mayoría de los certificados TLS utilizan RSA-2048 o ECDSA-256 (seguridad equivalente y mucha más rapidez).

Optimización con CRT

El teorema chino del resto (CRT) acelera el descifrado RSA aproximadamente 4 veces. Almacene la clave privada como (p, q, dp, dq, qInv) en lugar de solo d. Calcule usando p y q por separado y después combine los resultados.

Generación de claves en Python

from cryptography.hazmat.primitives.asymmetric import rsa private_key = rsa.generate_private_key( public_exponent=65537, key_size=2048 ) public_key = private_key.public_key()

Serialización de claves

from cryptography.hazmat.primitives import serialization pem = private_key.private_bytes( serialization.Encoding.PEM, serialization.PrivateFormat.PKCS8, serialization.BestAvailableEncryption(b'passphrase') )

Comprobación rápida

En la generación de claves RSA con p=7 y q=11, ¿cuál es el valor correcto de n?

Repaso

Ahora puede generar claves RSA desde cero. A continuación, aplicaremos estas claves para cifrar y descifrar mensajes mediante exponenciación modular.
Gratis para empezar

Aprende Cryptology Academy con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
67
Lecciones
261

Preguntas frecuentes

¿La lección «Generación de claves RSA paso a paso» es gratis?

Sí — el texto completo de «Generación de claves RSA paso a paso» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Generación de claves RSA paso a paso»?

Genere p, q, n, e y d, y comprenda la función de cada parámetro. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cryptology Academy?

No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Generación de claves RSA paso a paso»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?

Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Conceptos de criptografía de clave pública
  2. Generación de claves RSA paso a paso
  3. Matemáticas del cifrado y descifrado RSA
  4. Casos de uso de RSA en el mundo real y tamaños de clave
← Volver a Cryptology Academy