Algoritmo de firma digital de curva elíptica


En criptografía , el algoritmo de firma digital de curva elíptica ( ECDSA ) ofrece una variante del algoritmo de firma digital (DSA) que utiliza criptografía de curva elíptica .

Como ocurre con la criptografía de curva elíptica en general, el tamaño de bits de la clave pública que se cree que es necesaria para ECDSA es aproximadamente el doble del tamaño del nivel de seguridad , en bits. [1] Por ejemplo, a un nivel de seguridad de 80 bits, lo que significa que un atacante requiere un máximo de aproximadamente operaciones para encontrar la clave privada, el tamaño de una clave privada ECDSA sería de 160 bits, mientras que el tamaño de una clave privada DSA es al menos 1024 bits. Por otro lado, el tamaño de la firma es el mismo para DSA y ECDSA: aproximadamente bits, donde se mide el nivel de seguridad en bits, es decir, alrededor de 320 bits para un nivel de seguridad de 80 bits.

Suponga que Alice quiere enviar un mensaje firmado a Bob . Inicialmente, deben acordar los parámetros de la curva . Además del campo y la ecuación de la curva, necesitamos un punto base de primer orden en la curva; es el orden multiplicativo del punto .

El orden del punto base debe ser primo . De hecho, suponemos que cada elemento distinto de cero del anillo es invertible, por lo que debe ser un campo. Implica que debe ser primo (cf. identidad de Bézout ).

Alice crea un par de claves, que consta de un número entero de clave privada , seleccionado aleatoriamente en el intervalo ; y un punto de curva de clave pública . Usamos para denotar la multiplicación de puntos de la curva elíptica por un escalar .

Para que Alice firme un mensaje , sigue estos pasos: