Se recomienda Ed25519 - moderno, rápido y compacto. ECDSA P-256 funciona en navegadores antiguos.
Se ejecuta 100% en el cliente - las claves, mensajes y firmas nunca salen de tu navegador.
Qué hace
La herramienta de Firma digital demuestra quién escribió un mensaje sin revelar ningún secreto. Genera un par de claves asimétricas real - Ed25519 o ECDSA P-256 - en tu navegador, firma cualquier texto con la clave privada y verifica firmas con la clave pública correspondiente. Una firma válida es prueba matemática de que el poseedor de la clave privada firmó exactamente este mensaje: cambia un carácter del mensaje, o verifica con cualquier otra clave, y la comprobación falla. Esta propiedad se llama no repudio - a diferencia de una contraseña compartida, el firmante no puede negar después haber firmado, porque solo su clave privada pudo producir la firma.
Todo se ejecuta a través de la Web Crypto API del navegador. Las claves se generan localmente, se exportan como DER estándar codificado en hex (SPKI pública / PKCS8 privada) y nunca tocan un servidor. Ambos algoritmos producen firmas compactas de 64 bytes sobre el resumen SHA-256 (ECDSA) o el mensaje en crudo (Ed25519).
Cómo usarlo
- Elige un algoritmo - Ed25519 (recomendado: moderno, rápido, firmas deterministas) o ECDSA P-256 (mejor soporte en navegadores antiguos).
- En Generate, pulsa Generate key pair. Copia la clave pública (compártela libremente) y la clave privada (mantenla en secreto).
- En Sign, pega la clave privada, escribe el mensaje, pulsa Sign message. Copia la firma en hex.
- En Verify, pega la clave pública, el mensaje y la firma, después pulsa Verify signature. Una insignia verde significa que la firma es auténtica; una insignia roja significa que el mensaje, la firma o la clave no coinciden.
Ejemplos
Ciclo completo de firmar y verificar (Ed25519):
message: "Invoice #42, total $1,200 - GΛB"
signature: 9a3f…(128 hex chars = 64 bytes)
verify with the signer's public key → ✅ Valid signature
Mensaje alterado:
message: "Invoice #42, total $9,200 - GΛB" ← one digit changed
same signature + same public key → ❌ Invalid signature
Clave equivocada:
verify the original signature with ANY other public key → ❌ Invalid signature
Buen saber
- Cero contacto con servidores: las claves, los mensajes y las firmas existen solo en la pestaña de tu navegador. Nada se sube, se registra ni se almacena. Puedes firmar sin conexión.
- Ed25519 vs ECDSA P-256: Ed25519 es la opción moderna por omisión - verificación rápida, firmas deterministas (el mismo mensaje + clave produce siempre los mismos bytes), firmas de 64 bytes y resistencia a trampas de canal lateral. ECDSA P-256 (sobre SHA-256) es la curva NIST con el soporte más amplio en navegadores antiguos y smartcards. Ambas se consideran seguras; Ed25519 es la mejor elección ergonómica cuando está disponible.
- La clave privada es la identidad. No hay revocación ni recuperación: quien obtenga tu clave privada puede firmar en tu nombre. Genera las claves para uso real en un entorno de confianza y guárdalas cifradas.
- Nota de interoperabilidad: las firmas ECDSA de aquí usan la disposición cruda IEEE P1363
r||sque emplea Web Crypto - noASNASNA number identifying one routing domain on the internet (one AS = one network under a single policy), used by BGP to exchange routes.Learn more
.1 DER. Los usuarios de OpenSSL necesitanopenssl pkeyutl -rawino una conversión para compararlas con firmas DER. Las firmas Ed25519 son el formato estándar RFC 8032 de 64 bytes en todas partes. - Las firmas prueban autoría, no secreto. El mensaje queda en claro - para ocultar el contenido, combínalo con el File Encryptor. Para autenticación de mensajes con secreto compartido (simétrica) en lugar de prueba de clave pública, mira el
HMACHMACA construction that combines a hash function with a secret key to prove a message is intact and came from someone holding the key.
Generator. - Herramientas relacionadas:
HMACHMACA construction that combines a hash function with a secret key to prove a message is intact and came from someone holding the key.
Generator, File Encryptor,HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
Generator.