Eingabeskript 1
304502206bcc247f1259262b4035bfa84f0397a69f69baa01659daaf94fe1164b650c86a022100a044b38e8264a1c928ddd28b4657aa7109d1ea30e911208c7ce57abcb1451fe601
0428f3c7982219bf067d9723a54bef8e0ae7d970b4285a148685ce98819bd59c993da6945a85ba67249e96534f3cb93af144301e3ef03f848ebf17fedd55addd14
r = 6bcc247f1259262b4035bfa84f0397a69f69baa01659daaf94fe1164b650c86a
s1 = a044b38e8264a1c928ddd28b4657aa7109d1ea30e911208c7ce57abcb1451fe6
Eingabeskript 2
304402206bcc247f1259262b4035bfa84f0397a69f69baa01659daaf94fe1164b650c86a022075e41da2596619e837af69cdf80933e519abd736210677970a6ac23a3709ee2e01
04c69b120facc137ad7ecf7407b97f3e1bcecec27ed6617ad1e3bb4f5a265c2230dab461d8de9d194b9aae05cf3fc361e31b0cd172985720a9963a1fd9cb4dab13
s2 = 75e41da2596619e837af69cdf80933e519abd736210677970a6ac23a3709ee2e
Rohübertragung 1
010000000169590a9c08ea4d2f4d1b5e3acb216b9cee78e8378a7a5b223aff7e85f70eab77000000008b48304502206bcc247f1259262b4035bfa84f0397a69f69baa01659daaf94fe1164b650c86a022100a044b38e8264a1c928ddd28b4657aa7109d1ea30e911208c7ce57abcb1451fe601410428f3c7982219bf067d9723a54bef8e0ae7d970b4285a148685ce98819bd59c993da6945a85ba67249e96534f3cb93af144301e3ef03f848ebf17fedd55addd14ffffffff0224aece00000000001976a914b4d245551501f7f443ea507494ef00b8ed739f6888ac9def0b0f000000001976a91460a1a3a20ac1023a8b6ce202190fbf75ec73a1bf88ac00000000
Berechnung von z1
Ersetzen Sie die Eingabe durch das entsprechende Ausgabeskript
010000000169590a9c08ea4d2f4d1b5e3acb216b9cee78e8378a7a5b223aff7e85f70eab77000000001976a91460a1a3a20ac1023a8b6ce202190fbf75ec73a1bf88acffffffff0224aece00000000001976a914b4d245551501f7f443ea507494ef00b8ed739f6888ac9def0b0f000000001976a91460a1a3a20ac1023a8b6ce202190fbf75ec73a1bf88ac0000000001000000
dann mach sha256(sha256(modifizierte Transaktion))
z1 = 9ffb92bc05a398e3177b12fcdac5308d316b6bd6cc00365177711dc4e3f10e64
Rohübertragung 2
0100000001cc41959d96ce6147b93fe00a8fca25ce99ec1a09dc175d27113db36f6e398d1c010000008a47304402206bcc247f1259262b4035bfa84f0397a69f69baa01659daaf94fe1164b650c86a022075e41da2596619e837af69cdf80933e519abd736210677970a6ac23a3709ee2e014104c69b120facc137ad7ecf7407b97f3e1bcecec27ed6617ad1e3bb4f5a265c2230dab461d8de9d194b9aae05cf3fc361e31b0cd172985720a9963a1fd9cb4dab13ffffffff02f4351000000000001976a91485ba872014004c8e4de29d94b4d7ad415297955f88acc0d06100000000001976a9149e26556775e88e000179ebe278a259cba1d7b43d88ac00000000
Berechnung von z2
Ersetzen Sie die Eingabe durch das entsprechende Ausgabeskript
0100000001cc41959d96ce6147b93fe00a8fca25ce99ec1a09dc175d27113db36f6e398d1c010000001976a9149e26556775e88e000179ebe278a259cba1d7b43d88acffffffff02f4351000000000001976a91485ba872014004c8e4de29d94b4d7ad415297955f88acc0d06100000000001976a9149e26556775e88e000179ebe278a259cba1d7b43d88ac0000000001000000
dann mach sha256(sha256(modifizierte Transaktion))
z2 = 539bcbcddc3fff95aa262d01b8a909504958b371b813cb71a457efebb41c398e
priv-Schlüsselberechnung, es wurde nicht die richtige Adresse angegeben und priv etwas falsch
Posting der r , s1 , s2 , z1 , z2 unten
http://2coin.org/tx.asmx?op=GetPrivateKeyFromIdenticalRs
es gab 18MRDftXYkGqzo9hvcdnUs7yaPXrD1DXsq Adresse
Aber
trans 1 Adresse = 19owWJcPbTEe1mVYer1ymnbduJDza9jpRH
trans 2 Adresse = 1FRDgmxVrUUNiiB7GN3NNcJDEEXtFB22rm
Was ist los mit dir
Die Berechnung des "k"-Werts (oben benötigt) erfordert zwei Signaturen (Sie benötigen zwei s-Werte), die zwei verschiedene Nachrichten (Sie benötigen zwei z-Werte) mit demselben privaten Schlüssel und demselben r-Wert (daher demselben k)-Wert signieren.
In Ihrer Frage verweisen Sie auf zwei Transaktionen, die mit unterschiedlichen privaten Schlüsseln signiert sind (von denen Sie wissen, dass sich ihre öffentlichen Schlüssel unterscheiden), und haben daher nicht genügend Informationen, um den k-Wert korrekt zu berechnen.
In der anderen ähnlichen Frage, die Sie kürzlich gestellt haben , wurden die beiden Transaktionen mit demselben privaten Schlüssel signiert (und sie haben dasselbe r & k), sodass es in diesem Fall möglich ist, den privaten Schlüssel zu berechnen. (Der von Ihnen verlinkte Dienst scheint es korrekt zu berechnen, zeigt jedoch nicht die unkomprimierte Adresse an.)
Beantwortung Ihrer Frage: "Was ist los"?
Für jede Transaktion können Sie eine Gleichung aufschreiben:
x*r + m = s*k
wobei x der private Schlüssel ist, r und s die Signatur. m der Nachrichten-Hash, k das Signaturgeheimnis. Alle Berechnungen sind Modul der Gruppenordnung.
Sie sehen sich zwei Transaktionen mit dem gleichen 'r' an. Sie könnten Gleichungen für diese beiden wie folgt schreiben:
x1*R + M1 = S1*k
x2*R + M2 = S2*k
Hier verwende ich GROSSBUCHSTABEN, um die bekannten Werte anzugeben, und Kleinbuchstaben, um die Unbekannten anzugeben.
Das Problem ist, dass Sie am Ende zwei Gleichungen mit drei Unbekannten haben. Dies kann an dieser Stelle nicht gelöst werden.
Es gibt jedoch eine Lösung für diesen speziellen Fall:
Hier habe ich ein Diagramm erstellt, in dem jeder Knoten die ersten 8 Ziffern des r-Werts und der x-Koordinate des Pubkeys enthält.
Der rote Knoten zeigt den r-Wert an, an dem Sie interessiert sind. Quadratische Kästchen zeigen einen öffentlichen Schlüssel an, runde/ovale Knoten sind die r-Werte. Die Pfeile zeigen eine Signatur an, die diesen Pubkey verwendet.
Sie können sehen, dass die grünen Pfeile im Diagramm eine Schleife bilden.
Diese bilden die folgenden vier Transaktionen:
t1: r1, pub1
t2: r1, pub2
t3: r2, pub2
t4: r2, pub1
daraus können Sie vier Gleichungen in vier Unbekannten ableiten, die Sie lösen können:
x1*R1+M1=S1*k1
x2*R1+M2=S2*k1
x2*R2+M3=S3*k2
x1*R2+M4=S4*k2
Von dort aus können Sie dann allen Ketten folgen und alle anderen Schlüssel finden.
Beachten Sie, dass dies nur ein kleiner Teil dieses Netzwerks ist, insgesamt gibt es 1814 verwandte Transaktionen.
Eine Randnotiz, dass der 2coin.org-Link nicht mehr funktioniert, aber Sie können die gleichen Berechnungen auf dieser Seite (von mir) durchführen: https://rawcdn.githack.com/nlitsme/bitcoinexplainer/aa50e86e8c72c04a7986f5f7c43bc2f98df94107/ecdsacrack.html
Ich habe wie folgt gefunden:
p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
r = 0x6bcc247f1259262b4035bfa84f0397a69f69baa01659daaf94fe1164b650c86a
s1 = 0xa044b38e8264a1c928ddd28b4657aa7109d1ea30e911208c7ce57abcb1451fe6
s2 = 0x75e41da2596619e837af69cdf80933e519abd736210677970a6ac23a3709ee2e
z1 = 0x9ffb92bc05a398e3177b12fcdac5308d316b6bd6cc00365177711dc4e3f10e64 z2
= 0x539bcbcddc3fff95aa262d01b8a909504958b371b813cb71a457efebb41c398e
K = GF(p)
K((z1 s2 - z2 s1)/(r*(s1-s2)))
Ergebnis dez.: 8921113496817264148701652880922087877926656286340189747525982520215619494205
Ergebnis hex: 13b92bda88a3f2dbac6032865bf56eed68eea22d4461c77404ad79c49697e13d
Christopher Gurnee