Buy Crypto
Markets
Spot
FuturesBTC
Earn
Event Center
More
0-Fee Fest
Criptografía de curva elíptica (ECC): ¿Qué es la criptografía de curva elíptica?La criptografía de curva elíptica, o ECC, es una forma de criptografía de clave pública basada en operaciones matemáticas con puntos de curvas elípticas sobreCriptografía de curva elíptica (ECC): ¿Qué es la criptografía de curva elíptica?La criptografía de curva elíptica, o ECC, es una forma de criptografía de clave pública basada en operaciones matemáticas con puntos de curvas elípticas sobre

Criptografía de curva elíptica (ECC)

2026/10/14 17:13
#Intermediate
ELYSIA
EL$0.001657-3.77%
Humanity
H$0.05509-1.13%
Lagrange
LA$0.06003-5.70%
PX
PX$0.0128+1.58%
o1.exchange
O$0.4602-3.76%

¿Qué es la criptografía de curva elíptica?

La criptografía de curva elíptica, o ECC, es una forma de criptografía de clave pública basada en operaciones matemáticas con puntos de curvas elípticas sobre campos finitos.

Las redes de criptomonedas utilizan principalmente ECC para crear pares de claves públicas y privadas, generar firmas digitales, verificar la autorización de transacciones, establecer secretos compartidos y respaldar pruebas criptográficas avanzadas.

Una clave privada es un número secreto que otorga a su titular el control de una cuenta de criptomonedas o una identidad de firma.

Una clave pública es un valor relacionado matemáticamente que otros participantes pueden utilizar para verificar firmas sin conocer la clave privada.

La seguridad de ECC depende en gran medida de la dificultad de resolver el problema del logaritmo discreto en curvas elípticas.

Con una clave privada y un punto generador seleccionado, calcular la clave pública correspondiente resulta eficiente.

Se considera computacionalmente inviable recuperar la clave privada si solo se conocen la clave pública y el punto generador, siempre que se utilicen una curva, un tamaño de clave y una implementación seguros.

El proyecto de criptografía de curva elíptica del NIST describe ECC como un método importante para las firmas digitales y el establecimiento de claves criptográficas.

ECC no designa un único algoritmo, curva, blockchain o criptomoneda.

Es una amplia familia de métodos criptográficos que incluye ECDSA, EdDSA, ECDH, firmas Schnorr, firmas BLS y otras construcciones.

Por qué las criptomonedas utilizan ECC

Los sistemas de criptomonedas necesitan una forma de que los usuarios autoricen transacciones sin revelar la información secreta que controla sus activos.

ECC lo permite mediante firmas digitales.

Una wallet firma los datos de una transacción con una clave privada.

Los participantes de la red utilizan la clave pública relacionada para verificar que la firma es válida.

Este proceso demuestra que la operación fue autorizada por la clave correspondiente sin publicar dicha clave.

ECC resulta atractiva porque puede ofrecer una sólida seguridad clásica con claves públicas y firmas relativamente compactas.

En comparación con algunos métodos de clave pública más antiguos con niveles de seguridad similares, los valores criptográficos más pequeños reducen el tamaño de las transacciones, el ancho de banda de la red, las necesidades de almacenamiento y la carga de verificación.

Estas ventajas de eficiencia son valiosas en las blockchains, ya que miles de nodos independientes pueden tener que almacenar o verificar los mismos datos criptográficos.

¿Qué es una curva elíptica?

Una curva elíptica utilizada en criptografía es un conjunto matemático de puntos que satisface una ecuación definida sobre un campo finito.

Una forma abreviada habitual de Weierstrass se escribe como

y² = x³ + ax + b
.

Los cálculos criptográficos no suelen utilizar la curva continua y suave que se muestra en los diagramas introductorios.

Utilizan un conjunto finito de puntos cuyas coordenadas son números enteros calculados mediante aritmética modular.

Los parámetros de la curva determinan qué puntos son válidos y cómo funcionan operaciones como la suma de puntos y la multiplicación escalar.

Un conjunto completo de parámetros del dominio puede incluir el campo finito, los coeficientes de la curva, el punto generador, el orden del generador y el cofactor.

Los sistemas seguros deben utilizar parámetros bien analizados, en lugar de elegir una ecuación de curva arbitraria.

La recomendación final NIST SP 800-186 especifica parámetros de dominio de curva elíptica aprobados para los sistemas criptográficos correspondientes.

¿Qué es un campo finito?

Un campo finito es un conjunto limitado de valores con reglas definidas para la suma, la resta, la multiplicación y la división.

Muchas curvas de criptomonedas operan sobre un campo primo en el que los cálculos se realizan módulo un número primo grande.

La aritmética modular hace que los valores vuelvan al principio cuando alcanzan el módulo del campo.

Esto crea un conjunto finito de coordenadas posibles, en lugar de un plano geométrico ilimitado.

Las propiedades matemáticas del campo y de la curva permiten que las operaciones con puntos formen un grupo algebraico estructurado.

La seguridad criptográfica depende de elegir parámetros de campo y de grupo que resistan los ataques matemáticos conocidos.

Suma de puntos

La suma de puntos es una operación que combina dos puntos válidos de la curva y produce otro punto válido.

Las fórmulas exactas dependen de la forma de la curva elíptica.

Una operación especial, llamada duplicación de punto, suma un punto consigo mismo.

La suma repetida constituye la base de la multiplicación escalar.

Las implementaciones también deben gestionar correctamente casos especiales, como el punto del infinito, que actúa como elemento neutro del grupo.

