0Pricing
Cryptology Academy · Lección

¿Qué es una firma digital?

Comprenda la diferencia entre autenticación y cifrado, así como el ciclo de vida de una firma.

¿Qué es una firma digital? es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 1 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

Las firmas digitales son el equivalente criptográfico de una firma manuscrita, pero se pueden verificar matemáticamente y son imposibles de falsificar sin la clave privada.

Por qué las firmas se diferencian del cifrado

Cifrado: transforma los datos para que solo el destinatario pueda leerlos. Firmas: demuestran que los datos proceden de usted y no han sido alterados. El cifrado utiliza la clave pública del destinatario; la firma utiliza la clave privada del remitente.

Tres propiedades de seguridad

Autenticación: confirma la identidad del firmante. Integridad: demuestra que el mensaje no se ha alterado después de firmarlo. No repudio: el firmante no puede negar haber firmado; la clave privada le pertenece exclusivamente.

Firmar y luego cifrar frente a cifrar y luego firmar

Cifrar y luego firmar suele ser más seguro: firme el texto cifrado para que la firma cubra exactamente aquello que se autentica. Firmar y luego cifrar puede exponer metadatos a atacantes activos.

Hash y firma

Nunca firme el mensaje sin procesar (es demasiado grande para RSA). En su lugar: 1. H = Hash(message) 2. signature = Sign(private_key, H) El hash reduce cualquier mensaje a una entrada de tamaño fijo para el algoritmo de firma.

Verificación de firmas

El verificador dispone de: mensaje, firma y clave pública del firmante. 1. H = Hash(message) 2. H' = Verify(public_key, signature) 3. Acepte si H == H'; rechace en caso contrario

Ejemplo de firma RSA

Firmar: sig = hash^d mod n (elevar a la potencia con la clave privada d) Verificar: hash = sig^e mod n (elevar a la potencia con la clave pública e) Compare el hash recuperado con el hash calculado del mensaje.

Comparación entre firmas y MAC

Un MAC requiere un secreto compartido: ambas partes deben conocer la clave. Las firmas utilizan claves asimétricas: cualquiera que tenga la clave pública puede verificarlas. Las firmas proporcionan no repudio; los MAC no.

Introducción a DSA

DSA (Digital Signature Algorithm, 1994) utiliza la dificultad del logaritmo discreto. Genera un nonce aleatorio por firma k. Si k se reutiliza o se puede predecir, la clave privada queda expuesta.

Desastre por reutilización del nonce (hackeo de PS3)

Sony PlayStation 3 utilizó un k=1 constante en ECDSA. Los hackers extrajeron la clave privada de firma a partir de dos firmas diferentes. Esto les permitió firmar firmware arbitrario y eludir toda la seguridad.

Firmas de certificados

Un certificado X.509 es simplemente datos más una firma digital realizada con la clave privada de una CA. Cuando su navegador verifica un certificado, comprueba la firma de la CA mediante la clave pública de la CA almacenada en su almacén de confianza.

Comprobación rápida

¿Qué propiedad garantiza que un firmante no pueda negar posteriormente haber firmado un documento?

Resumen

Las firmas digitales hacen que el mundo digital sea confiable. A continuación estudiaremos en profundidad los esquemas de firma RSA, DSA y ECDSA.

Preguntas frecuentes

¿La lección «¿Qué es una firma digital?» es gratis?

Sí — el texto completo de «¿Qué es una firma digital?» 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 «¿Qué es una firma digital?»?

Comprenda la diferencia entre autenticación y cifrado, así como el ciclo de vida de una firma. 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 1 de 4.

¿Cuánto tiempo toma la lección «¿Qué es una firma digital?»?

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. ¿Qué es una firma digital?
  2. Firmas RSA: firmar y verificar
  3. Esquemas de firma DSA y ECDSA
  4. Firmas en la práctica: firma de código y correo electrónico
← Volver a Cryptology Academy