Wenn ja, wie lautet diese Zahl und warum können Sie den öffentlichen Schlüssel nicht durch G teilen, um den privaten Schlüssel zu erhalten?
Unkomprimiertes „G“ ist 0479BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8
Die "04" am Anfang wird einfach hinzugefügt (warum weiß ich nicht).
Die ersten 64 Hex-Zeichen nach dem "04" repräsentieren angeblich den "x"-Wert und die letzten 64 Hex-Zeichen repräsentieren angeblich den "y"-Wert.
Ich weiß nicht genau, warum es nicht rückgängig gemacht werden kann (ich suche auch die Antwort auf diese Frage).
Es ist kein ausreichend effizienter Algorithmus für die Division bekannt. Die Multiplikation über eine geschlossene Gruppe ist ein verlustbehafteter Prozess.
Betrachten Sie für eine unvollständige Analogie die Multiplikation über die Gruppe der 100-stelligen Zahlen, bei der Sie nur die letzten 100 Ziffern des Ergebnisses behalten. Da Sie nicht wissen, welche Ziffern verworfen wurden, können Sie eine Multiplikation nicht naiv umkehren.
Der entsprechende Algorithmus in DSA ist die modulare Potenzierung -- (G^X) mod n
, die für praktische Zwecke bei großen Zahlen auch irreversibel ist, selbst wenn G und n bekannt sind.
Beachten Sie, dass die fragliche "Multiplikation" keine gewöhnliche ganzzahlige Multiplikation ist, sondern eine elliptische Kurvenpunktmultiplikation .
Der springende Punkt bei der Bearbeitung einer elliptischen Kurve auf diese Weise ist, dass die Multiplikation einfach, aber die Division schwierig ist.
Nick Odell
Joe