Una aritmética de puntos incorrecta puede producir firmas no válidas, filtrar información secreta o crear casos límite explotables.

Multiplicación escalar

La multiplicación escalar consiste en sumar un punto de curva elíptica consigo mismo un número determinado de veces.

En las criptomonedas, la clave pública suele calcularse como

Q = d × G
.

En esta expresión,

d
es la clave privada,
G
es el punto generador público de la curva y
Q
es la clave pública resultante.

Calcular

Q
a partir de
d
y
G
es eficiente.

El sistema se basa en la dificultad de recuperar

d
a partir de
Q
y
G
.

Las bibliotecas de producción utilizan métodos de multiplicación optimizados e intentan evitar que la información temporal o de canal lateral revele el escalar secreto.

Problema del logaritmo discreto en curvas elípticas

El problema del logaritmo discreto en curvas elípticas, o ECDLP, consiste en encontrar un escalar secreto cuando se conocen el punto generador y el punto público resultante.

No se conoce públicamente ningún algoritmo clásico eficiente para resolver el ECDLP en curvas grandes correctamente seleccionadas.

Un atacante puede intentar la fuerza bruta o métodos matemáticos avanzados, pero el trabajo requerido debería superar con creces la capacidad práctica de cálculo cuando se utiliza una curva segura de 256 bits.

Esta afirmación depende de que la selección de la curva, la generación y validación de claves y la implementación sean correctas.

Un generador de números aleatorios débil o una clave privada expuesta invalida el sistema sin que el atacante tenga que resolver el ECDLP.

Claves privadas ECC

Una clave privada ECC suele ser un entero seleccionado aleatoriamente dentro de un intervalo permitido determinado por el orden del grupo de la curva.

El valor no debe ser cero ni quedar fuera del intervalo válido.

Una clave privada de 256 bits no significa que cualquier cadena de 256 bits sea automáticamente válida para todas las curvas.

El software de wallet debe generar el valor mediante una fuente de aleatoriedad criptográficamente segura y aplicar las reglas de intervalo de la curva.

La clave privada debe permanecer secreta, ya que cualquiera que la obtenga normalmente podrá generar firmas válidas para la cuenta asociada.

El consenso de la blockchain no puede distinguir entre el propietario legítimo y un ladrón que utiliza la misma clave válida.

Claves públicas ECC

Una clave pública ECC es un punto de la curva elíptica seleccionada.

Se calcula a partir de la clave privada mediante multiplicación escalar.

Según los supuestos de seguridad clásica actuales, la clave pública puede compartirse sin revelar la privada.

Los sistemas de criptomonedas pueden almacenar la clave pública completa, una representación comprimida o una dirección derivada mediante hash.

Antes de utilizarla en protocolos sensibles, debe validarse una clave pública, ya que los puntos malformados pueden permitir ataques de curva no válida o de subgrupo.

La validación puede incluir la comprobación de la codificación, la confirmación de que el punto pertenece a la curva prevista, el rechazo del punto identidad y la aplicación de las reglas del subgrupo.

Claves públicas y direcciones de criptomonedas

Una dirección de criptomoneda no siempre es lo mismo que una clave pública.

Muchos sistemas crean una dirección mediante hashing u otra codificación de la información de la clave pública.

Esto genera un identificador más corto o fácil de usar y puede añadir sumas de comprobación, identificadores de red o condiciones de script.

Algunas direcciones solo revelan la clave pública completa cuando se gastan sus fondos.

Otros sistemas de cuentas derivan una dirección estable de la clave pública antes de que se produzca ninguna transacción.

Los usuarios nunca deben suponer que una dirección puede convertirse de nuevo en la clave privada.

A efectos prácticos, un proceso de generación de direcciones correctamente diseñado es unidireccional.

ECC y firmas digitales

Las firmas digitales son el uso más habitual de ECC en las criptomonedas.

El firmante procesa los datos de una transacción con una clave privada para generar una firma.

Los demás participantes de la red verifican la firma con la clave pública correspondiente y los mismos datos de la transacción.

Una firma válida demuestra que la clave privada requerida autorizó el mensaje firmado.

También permite detectar modificaciones de los datos firmados posteriores a la firma.

Una firma no cifra la transacción ni oculta su contenido.

La norma NIST FIPS 186-5 sobre firmas digitales incluye ECDSA y EdDSA entre sus técnicas de firma aprobadas.

ECC no es lo mismo que cifrado

La criptografía de curva elíptica incluye técnicas relacionadas con el cifrado y el acuerdo de claves, pero las transacciones de criptomonedas suelen utilizar ECC para las firmas, no para garantizar la confidencialidad.

Una blockchain pública normalmente debe poder leer los datos de las transacciones para verificar saldos, ejecutar contratos inteligentes y actualizar el estado compartido.

La transacción se firma para demostrar la autorización, mientras que el remitente, el destinatario, el importe o las instrucciones del contrato pueden seguir siendo públicos.

ECC puede establecer un secreto compartido para una comunicación cifrada, pero se trata de una operación distinta de firmar una transacción on-chain.

Los usuarios no deben suponer que la actividad con criptomonedas es privada por el mero hecho de utilizar criptografía de curva elíptica.

¿Qué es ECDSA?

ECDSA son las siglas de Elliptic Curve Digital Signature Algorithm (algoritmo de firma digital de curva elíptica).

Adapta el algoritmo de firma digital a grupos de curvas elípticas.

ECDSA genera una firma que contiene dos valores principales, conocidos habitualmente como

r
y
s
.

La verificación comprueba una relación matemática entre la firma, el hash del mensaje, la clave pública, el punto generador y el orden de la curva.

