Il primo primo di Secp256k1?

Dec 02 2020

Il protocollo Bitcoin si basa sulla curva ellittica secp256k1 per la sua sicurezza crittografica. A tale scopo il numero intero$p = 2^{256}-2^{32}-977$deve essere primo. Come lo sanno$p$è effettivamente primo? Voglio dire, quale test di primalità può essere usato per dimostrarlo?

Risposte

3 kodlu Dec 02 2020 at 10:52

Come sottolineato nei commenti, questo non è un gran numero da fattorizzare con metodi moderni.

Il calcolatore online Magma http://magma.maths.usyd.edu.au/calc/ verifica che sia primo, quando gli viene chiesto di fattorizzarlo, quasi istantaneamente.

fattorizzazione temporale (2 ^ 256-2 ^ 32-977);

ritorna

[<115792089237316195423570985008687907853269984665640564039457584007908834671663, 1>] Ora: 0,070

come fattorizzazione in potenze di numeri primi; il numero$2^{256}-2^{32}-977$ è un unico numero primo al potere $1$. Sono necessari 0,07 secondi per ottenere questo risultato.

Anche il test di primalità è coerente.

ora IsPrime (2 ^ 256-2 ^ 32-977);

rendimenti

Tempo vero: 0,060