Passa al contenuto principale

1. Introduction (Introduzione)

1. Introduction (Introduzione)

Dalla standardizzazione iniziale della crittografia a curve ellittiche (Elliptic Curve Cryptography, ECC [RFC6090]) in [SEC1], si sono registrati progressi significativi riguardo sia all'efficienza sia alla sicurezza delle curve e delle implementazioni. Esempi rilevanti sono algoritmi protetti contro determinati attacchi a canale laterale, varie forme "speciali" di primi che consentono aritmetica modulare più veloce e un insieme più ampio di modelli di curve tra cui scegliere. Vi è inoltre preoccupazione nella comunità riguardo alla generazione e alle potenziali debolezze delle curve definite da NIST [NIST].

Questo memo specifica due curve ellittiche ("curve25519" e "curve448") che si prestano a implementazioni a tempo costante e a una moltiplicazione scalare priva di eccezioni, resistente a un'ampia gamma di attacchi a canale laterale, inclusi attacchi temporali e su cache. Sono curve di Montgomery (dove v^2 = u^3 + Au^2 + u) e hanno pertanto versioni di Edwards birazionalmente equivalenti. Le curve di Edwards supportano le formule complete più veloci (attualmente note) per le operazioni di gruppo sulla curva ellittica, in particolare la curva di Edwards x^2 + y^2 = 1 + dx^2y^2 per primi p quando p = 3 mod 4, e la curva di Edwards twistata -x^2 + y^2 = 1 + dx^2*y^2 quando p = 1 mod 4. Sono inoltre fornite le mappe da/verso le curve di Montgomery alle rispettive equivalenti (twistate) di Edwards.

Questo memo specifica anche come tali curve possano essere utilizzate con il protocollo Diffie-Hellman per l'accordo sulle chiavi.