La seguridad de ECDSA depende de proteger la clave privada y generar para cada firma un nonce de firma único y seguro.

El algoritmo se ha utilizado ampliamente para autorizar transacciones de criptomonedas.

La definición de ECDSA del NIST lo identifica como el equivalente de curva elíptica del algoritmo de firma digital.

Por qué es fundamental el nonce de ECDSA

Cada firma ECDSA requiere un valor secreto específico para esa firma, conocido habitualmente como

k
.

Este valor no debe reutilizarse con la misma clave privada para mensajes distintos.

Si dos firmas reutilizan el mismo nonce, un atacante suele poder calcular la clave privada mediante álgebra sencilla.

Un nonce sesgado o parcialmente predecible también puede filtrar información suficiente para recuperar la clave a partir de varias firmas.

Estos fallos han provocado pérdidas reales en sistemas criptográficos aunque la curva elíptica subyacente siguiera siendo segura.

Las implementaciones modernas suelen derivar el nonce de forma determinista a partir de la clave privada y el hash del mensaje, conforme a un método revisado como RFC 6979.

La generación determinista de nonces sigue requiriendo una implementación correcta y protección frente a filtraciones por canales laterales.

¿Qué es secp256k1?

secp256k1 es una curva elíptica de 256 bits utilizada por Bitcoin, las cuentas de ejecución de Ethereum y varios otros sistemas de criptomonedas.

Su ecuación sobre el campo primo es

y² = x³ + 7
.

La curva utiliza los coeficientes

a = 0
y
b = 7
, con un punto generador y un orden de grupo estandarizados.

El nombre hace referencia a parámetros de curva publicados en la familia Standards for Efficient Cryptography.

El proyecto libsecp256k1, que sigue manteniéndose, proporciona implementaciones especializadas de firmas y operaciones relacionadas con esta curva.

secp256k1 no es intercambiable con cualquier otra curva de 256 bits.

Una clave o firma creada para secp256k1 no puede verificarse automáticamente con otra curva, como P-256 o Ed25519.

Bitcoin y ECC

Tradicionalmente, Bitcoin ha utilizado ECDSA sobre secp256k1 para autorizar gastos.

Una entrada de transacción proporciona la información necesaria para satisfacer las condiciones de bloqueo de una salida anterior.

En las condiciones ordinarias basadas en firmas, los nodos de Bitcoin verifican que la firma coincida con los datos de la transacción correspondiente y la clave pública.

Poseer la clave privada permite crear la firma requerida, pero no eludir otras condiciones del script.

Bitcoin también utiliza firmas Schnorr sobre secp256k1 para las reglas de gasto relacionadas con Taproot.

La especificación BIP-340 define para este uso un formato de firma Schnorr fijo de 64 bytes y una codificación de clave pública de 32 bytes.

Firmas Schnorr

Una firma Schnorr es otra construcción de firma digital que puede operar sobre un grupo de curva elíptica.

Su linealidad matemática resulta útil para la agregación de claves, los protocolos multifirma y otras construcciones avanzadas.

Mediante un protocolo diseñado cuidadosamente, varios firmantes pueden crear una clave pública agregada y una única firma de aspecto ordinario.

Esto puede reducir los datos de la blockchain y mejorar la privacidad frente a publicar cada clave pública y firma individualmente.

La agregación segura requiere un protocolo definido que evite ataques de clave maliciosa, ataques de nonce y comportamientos maliciosos de los participantes.

Sumar claves públicas o valores de firma sin seguir un esquema revisado no es seguro.

Ethereum y ECC

Las cuentas de ejecución de Ethereum utilizan ECDSA sobre secp256k1 para las firmas ordinarias de transacciones.

La dirección de una cuenta de propiedad externa se deriva de su clave pública.

La firma permite que la red recupere o verifique la clave pública asociada al remitente y confirme la autorización de la transacción.

La documentación actual de claves Proof of Stake de Ethereum explica que las claves de las cuentas de la capa de ejecución siguen siendo claves de curva elíptica, mientras que los validadores utilizan un sistema de claves distinto.

Las funciones de validador de Ethereum utilizan firmas BLS sobre la curva BLS12-381.

Por tanto, la clave de ejecución de un validador y su clave de firma de consenso tienen distintas funciones y utilizan esquemas criptográficos diferentes.

Firmas ECDSA recuperables

Algunos sistemas de criptomonedas incluyen información de recuperación con una firma ECDSA.

Esta información permite al software identificar la clave pública prevista a partir del mensaje y la firma, sin transmitir por separado la clave pública completa.

Tradicionalmente, las firmas de Ethereum han representado esta información mediante valores conocidos habitualmente como

r
,
s
y un valor de recuperación o paridad.

El estándar de firmas compactas ERC-2098 describe una representación compacta de firmas secp256k1 que utiliza la información de paridad de forma eficiente.

La recuperación de claves públicas es una característica del formato de firma y no revela la clave privada.

¿Qué es EdDSA?

EdDSA son las siglas de Edwards-Curve Digital Signature Algorithm (algoritmo de firma digital de curva de Edwards).

Es una familia de firmas digitales diseñada en torno a curvas torcidas de Edwards.

EdDSA busca admitir implementaciones eficientes, firmas deterministas y resistencia a varios errores habituales de implementación.

Ed25519 es una instancia de EdDSA muy utilizada y basada en matemáticas relacionadas con Curve25519.

La especificación RFC 8032 define Ed25519 y otras variantes de firmas basadas en curvas de Edwards.

