En criptografia de clau pública, l'algoritme de signatura digital de corba d'Edwards (EdDSA) és un esquema de signatura digital que utilitza una variant de la signatura de Schnorr basada en corbes d'Edwards retorçades. Està dissenyat per ser més ràpid que els esquemes de signatura digital existents sense sacrificar la seguretat. Va ser desenvolupat per un equip que incloïa Daniel J. Bernstein, Nie
Resum
La següent és una descripció simplificada d'EdDSA, ignorant els detalls de la codificació d'enters i punts de corba com a cadenes de bits; els detalls complets es troben als articles i a la RFC.
Un esquema de signatura EdDSA és una opció:
- de camp finit
sobre la potència prima imparella
;
- de corba el·líptica
més de
el grup del qual
de
els punts racionals tenen ordre
, on
és un primer gran i
s'anomena cofactor;
- del punt base
amb ordre
; i
- de la funció hash criptogràfica
amb
sortides de -bit, on
de manera que els elements de
i punts de corba en
es pot representar mitjançant cadenes de
bits.
Aquests paràmetres són comuns a tots els usuaris de l'esquema de signatura EdDSA. La seguretat de l'esquema de signatura EdDSA depèn críticament de l'elecció dels paràmetres, excepte per l'elecció arbitrària del punt base; per exemple, s'espera que l'algoritme rho de Pollard per a logaritmes trigui aproximadament addicions de corbes abans de poder calcular un logaritme discret, de manera que
ha de ser prou gran perquè això sigui inviable, i normalment es considera que supera 2200 L'elecció de
està limitat per l'elecció de
, ja que pel teorema de Hasse,
no pot diferir de
per més de
. La funció hash
normalment es modela com un oracle aleatori en anàlisis formals de la seguretat d'EdDSA.
Dins d'un esquema de signatura EdDSA,
- Clau pública
- Una clau pública EdDSA és un punt de corba
, codificat en
bits.
- Verificació de signatura
- Una signatura EdDSA en un missatge
per clau pública
és la parella
, codificat en
bits, d'un punt de corba
i un nombre enter
satisfent la següent equació de verificació, on
denota concatenació:
- Clau privada
- Una clau privada EdDSA és una
cadena de bits
que s'han de triar uniformement a l'atzar. La clau pública corresponent és
, on
és el menys significatiu
trossos de
interpretat com un enter en ordre de bytes.
- Signatura
- La signatura d'un missatge
es calcula determinísticament com a
on
per
, i
Això satisfà l'equació de verificació
Ed25519
Ed25519 és l'esquema de signatura EdDSA que utilitza SHA-512 (SHA-2) i una corba el·líptica relacionada amb la corba25519 on
és la corba d'Edwards torçada
i
és el punt únic en
de qui
coordenada és
i de qui
la coordenada és positiva. "positiu" es defineix en termes de codificació de bits:
- Les coordenades "positives" són coordenades parells (el bit menys significatiu s'esborra)
- Les coordenades "negatives" són coordenades imparelles (es defineix el bit menys significatiu)
és SHA-512, amb
.
La corba d'Edwards retorçada es coneix com a edwards25519, i és biracionalment equivalent a la corba de Montgomery coneguda com a Curve25519. L'equivalència és