Czy jest największa liczba pierwsza Secp256k1?
Protokół Bitcoin opiera się na krzywej eliptycznej secp256k1 ze względu na bezpieczeństwo kryptograficzne. W tym celu liczba całkowita$p = 2^{256}-2^{32}-977$musi być liczbą pierwszą. Skąd oni wiedzą$p$jest faktycznie liczbą pierwszą? Chodzi mi o to, który test pierwszości może to udowodnić?
Odpowiedzi
Jak wskazano w komentarzach, nie jest to duża liczba do uwzględnienia przy użyciu nowoczesnych metod.
Kalkulator online Magma http://magma.maths.usyd.edu.au/calc/ sprawdza, czy jest to liczba pierwsza, gdy zostanie poproszona o uwzględnienie tego, prawie natychmiast.
faktoryzacja czasu (2 ^ 256-2 ^ 32-977);
zwroty
[<115792089237316195423570985008687907853269984665640564039457584007908834671663, 1>] Czas: 0,070
jako faktoryzacja na potęgi liczb pierwszych; numer$2^{256}-2^{32}-977$ jest pojedynczą liczbą pierwszą do potęgi $1$. Uzyskanie tego wyniku zajmuje 0,07 sekundy.
Testowanie pierwszości jest również spójne.
czas IsPrime (2 ^ 256-2 ^ 32-977);
plony
prawdziwy czas: 0,060