Las claves y firmas Ed25519 no son compatibles con las claves y firmas ECDSA de secp256k1.

Solana y Ed25519

Las transacciones de Solana utilizan firmas Ed25519 para las cuentas firmantes requeridas.

Cada firmante de una transacción proporciona una firma Ed25519 de 64 bytes sobre el mensaje serializado de la transacción.

La documentación actual de transacciones de Solana explica la estructura de las firmas y los requisitos para los firmantes.

Solana también proporciona programas precompilados de verificación para firmas Ed25519, secp256k1 y secp256r1 en instrucciones específicas de las aplicaciones.

La compatibilidad con varios esquemas de verificación no significa que sus claves públicas o firmas puedan sustituirse entre sí.

¿Qué es ECDH?

ECDH son las siglas de Elliptic Curve Diffie-Hellman.

Es un método de acuerdo de claves, no un algoritmo de firma de transacciones.

Dos participantes combinan su propia clave privada con la clave pública del otro para calcular el mismo secreto compartido.

Con el supuesto ECDLP, un intruso que vea las claves públicas no debería poder calcular ese secreto.

El valor compartido suele pasarse por una función de derivación de claves antes de utilizarse para cifrado o autenticación.

ECDH no autentica por sí solo a los participantes, por lo que su uso sin autenticación puede ser vulnerable a ataques de intermediario.

X25519

X25519 es una función de Diffie-Hellman de curva elíptica muy utilizada, basada en la forma de Montgomery de Curve25519.

Está diseñada para establecer secretos compartidos de forma eficiente y facilitar la implementación.

La especificación RFC 7748 define X25519 y X448.

X25519 se utiliza para acordar claves, no para las firmas ordinarias de transacciones de criptomonedas.

Aunque X25519 y Ed25519 utilizan campos subyacentes relacionados, sus claves tienen significados distintos y no deben convertirse a la ligera.

Firmas BLS y curvas aptas para pairings

Las firmas BLS son firmas de curva elíptica que utilizan pairings bilineales.

Admiten la agregación eficiente de muchas firmas y claves públicas conforme a reglas definidas cuidadosamente.

Ethereum Proof of Stake utiliza firmas BLS sobre BLS12-381 para las propuestas y certificaciones de los validadores.

La agregación permite representar los votos de muchos validadores de forma más compacta que publicando una firma independiente por cada validador.

El estándar de jerarquía determinista de cuentas BLS12-381 documenta el uso de claves BLS en la infraestructura de validadores de Ethereum.

BLS12-381 se diferencia de secp256k1 y Ed25519 por la estructura de la curva, los algoritmos de firma, la derivación de claves y los requisitos de seguridad.

Las distintas curvas elípticas no son intercambiables

Las curvas elípticas pueden utilizar ecuaciones, campos, generadores, órdenes de grupo, cof actores, codificaciones y supuestos de seguridad distintos.

secp256k1, P-256, Ed25519 y BLS12-381 son sistemas criptográficos diferentes.

Un valor de 32 bytes válido como un tipo de clave pública puede ser inválido o inseguro si se interpreta conforme a otro esquema.

Los desarrolladores deben especificar conjuntamente la curva, el algoritmo de firma, las reglas de hash, la serialización y la separación de dominios.

Una etiqueta genérica como ECC no basta para que dos aplicaciones sean interoperables.

Tamaño de clave ECC y nivel de seguridad

Una curva segura de campo primo de 256 bits suele asociarse a unos 128 bits de seguridad clásica frente a ataques genéricos de logaritmo discreto.

Esto no significa que un atacante tenga una posibilidad entre 128 de adivinar la clave.

Describe un esfuerzo aproximado comparable a realizar unos

2¹²⁸
operaciones conforme a los modelos de ataque pertinentes.

El nivel de seguridad exacto depende de la estructura de la curva, el algoritmo, la implementación, la generación de números aleatorios y las capacidades del atacante.

Una clave ECC de 256 bits no debe compararse directamente con una clave de cifrado simétrico de 256 bits, porque los modelos de ataque son distintos.

Claves públicas comprimidas

Un punto de una curva elíptica sobre un campo primo suele contener una coordenada

x
y una coordenada
y
.

En muchas curvas, la ecuación produce dos valores posibles de

y
para una coordenada
x
válida.

Por tanto, una clave pública comprimida puede almacenar la coordenada

x
y un bit o prefijo que identifique el valor de
y
previsto.

Esto reduce el tamaño de la clave pública sin reducir el espacio de búsqueda de la clave privada subyacente.

El software debe descomprimir y validar correctamente el punto antes de utilizarlo.

BIP-340 utiliza una convención de clave pública basada solo en

x
, con reglas adicionales para seleccionar el punto correspondiente.

Maleabilidad de las firmas

La maleabilidad de una firma se produce cuando una firma válida puede transformarse en otra firma válida para el mismo mensaje y la misma clave pública.

La ECDSA básica presenta una simetría matemática que puede producir valores

s
relacionados.

Los protocolos de criptomonedas pueden reducir este problema exigiendo una forma canónica de

s
bajo o aplicando otras reglas de codificación.

La maleabilidad no permite necesariamente que un atacante gaste fondos sin autorización.

Puede cambiar el identificador de una transacción o interferir con sistemas que presuponen una única codificación de firma.

Los esquemas Schnorr, con no falsificación fuerte y codificación fija, pueden ofrecer propiedades de no maleabilidad más claras si se implementan conforme a sus especificaciones.

Generación de claves y entropía

La solidez matemática de ECC no puede proteger una clave privada generada a partir de información predecible.

