search

Found

info Descripción

Pega una clave pública de 32 bytes, un mensaje y una firma de 64 bytes. Web Crypto del navegador ejecuta la verificación Ed25519 del RFC 8032.

📘 Cómo usar

  1. Pega la clave pública Ed25519 (32 bytes) y elige su formato (hex, base64 o base64url)
  2. Introduce el mensaje firmado y la firma de 64 bytes, ajustando cada selector de formato
  3. Lee la insignia Válida o Inválida junto a los bytes de clave, mensaje y firma

Verificador de firma Ed25519

Resultado de la verificación

Rellena la clave pública, el mensaje y la firma para verificar automáticamente

Bytes de la clave
Bytes del mensaje
Bytes de la firma
Algoritmo
Ed25519

※ EdDSA según RFC 8032 sobre Edwards25519. Clave privada 32 B, clave pública 32 B, firma 64 B.

※ Usa la Web Crypto API del navegador (Ed25519). Chrome 137+, Safari 17+, Firefox 130+.

※ Todo el procesamiento ocurre en el navegador; la clave, el mensaje y la firma nunca se envían a un servidor.

Article

Verificador de firma Ed25519 | Comprueba firmas EdDSA del RFC 8032 en el navegador

Pega una clave pública Ed25519, el mensaje y la firma, y la Web Crypto API del navegador ejecuta la verificación EdDSA del RFC 8032 para indicar si la firma es válida para esa clave y ese mensaje. Tres codificaciones (hex, base64, base64url) te permiten pegar valores de JWT, claves SSH o transacciones de blockchain tal cual.

💡 Sobre esta herramienta

Ed25519 es EdDSA sobre la forma de Edwards retorcida de Curve25519. Sus claves públicas de 32 bytes y firmas de 64 bytes, junto con una verificación rápida, lo convirtieron en la opción por defecto en muchos sistemas: el algoritmo EdDSA de los JWT, las claves ssh-ed25519 de OpenSSH y la firma de transacciones en Solana, Cosmos y NEAR.

Para quien aprende criptografía aplicada, lo valioso aquí es ver el flujo completo paso a paso. Una firma EdDSA no es magia: la verificación toma tres entradas independientes —clave pública, mensaje y firma— y devuelve un único bit, válido o inválido. Si cambias un solo carácter del mensaje, la firma deja de coincidir, porque Ed25519 (PureEdDSA) calcula un hash sobre el mensaje completo. Probar esa propiedad a mano fija la intuición mejor que cualquier diagrama.

La herramienta decodifica cada entrada a un Uint8Array según su formato, comprueba las longitudes (32 bytes la clave, 64 la firma), importa la clave con crypto.subtle.importKey y llama a crypto.subtle.verify. Cada campo tiene su propio selector, así que puedes combinar una clave en hex con una firma en base64. La clave, el mensaje y la firma se procesan en tu navegador y nunca se envían a un servidor.

🧐 Preguntas frecuentes

¿Necesito la clave privada? No. La verificación solo necesita la clave pública. No hay campo para la clave privada ni función de firma: esta herramienta verifica, no genera firmas nuevas.

¿Debo pegar el mensaje ya hasheado? No. Ed25519 (PureEdDSA) hashea el mensaje completo de forma interna al firmar y verificar, así que pega el mensaje original tal como se firmó. Un digest previo dará Inválida.

¿Qué ocurre si elijo la codificación equivocada? Si un valor no se decodifica verás un error en rojo, y si la clave o la firma no miden 32 / 64 bytes aparece un aviso de longitud. Revisa el selector de formato de cada campo (hex, base64 o base64url).

Mi navegador dice que Ed25519 no es compatible. Web Crypto Ed25519 está disponible en Chrome 137+, Safari 17+ y Firefox 130+. En motores anteriores crypto.subtle.importKey falla, así que la herramienta informa de la falta de soporte. Prueba con un navegador actualizado.

¿Verifica firmas Ed448 o secp256k1? No. Esta herramienta es solo para Ed25519. Las firmas sobre otras curvas quedan fuera del alcance.

📚 Datos curiosos

Una razón del rápido éxito de Ed25519 es la firma determinista. ECDSA necesita un nonce aleatorio nuevo por firma, y los nonces sesgados o reutilizados han filtrado claves privadas en incidentes reales. Ed25519 deriva ese valor de la clave privada y del mensaje, así que la misma clave y el mismo mensaje siempre producen la misma firma y desaparece toda esa clase de fallos.

El número "25519" proviene del primo 2²⁵⁵ − 19, que también da nombre a Curve25519. Una clave pública cabe en 32 bytes porque un punto de la curva se comprime a una sola coordenada más un bit de signo: la matemática elegante detrás de que una clave ssh-ed25519 ocupe una única línea.