Apakah bilangan prima Secp256k1?
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
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