Punkte auf der Kurve secp256k1 bilden eine Gruppe E(Fp) über dem Feld Fp.
p = 2^256 - 2^32 - 2^9 - 2^8 - 2^7 - 2^6 - 2^4 - 1 ist eine Primzahl.
n ist die Ordnung der Gruppe E, n=115792089237316195423570985008687907852837564279074904382605163141518161494337
Ist n auch eine Primzahl?
Ist E(Fp) eine zyklische Gruppe?
Satz. Über einem endlichen Körper arbeitend, ist die Punktgruppe E(Fp) immer entweder eine zyklische Gruppe oder das Produkt zweier zyklischer Gruppen.
Der Kommentar n
„muss Primzahl sein“ ist etwas verwirrend.
Die Reihenfolge der Basispunkte „muss“ in dem Sinne prim sein, dass dies eine Anforderung in den bestimmten Dokumenten ist, die Standardkurven definieren – zum Beispiel in SECG , das secp256k1 enthält. Die Basispunktreihenfolge von Bitcoin r
ist Primzahl.
In SECG wird auch angegeben, dass der Cofaktor der secp256k1-Kurve 1 ist, was n = r × 1
wiederum prim macht. Eine Gruppe erster Ordnung ist offensichtlich zyklisch.
x=0
?xG ( x des Generatorpunkts G) ist eine sorgfältig ausgewählte 256-Bit-Zahl, die durch die Elemente 0001, 0010, 0011, 0100, 0101, 0110, 0111 (1 bis 7) teilbar ist, dh
0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798 =
55066263022277343669578718895168534326250603453777594175500187360389116729240 Mod 1, Mod 2, Mod 3 bis Mod 7 haben alle das gleiche Ergebnis = 0
Dies bedeutet, dass für die Elemente 1 bis 7, die die kleinste Untergruppe der Ordnung n bilden, keine Residuen vorhanden sind, die Informationen als Ergebnis der Operation von G unter Addition oder Multiplikation (was eine sukzessive Addition ist) seit allen Punkten auf der Kurve preisgeben könnten muss dieselbe Gleichung y^2=x^3+7 erfüllen, die zum Konstruieren der kleinsten Untergruppe verwendet wird.
Es ist mir eine Freude, meine erste Interaktion mit einer Bitcoin-Community auf Bitcoin.Stackexchange zu haben
Zauberer von Ozzie
n
muss eine Primzahl sein, so dass(Gx, Gy) * n = slope is infinity
. Hoffentlich kann jemand den anderen Teil beantworten