Una wallet debe utilizar un generador de números aleatorios criptográficamente seguro o un proceso de derivación determinista aprobado y alimentado con suficiente entropía.

Los nombres, fechas de nacimiento, citas, contraseñas cortas y patrones numéricos elegidos por el usuario no son claves privadas seguras.

Una clave generada por un generador de números aleatorios de hardware defectuoso puede ser adivinable aunque tenga la longitud esperada.

Las wallets deben combinar fuentes de entropía revisadas, comprobar los intervalos y proteger los entornos de generación de semillas.

Los usuarios no deben crear claves privadas mediante funciones ordinarias de hojas de cálculo ni funciones aleatorias de lenguajes de programación que no sean criptográficas.

Wallets deterministas jerárquicas

Las wallets deterministas jerárquicas derivan muchas claves relacionadas a partir de una semilla maestra.

Esto permite hacer una copia de seguridad de una sola semilla y generar direcciones distintas para diferentes transacciones o cuentas.

El sistema de derivación utiliza funciones criptográficas y operaciones de curva elíptica conforme a un estándar definido.

Algunas rutas de derivación permiten generar claves públicas secundarias a partir de una clave pública extendida sin exponer claves privadas.

En determinados sistemas de derivación no endurecida, combinar incorrectamente claves públicas extendidas con claves privadas secundarias filtradas puede resultar peligroso.

Los desarrolladores y usuarios de wallets deben seguir el estándar de derivación exacto, en lugar de diseñar una jerarquía de claves informal.

Hardware wallets y ECC

Una hardware wallet puede almacenar claves privadas ECC y realizar cálculos de firma en un dispositivo específico.

El ordenador conectado recibe la clave pública o la firma, pero normalmente no la clave privada.

Esto reduce la exposición al malware del ordenador de uso general.

Aun así, el dispositivo debe mostrar suficiente información de la transacción para que el usuario pueda reconocer un destinatario malicioso o una llamada a contrato.

Un elemento seguro o un procesador aislado no puede proteger a un usuario que aprueba datos de transacción engañosos.

La frase de recuperación también sigue siendo fundamental, porque puede recrear las claves ECC en otro dispositivo.

Multifirma ECC y firma umbral

Los sistemas multifirma requieren la autorización de varias claves, en lugar de una sola.

Un script blockchain puede verificar varias firmas ECC independientes.

Como alternativa, un protocolo criptográfico de agregación o de umbral puede permitir que varios participantes cooperen para producir una sola firma.

La especificación MuSig2 define un método de multifirma interactivo compatible con las claves y firmas BIP-340.

Los sistemas de umbral requieren una generación cuidadosa de nonces, identificación de participantes, validación de transcripciones y resistencia frente a firmantes maliciosos.

Un protocolo de umbral personalizado puede filtrar la clave privada del grupo aunque la curva subyacente sea segura.

Ataques por canales laterales

Un ataque por canal lateral obtiene secretos a partir del comportamiento físico u operativo de una implementación criptográfica.

Entre las posibles señales se encuentran el tiempo de ejecución, el consumo eléctrico, las emisiones electromagnéticas, el comportamiento de la caché, el acceso a memoria y las respuestas a fallos.

Un algoritmo matemáticamente seguro puede fallar si su implementación ejecuta operaciones distintas según los bits de la clave secreta.

La programación de tiempo constante intenta evitar que las diferencias observables en la ejecución dependan de datos secretos.

Las hardware wallets y los servidores de firma también pueden necesitar protección física, detección de fallos, memoria segura y límites de frecuencia.

Los desarrolladores deben utilizar bibliotecas diseñadas y revisadas para resistir ataques por canales laterales.

Ataques de curva no válida y de subgrupo

Un atacante puede proporcionar un punto malformado o perteneciente a un grupo inesperado.

Si el software realiza operaciones con la clave secreta sobre ese punto sin validarlo, la respuesta puede revelar información sobre la clave privada.

Los ataques de subgrupo pequeño pueden forzar cálculos en un grupo con un número limitado de resultados posibles.

Las implementaciones seguras aplican las reglas de validación y de cofactor exigidas por la curva y el protocolo seleccionados.

Algunos diseños modernos de curvas simplifican parte de este proceso, pero los desarrolladores deben seguir las reglas de decodificación especificadas.

Ataques de fallo

Un ataque de fallo provoca deliberadamente un error durante un cálculo criptográfico.

El atacante puede manipular el voltaje, la frecuencia del reloj, la temperatura, la memoria o el flujo de cálculo.

En ocasiones, comparar firmas correctas y defectuosas puede revelar la clave privada.

Los dispositivos de firma de alta seguridad pueden verificar sus propias firmas calculadas antes de devolverlas.

También pueden utilizar redundancia, sensores de fallos, hardware reforzado e informes de error restringidos.

Por qué los desarrolladores deben utilizar bibliotecas revisadas

Es difícil implementar correctamente la aritmética de curva elíptica de forma segura.

Un desarrollador puede crear código que supere las pruebas ordinarias y siga siendo vulnerable a ataques temporales, puntos no válidos, nonces sesgados, reducción modular incorrecta o casos límite.

Las bibliotecas revisadas proporcionan aritmética optimizada, vectores de prueba, serialización estandarizada y medidas de seguridad reforzadas.

Los desarrolladores deben utilizar una biblioteca compatible con la curva y el protocolo exactos que requiera la blockchain.

Deben verificar las versiones de las bibliotecas, las opciones de compilación, el comportamiento de la plataforma y la integridad de las dependencias.

