Ist Secp256k1 Prime Prime?

Dec 02 2020

Das Bitcoin-Protokoll basiert für seine kryptografische Sicherheit auf der elliptischen Kurve secp256k1 . Zu diesem Zweck die Ganzzahl$p = 2^{256}-2^{32}-977$muss prim sein. Woher wissen sie das?$p$ist eigentlich Prime? Ich meine, welcher Primalitätstest kann verwendet werden, um dies zu beweisen?

Antworten

3 kodlu Dec 02 2020 at 10:52

Wie in den Kommentaren ausgeführt, ist dies keine große Zahl, die mit modernen Methoden berücksichtigt werden muss.

Der Magma Online-Rechner http://magma.maths.usyd.edu.au/calc/ überprüft, ob es sich um eine Primzahl handelt, wenn Sie aufgefordert werden, sie zu berücksichtigen, fast sofort.

Zeitfaktorisierung (2 ^ 256-2 ^ 32-977);

kehrt zurück

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

als Faktorisierung in Potenzen von Primzahlen; die Nummer$2^{256}-2^{32}-977$ ist eine einzelne Primzahl für die Macht $1$. Es dauert 0,07 Sekunden, um dieses Ergebnis zu erhalten.

Primalitätstests sind ebenfalls konsistent.

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

ergibt

wahre Zeit: 0,060