Skip to content
Herramienta Pro

Laboratorio de firmas digitales

Firmas asimétricas reales en tu navegador con Web Crypto: firma y verifica con RSA-PSS y ECDSA, observa cómo falla la manipulación y detecta las falsificaciones.

Abrir la herramienta →

La herramienta interactiva se abre en inglés.

Una firma no es un checksum y firmar no es cifrar: es una prueba criptográfica de que un mensaje concreto lo produjo quien tiene una clave privada. Este laboratorio ejecuta firmas asimétricas reales en tu navegador con la API Web Crypto: generas un par de claves RSA-PSS (2048 bits) o ECDSA P-256, firmas con la clave privada y verificas con la pública, cambias un solo byte y ves cómo la verificación falla, y después detectas las falsificaciones con un verify() real: clave equivocada, mensaje cambiado o firma truncada. Las decisiones evaluadas refuerzan las lecciones de verdad: algoritmo y tamaño de clave modernos (ECDSA P-256 / RSA-PSS ≥2048 con SHA-256), PSS mejor que PKCS#1 v1.5, claves de firma y de cifrado separadas y nunca reutilizar un nonce de ECDSA. Todo se ejecuta en tu navegador y no se envía nada a ningún servidor. Es un laboratorio Pro.

  1. Genera un par de claves RSA-PSS (2048 bits) o ECDSA P-256 en tu navegador.
  2. Firma un mensaje con la clave privada y verifícalo con la pública.
  3. Cambia un carácter del mensaje firmado y comprueba que la verificación falla.
  4. Resuelve el ejercicio de detectar la falsificación y las decisiones evaluadas sobre algoritmo, hash y separación de claves.

Preguntas frecuentes

¿Qué es el laboratorio de firmas digitales?

Un entrenador de criptografía en el navegador que usa la API Web Crypto real (crypto.subtle) para hacer firmas digitales asimétricas. Generas un par de claves RSA-PSS o ECDSA P-256, firmas y verificas un mensaje, manipulas el mensaje para ver cómo falla la verificación y resuelves un ejercicio evaluado de «detecta la falsificación», además de decisiones sobre la elección del algoritmo, la separación de claves y el hash. Todo se ejecuta en el lado del cliente: no se envía nada a un servidor.

¿Qué demuestra realmente una firma digital verificada?

Que los bytes exactos del mensaje los firmó quien tiene la clave privada correspondiente a la clave pública con la que verificaste, y que no han cambiado desde entonces. Eso da integridad (el contenido no se ha alterado), autenticidad (procede de ese titular de la clave) y no repudio (no puede negar de forma creíble haberlo firmado). Firmar no es cifrar: el mensaje sigue en claro; la firma es la prueba que lo acompaña.

¿Cómo se distingue una firma auténtica de una falsificación?

Solo verificándola. Una firma es válida exactamente cuando coinciden la clave pública presentada, el mensaje exacto que se comprueba y una firma bien formada hecha con la clave privada correspondiente. Una falsificación rompe esa cadena de alguna de estas formas: firmada con la clave equivocada, firmada sobre un mensaje distinto del que se muestra, o una firma real con bytes alterados o truncados, y crypto.subtle.verify devuelve false en cada caso. Confiar en la etiqueta del remitente en lugar de en las matemáticas es como funciona la suplantación de firmas.

¿Qué algoritmo de firma y qué tamaño de clave debería usar?

En 2026, ECDSA sobre P-256 o RSA con RSA-PSS y un módulo de 2048 bits o más, ambos con SHA-256. ECDSA da firmas pequeñas y rápidas; RSA-PSS es preferible al antiguo relleno PKCS#1 v1.5 en los diseños nuevos. Evita RSA-512 y evita SHA-1 o MD5 en cualquier firma: sus colisiones permiten a un atacante trasladar una firma válida a un mensaje malicioso sea cual sea el tamaño de la clave.

¿Se envía algo de esto a un servidor?

No. El laboratorio funciona íntegramente en el lado del cliente y usa la implementación de Web Crypto integrada en tu navegador. Las claves, los mensajes y las firmas se quedan en la página; tu mejor nota se guarda solo en el almacenamiento local de tu navegador.

¿Es gratis?

No, es un laboratorio Pro. Con una cuenta gratuita tienes 3 usos de prueba; después necesitas Pro.

🖤 Black Friday: new customers get 3 months of Pro for $5, then $5/month. Ends 30 Nov. Claim 3 months for $5 →