Il primo primo di Secp256k1?
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
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