Apakah bilangan prima Secp256k1?

Dec 02 2020

Protokol Bitcoin mengandalkan kurva eliptik secp256k1 untuk keamanan kriptografinya. Untuk tujuan itu bilangan bulat$p = 2^{256}-2^{32}-977$harus prima. Bagaimana mereka tahu$p$sebenarnya bilangan prima? Maksudku, uji primalitas mana yang bisa digunakan untuk membuktikannya?

Jawaban

3 kodlu Dec 02 2020 at 10:52

Seperti yang ditunjukkan di komentar, ini bukanlah angka yang besar untuk difaktorkan dengan metode modern.

Kalkulator online Magma http://magma.maths.usyd.edu.au/calc/ memverifikasi bahwa itu adalah bilangan prima, ketika diminta untuk memfaktorkannya, hampir seketika.

Faktorisasi waktu (2 ^ 256-2 ^ 32-977);

kembali

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

sebagai faktorisasi menjadi kekuatan bilangan prima; nomor$2^{256}-2^{32}-977$ adalah satu prima untuk kekuasaan $1$. Dibutuhkan 0,07 detik untuk mendapatkan hasil ini.

Pengujian primality juga konsisten.

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

hasil

Waktu sebenarnya: 0,060