Copiar una implementación ECC breve de un artículo o fragmento de código no es seguro para la custodia de criptomonedas en producción.

Separación de dominios

La separación de dominios garantiza que una firma o un hash creado para un propósito no pueda reutilizarse automáticamente para otro.

Un protocolo puede incluir antes de firmar un identificador de red, el nombre de una aplicación, el tipo de mensaje, la dirección de un contrato, una versión u otro contexto.

Sin separación de dominios, un mensaje firmado como una solicitud de inicio de sesión inocua podría interpretarse en otro lugar como una autorización financiera.

Las wallets de criptomonedas deben mostrar el dominio de firma y distinguir claramente las transacciones de los mensajes de texto normales.

Los desarrolladores deben seguir las reglas exactas de codificación de mensajes y separación de dominios de la blockchain correspondiente.

Reutilización de claves privadas

Utilizar una misma clave privada ECC en redes o aplicaciones no relacionadas aumenta el riesgo.

Una implementación de firma débil en una aplicación puede exponer la clave que controla activos en otra.

Los distintos sistemas pueden aplicar hashes, codificar o validar mensajes de formas incompatibles.

La reutilización de claves entre aplicaciones también facilita relacionar la actividad de un usuario.

Las claves separadas reducen el impacto de que se comprometa un dispositivo, una biblioteca o un protocolo de firma.

Los usuarios de wallets deben evitar importar frases semilla de gran valor en aplicaciones innecesarias.

ECC y contratos inteligentes

Los contratos inteligentes pueden verificar firmas de curva elíptica cuando la blockchain proporciona las operaciones adecuadas.

Ethereum incluye compatibilidad nativa para recuperar firmantes secp256k1 mediante el precompilado

ecrecover
.

Otros precompilados o bibliotecas de contratos pueden admitir otras curvas y sistemas de prueba.

La aritmética de curva elíptica on-chain puede ser costosa si la red no proporciona un precompilado especializado.

Además, un contrato debe protegerse frente a la repetición de firmas, las codificaciones ambiguas, las firmas maleables, las autorizaciones caducadas y los dominios de firmante incorrectos.

La verificación de una firma demuestra la autorización de una clave, no que la acción firmada sea segura desde el punto de vista económico.

ECC y pruebas de conocimiento cero

Las curvas elípticas también se utilizan en numerosos sistemas de pruebas de conocimiento cero.

Las curvas aptas para pairings pueden admitir pruebas concisas y una verificación eficiente.

Los puntos de curva pueden representar compromisos, elementos de prueba o claves de verificación.

Los requisitos de seguridad de un sistema de pruebas pueden diferir de los de un sistema de firma de transacciones.

Una curva adecuada para firmas ordinarias no es automáticamente eficiente o segura para pruebas basadas en pairings.

Los supuestos de configuración de confianza, el diseño de circuitos, la compatibilidad de campos, las comprobaciones de subgrupo y la solidez del sistema de pruebas deben evaluarse por separado.

Ventajas de ECC en las criptomonedas

ECC proporciona una sólida seguridad clásica de clave pública con claves y firmas relativamente compactas.

Permite a los usuarios autorizar transacciones sin revelar sus claves privadas.

Facilita la verificación eficiente por parte de los participantes de redes descentralizadas.

Puede admitir acuerdo de claves, firmas agregadas, firma umbral, compromisos y operaciones de pruebas de conocimiento cero.

Existen varias curvas bien estudiadas y algoritmos estandarizados para distintas aplicaciones.

Su eficiencia ha convertido ECC en una tecnología fundamental para las wallets y los sistemas de consenso de criptomonedas modernos.

Limitaciones de ECC

ECC es sensible a errores de implementación, aleatoriedad débil, reutilización de nonces y filtraciones por canales laterales.

Las distintas curvas y los distintos esquemas de firma no son interoperables automáticamente.

ECC no cifra por sí sola las transacciones ordinarias de blockchains públicas.

No puede impedir que los usuarios aprueben transferencias maliciosas o expongan frases de recuperación.

Los ordenadores cuánticos suficientemente potentes amenazan sus supuestos de seguridad.

Migrar una blockchain activa a otro sistema de firmas puede requerir cambios en las wallets, las direcciones, el hardware, los formatos de transacción, los contratos inteligentes y el software de consenso.

Computación cuántica y ECC

Un ordenador cuántico tolerante a fallos y suficientemente potente podría utilizar el algoritmo de Shor para resolver logaritmos discretos de curvas elípticas de forma eficiente.

Esto permitiría a un atacante calcular una clave privada a partir de una clave pública expuesta.

Actualmente no se conoce públicamente ningún ordenador cuántico que pueda realizar este ataque a escala práctica contra curvas de criptomonedas de tamaño completo.

Sin embargo, los sistemas blockchain de larga duración deben planificar la respuesta antes de que ese hardware esté disponible.

La guía actual de seguridad poscuántica de Ethereum señala ECDSA, las firmas BLS y los compromisos de curva elíptica como ámbitos que requerirán una migración futura.

Los usuarios deben seguir las recomendaciones oficiales del protocolo, en lugar de alarmarse ante afirmaciones sin respaldo de que ECC ya ha sido vulnerada.

Criptografía poscuántica

La criptografía poscuántica utiliza problemas matemáticos que se considera que resisten tanto a ordenadores clásicos como a grandes ordenadores cuánticos.

En agosto de 2024, el NIST finalizó FIPS 203 para ML-KEM, FIPS 204 para ML-DSA y FIPS 205 para SLH-DSA.

