ECDSA se basa en la criptografía de curva elíptica, que ofrece el mismo nivel de seguridad que sistemas más antiguos como RSA, pero con tamaños de clave mucho más pequeños. Esta eficiencia la hace práctica para las blockchains, donde miles de nodos deben verificar cada transacción.
ECDSA consta de tres pasos. Primero, la generación de claves: el sistema crea una clave privada, que es un número seleccionado al azar, y deriva una clave pública a partir de ella mediante la multiplicación de curva elíptica. La clave privada debe mantenerse en secreto.
La clave pública se puede compartir libremente. La relación matemática entre ambas es unidireccional: calcular la clave pública a partir de la clave privada es sencillo, pero revertir el proceso es computacionalmente inviable.
Tercero, la verificación: cualquier persona con la clave pública, el mensaje y la firma puede verificar que la firma se produjo con la clave privada correspondiente. El proceso de verificación no revela la clave privada. Esto es lo que hace que ECDSA sea adecuada para blockchains públicas, donde cada nodo debe verificar las transacciones de forma independiente.
ECDSA también se usa en otros contextos cripto más allá de los pagos, como la firma de mensajes para autenticación y los esquemas de multifirma, donde varias partes deben firmar para autorizar una transacción.
ECDSA es segura desde el punto de vista computacional cuando se implementa correctamente, pero su seguridad depende de forma crítica de la calidad del nonce. Si se usa el mismo nonce para firmar dos mensajes diferentes, se puede recuperar matemáticamente la clave privada a partir de las dos firmas.
Este no es un riesgo teórico: en 2013, un error en el generador de números aleatorios de Android hizo que algunas billeteras de Bitcoin produjeran nonces duplicados, y los atacantes robaron fondos al recuperar claves privadas.
Una mala generación de nonces, incluso sin reutilización exacta, también puede exponer claves privadas. Las billeteras modernas usan la generación determinista de nonces (RFC 6979), que deriva el nonce de la clave privada y el mensaje, lo que elimina el riesgo de reutilización accidental.
De cara al futuro, es posible que ECDSA se reemplace eventualmente por esquemas de firma poscuánticos, ya que las computadoras cuánticas podrían, en teoría, romper el problema del logaritmo discreto de curva elíptica en el que se basa. Por ahora, ECDSA sigue siendo el estándar para la autorización de transacciones de Bitcoin y Ethereum.
Una cadena o un número arbitrario de un solo uso, generado con fines de verificación para evitar la repetic...
Una versátil función criptográfica diseñada por Guido Bertoni, Joan Daemen, Michaël Peeters y Gilles Van As...
Una herramienta criptográfica para verificar la autenticidad e integridad de los datos digitales, que garan...