0Pricing
Cryptology Academy · Lezione

Curve standard: P-256, Curve25519, secp256k1

Confronti le curve NIST, Curve25519 di Bernstein e secp256k1 di Bitcoin.

Curve standard: P-256, Curve25519, secp256k1 è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.

Introduzione

Curve ellittiche diverse vengono usate per scopi diversi. In questo argomento confronteremo le tre più importanti: NIST P-256, Curve25519 di Bernstein e secp256k1 di Bitcoin.

NIST P-256 (secp256r1)

NIST P-256 è stata standardizzata nel 1999. Utilizza una curva di Weierstrass con a=-3 (raddoppiamento rapido dei punti). Offre una sicurezza a 128 bit. È richiesta dal governo degli Stati Uniti (FIPS) ed è predominante in TLS, JWT e nella firma del codice.

La controversia su P-256

I parametri della curva P-256 sono stati scelti usando un valore seed non spiegato. Il processo richiama quello di Dual_EC_DRBG, che aveva una backdoor dell'NSA. Non è stata dimostrata alcuna backdoor, ma molti non si fidano delle curve NIST.

Curve25519 (X25519 / Ed25519)

Bernstein ha progettato Curve25519 nel 2005 con una selezione dei parametri completamente trasparente e verificabile. Forma di Montgomery: y²=x³+486662x²+x mod (2^255-19). Tutti i parametri sono giustificati dall'efficienza, non dall'arbitrarietà.

Proprietà di Curve25519

Sicurezza a 128 bit. Cofattore 8 (gestito dall'implementazione di X25519). Naturalmente a tempo costante sulla maggior parte delle piattaforme. Nessun punto problematico nei casi limite. Adottata dall'IETF nelle RFC 7748 e RFC 8032. WireGuard, Signal e SSH la usano in modo esclusivo.

Ed25519: forma di Edwards

Ed25519 è l'algoritmo di firma basato sulla forma twisted Edwards di Curve25519. Deterministico (non è necessario un nonce casuale). A tempo costante per progettazione. Firme da 64 byte e chiavi da 32 byte. Offre la verifica più veloce tra tutti gli schemi di firma.

secp256k1: la curva di Bitcoin

secp256k1 è una curva di Koblitz: y²=x³+7 (a=0, b=7) su un primo a 256 bit. Satoshi Nakamoto l'ha scelta per Bitcoin nel 2008. È usata anche da Ethereum. Le curve di Koblitz offrono alcuni vantaggi in termini di efficienza rispetto alle curve NIST.

secp256k1 e P-256 a confronto

Entrambe sono curve a 256 bit con una sicurezza di circa 128 bit. secp256k1: a=0 consente un endomorfismo efficiente per accelerare la moltiplicazione scalare. P-256: a=-3 consente un raddoppiamento rapido. secp256k1 è più veloce per la firma; P-256 per la verifica.

Curve448

Curve448 (X448) offre una sicurezza a 224 bit, paragonabile a RSA-8192. Utilizza il primo Goldilocks 2^448-2^224-1. È adatta alle applicazioni che richiedono una sicurezza a lungo termine superiore a quella di P-256. Signal la usa come riserva insieme a X25519.

Scegliere la curva giusta

TLS/uso generico: P-256 (FIPS) o X25519 (prestazioni e affidabilità). SSH: Ed25519 (nella maggior parte dei client moderni). Bitcoin/Ethereum: secp256k1 (nessuna scelta). Sicurezza elevata (oltre 20 anni): P-384 o X448.

Verifica dei parametri della curva

Per P-256: NIST FIPS 186-5 elenca tutti i parametri insieme al seed di generazione. Per Curve25519: l'articolo di Bernstein spiega la scelta di ogni costante. La trasparenza nella selezione dei parametri è un criterio di sicurezza fondamentale.

Verifica rapida

Quale curva viene usata da Bitcoin ed è stata scelta da Satoshi Nakamoto?

Riepilogo

Abbiamo confrontato le curve standard. Nel prossimo argomento analizzeremo i compromessi tra ECC e RSA in termini di livello di sicurezza, prestazioni e dimensioni delle chiavi.

Domande Frequenti

La lezione «Curve standard: P-256, Curve25519, secp256k1» è gratuita?

Sì — il testo completo di «Curve standard: P-256, Curve25519, secp256k1» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.

Cosa imparerò in «Curve standard: P-256, Curve25519, secp256k1»?

Confronti le curve NIST, Curve25519 di Bernstein e secp256k1 di Bitcoin. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cryptology Academy?

Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Curve standard: P-256, Curve25519, secp256k1»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?

Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Legge di gruppo delle curve ellittiche
  2. Moltiplicazione scalare ed ECDLP
  3. Curve standard: P-256, Curve25519, secp256k1
  4. ECC e RSA: compromessi tra sicurezza e prestazioni
← Torna a Cryptology Academy