El anuncio de los estándares poscuánticos del NIST recomienda comenzar a planificar la migración.

ML-KEM establece secretos compartidos, mientras que ML-DSA y SLH-DSA proporcionan firmas digitales.

Por lo general, estos esquemas tienen claves o firmas más grandes que los sistemas ECC de uso habitual.

Una migración blockchain debe equilibrar la seguridad, el tamaño de las transacciones, el coste de verificación, la compatibilidad de direcciones y la recuperación de fondos inactivos.

Agilidad criptográfica

La agilidad criptográfica es la capacidad de sustituir o combinar algoritmos criptográficos sin reconstruir todo el sistema.

Una wallet con agilidad criptográfica puede identificar qué esquema de firma protege una cuenta y admitir futuras vías de migración.

Durante una transición, un protocolo puede utilizar firmas híbridas que requieran tanto una firma ECC existente como una firma poscuántica.

En ocasiones, las cuentas inteligentes admiten actualizaciones de algoritmos con mayor flexibilidad que las cuentas cuyas reglas de firma están fijadas directamente por el protocolo base.

La agilidad criptográfica debe diseñarse cuidadosamente, ya que una ruta de migración o degradación insegura puede debilitar todo el sistema.

Cómo deben utilizar ECC los desarrolladores de forma segura

Los desarrolladores deben seleccionar la curva y el algoritmo exactos que requieran la blockchain o el estándar de destino.

Deben utilizar bibliotecas criptográficas mantenidas y con un historial de revisión consolidado.

Las claves privadas y los nonces de firma deben proceder de procesos de generación seguros.

Las implementaciones deben validar las claves públicas, los puntos de curva, la pertenencia al subgrupo, los intervalos de firma y las codificaciones canónicas.

Las operaciones que dependen de secretos deben utilizar técnicas de tiempo constante.

Los protocolos deben incluir codificación clara de mensajes, identificación de cadena, contexto de aplicación, gestión de nonces y protección frente a la repetición.

Las pruebas deben incluir vectores oficiales, puntos malformados, firmas no válidas, valores límite, fallos de nonce e intentos de repetición entre redes.

Los sistemas de gran valor deben someterse a una revisión independiente de criptografía e implementación.

Cómo pueden proteger sus claves ECC los usuarios de criptomonedas

Los usuarios deben generar wallets con software o hardware fiable que utilice entropía segura.

Las frases de recuperación y las claves privadas nunca deben introducirse en sitios web, mensajes ni formularios de asistencia.

Antes de firmar, deben verificarse los detalles importantes de la transacción en una pantalla de confianza.

Los fondos de gran valor pueden protegerse mediante aislamiento de hardware, políticas multifirma, límites de gasto o niveles de almacenamiento separados.

Los usuarios deben evitar importar una misma frase semilla en muchas aplicaciones.

Las copias de seguridad deben probarse sin exponer el secreto a un dispositivo no fiable.

Las actualizaciones de wallets y protocolos deben obtenerse a través de canales oficiales verificados.

Ejemplo de transacción cripto firmada con ECC

Supongamos que Alice controla una cuenta de criptomonedas mediante una clave privada ECC.

Su wallet crea una transacción para enviar tokens a la dirección de Bob.

La wallet serializa la transacción conforme a las reglas exactas de firma de la blockchain.

Calcula el hash del mensaje serializado o lo procesa de otro modo según lo requiera el esquema de firma.

La wallet crea una firma con la clave privada de Alice y un nonce de firma seguro o un proceso de firma determinista.

La transacción y la firma se difunden a la red.

Cada nodo validador obtiene o recupera la clave pública de Alice y verifica la firma.

El nodo también comprueba el saldo de Alice, el nonce, las comisiones y todas las demás reglas de consenso.

Una firma ECC válida demuestra la autorización de la clave requerida, pero no sustituye las demás comprobaciones de validez de la transacción.

Errores habituales con ECC

Un error habitual es suponer que ECC cifra todas las transacciones de criptomonedas.

Otro es tratar una clave pública como si fuera lo mismo que una dirección de wallet.

Un tercero es reutilizar un nonce de firma ECDSA.

Un cuarto es generar claves privadas con funciones aleatorias ordinarias.

Un quinto es aceptar puntos de clave pública no validados proporcionados por un atacante.

Un sexto es suponer que todas las curvas elípticas de 256 bits son intercambiables.

Un séptimo es escribir aritmética de curvas personalizada para la custodia en producción sin revisión experta.

Un octavo es reutilizar una clave privada en aplicaciones y redes no relacionadas.

Un noveno es creer que una firma válida demuestra que la transacción firmada es financieramente segura.

Un décimo es suponer que ECC seguirá siendo segura frente a todos los futuros ordenadores cuánticos sin un plan de migración.

Preguntas frecuentes

¿Qué significa ECC en el ámbito de las criptomonedas?

ECC significa criptografía de curva elíptica, una familia de métodos de clave pública utilizada para claves, firmas, acuerdo de claves y pruebas avanzadas en criptomonedas.

¿Cuál es el principal uso de ECC en cripto?

Su uso principal es crear y verificar firmas digitales que autorizan transacciones blockchain.

¿ECC cifra las transacciones de criptomonedas?

Normalmente no, porque la mayoría de las transacciones en blockchains públicas están firmadas y son legibles públicamente, no cifradas.

¿Qué es una clave privada ECC?

Es un escalar secreto que se utiliza para generar una clave pública y autorizar firmas.

¿Qué es una clave pública ECC?

Es un punto de la curva derivado matemáticamente de la clave privada y utilizado para verificar firmas.

