Czy jest największa liczba pierwsza Secp256k1?

Dec 02 2020

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

3 kodlu Dec 02 2020 at 10:52

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