Post
Topic
Board Discussioni avanzate e sviluppo
Re: curve ellittiche e algoritmo ECDSA
by
arulbero
on 27/01/2016, 13:10:01 UTC
Intanto grazie del 3d.
Faccio le domande come a scuola ... ne approfitto!
... Le curve ellittiche in generale hanno equazione y^2 = Ax^3+Bx+C,  e poco hanno a che fare con l'ellisse, nonostante il loro nome.  

In giro si trova che dipende da solo due parametri, in pratica https://en.wikipedia.org/wiki/Elliptic_curve indica solo i tuoi B=a, C=b mentre A=1, y^2 ha coefficiente 1 in entrambe. Sono equivalenti le trattazioni?

La definizione rigorosa di curva ellittica non è banale, si tratta di una curva proiettiva liscia i cui punti soddisfano una certa equazione detta equazione di Weierstrass generalizzata.

"proiettiva" ha a che fare con il fatto che dobbiamo aggiungere il punto all'infinito, "liscia" vuol dire non singolare, cioè deve essere derivabile in ogni punto, senza spigoli (altrimenti non sarebbe definita la tangente in ogni punto)

Si può dimostrare che quasi ogni curva ellittica può essere descritta da un tipo di equazione più semplice detta equazione di Weierstrass:

Quote
2.1.6 Proposizione. A meno di un opportuno cambiamento di variabili, una curva ellittica E sul campo K, avente caratteristica diversa da 2 e 3, è definita dall'equazione di Weierstrass

y^2 =x^3 +ax +b

dove a,b∈K sono tali che 4a^3 + 27b^2 è diverso da 0.

La condizione su a e su b è che il discriminante dell'equazione sia diverso da 0 (corrisponde al richiedere che la curva sia liscia). Nel caso della secp256k1 a=1, b=7, quindi 4*1^3 + 27 * 7^2  = 1327 e quindi si tratta in effetti di una curva liscia.

Queste informazioni e maggiori dettagli li trovi su questa tesi che si trova online (da pag. 47) http://www1.unipa.it/~giovanni.falcone/tesilenia.pdf

Domanda forse banale ma ... intanto spero di riuscire a spiegarmi ...
ECDSA serve solo per firmare o posso anche crittare messaggi "da" e "verso" le due chiavi in modo "scambiabile"?

ECDSA come dice il nome stesso (Elliptic Curve Digital Signature Algorithm) è solo un algoritmo di firma, quindi serve solo a firmare e a verificare la firma.

Se vuoi però utilizzare le curve ellittiche anche per cifrare i messaggi esistono anche algoritmi di cifratura come ad esempio  l' ECIES (Elliptic Curve Integrated Encryption Scheme) che trovi a pag.99-100 sempre della tesi.