¿Puede una clave pública revelar una clave privada?

No con la computación clásica actual si se utilizan una curva segura y una implementación correcta.

¿Qué es el problema del logaritmo discreto en curvas elípticas?

Es el problema difícil de recuperar un escalar privado a partir de un punto generador y el punto público resultante.

¿Qué es ECDSA?

ECDSA es un algoritmo de firma digital de curva elíptica muy utilizado para autorizar transacciones de criptomonedas.

¿Qué es secp256k1?

secp256k1 es una curva elíptica estandarizada de 256 bits utilizada por Bitcoin, las cuentas de ejecución de Ethereum y varios otros sistemas cripto.

¿Bitcoin utiliza ECC?

Sí. Bitcoin utiliza secp256k1 con ECDSA y firmas Schnorr de secp256k1 para el gasto con Taproot.

¿Ethereum utiliza ECC?

Sí. Las cuentas de ejecución de Ethereum utilizan ECDSA sobre secp256k1, mientras que los validadores Proof of Stake usan firmas BLS sobre BLS12-381.

¿Solana utiliza ECC?

Sí. Los firmantes de transacciones de Solana utilizan firmas Ed25519.

¿Qué es Ed25519?

Ed25519 es un esquema de firma EdDSA que utiliza matemáticas de curvas de Edwards relacionadas con Curve25519.

¿Qué es una firma Schnorr?

Es una construcción de firma con propiedades útiles de linealidad y agregación cuando se implementa mediante un protocolo seguro.

¿Qué es ECDH?

ECDH es un método de acuerdo de claves de curva elíptica que permite a dos partes calcular un secreto compartido.

¿Qué es una clave pública comprimida?

Es una codificación compacta de un punto de curva que almacena una coordenada y suficiente información para reconstruir la otra.

¿Por qué ECDSA necesita un nonce único?

Reutilizar o predecir el nonce puede permitir que un atacante calcule la clave privada.

¿Se puede adivinar una clave privada?

Una clave generada de forma segura tiene un espacio de búsqueda enorme, pero las claves humanas débiles o con aleatoriedad deficiente pueden ser adivinables.

¿Todas las curvas ECC son igual de seguras?

No. La seguridad depende de los parámetros de la curva, el diseño del algoritmo, el tamaño de la clave, la implementación, la validación y los ataques matemáticos conocidos.

¿Se puede copiar una firma ECC?

Una firma puede copiarse como dato, pero la protección contra la repetición y la vinculación al mensaje determinan si puede autorizar otra operación.

¿Una firma válida garantiza que una transacción sea segura?

No. Demuestra la autorización de una clave, pero no que el destinatario, el contrato, el precio o la decisión financiera sean seguros.

¿Pueden las hardware wallets proteger las claves ECC?

Pueden aislar las claves y las operaciones de firma, pero los usuarios aún deben verificar los detalles de las transacciones y proteger las copias de seguridad de recuperación.

¿Pueden utilizar ECC las wallets multifirma?

Sí. Pueden verificar varias firmas ECC o utilizar protocolos revisados de agregación y firma umbral.

¿Pueden los ordenadores cuánticos vulnerar ECC?

Un ordenador cuántico tolerante a fallos y suficientemente potente podría vulnerar ECC con el algoritmo de Shor, pero actualmente no se conoce públicamente ninguna máquina capaz de hacerlo a escala de criptomonedas.

¿Qué sustituirá a ECC?

Los sistemas futuros podrían utilizar esquemas de firma poscuánticos estandarizados basados en retículas, hashes u otras técnicas, a veces junto con ECC durante la migración.

¿Es segura ECC hoy?

Una ECC bien seleccionada e implementada sigue siendo segura frente a los ataques clásicos prácticos conocidos, mientras que los sistemas a largo plazo deben prepararse para la migración poscuántica.

Conclusión

La criptografía de curva elíptica es una de las tecnologías fundamentales que protegen la propiedad de las criptomonedas y la autorización de transacciones.

Establece una relación matemática unidireccional entre una clave privada secreta y una clave pública que puede compartirse.

Los esquemas de firma digital utilizan esta relación para demostrar la autorización sin revelar la clave privada.

Bitcoin utiliza secp256k1 con firmas ECDSA y Schnorr; Ethereum utiliza secp256k1 para las cuentas de ejecución y BLS12-381 para los validadores; y Solana utiliza Ed25519 para las firmas de transacciones.

ECC también puede admitir el acuerdo de claves, los protocolos multifirma, la firma umbral, los compromisos y los sistemas de pruebas de conocimiento cero.

Su seguridad depende de algo más que las matemáticas de la curva.

Son esenciales la aleatoriedad segura, los nonces de firma únicos, la validación de claves públicas, las implementaciones de tiempo constante, la separación de dominios, el almacenamiento seguro de claves y las bibliotecas revisadas.

Una firma ECC válida demuestra que la clave requerida autorizó unos datos concretos, pero no cifra una transacción pública ni garantiza que la acción sea financieramente segura.

ECC sigue siendo segura frente a los ataques clásicos prácticos conocidos cuando se implementa correctamente, pero los ordenadores cuánticos suficientemente potentes amenazarían sus fundamentos basados en logaritmos discretos.

Por tanto, los desarrolladores de criptomonedas deben proteger las claves actuales y diseñar vías de migración fiables hacia la criptografía poscuántica.
¿Retroceso u oportunidad?
¿Retroceso u oportunidad?¿Retroceso u oportunidad?
$2400M en entradas a ETF de BTC pese a liquidaciones