Bei Verwendung der Funktion „Nachrichtensignierung“ in Bitcoin und Dash ist es statisch mit derselben Nachricht. Das Signieren derselben Nachricht mit demselben privaten Schlüssel führt immer zu derselben Signatur.
Dieses Verhalten ist in Peercoin oder in der alten Brieftasche von Bitcoin nicht dasselbe. In diesen Wallets ändert sich die Signatur auch wenn beide Nachrichten gleich sind, für mich hat es etwas "Nonce" drin.
Nachricht:xxx
Adresse:18ZbyqYYwgEmn5hVMtJpihPeYxsUpCLhr7
Bitcoin 0.8.5 Beta:
INbwudFmql3iOH6c1UWylOpgLu5zrrqGrcFCanirz+Zb/nmJkcDXSkug5J0s3Yawb1/GzZKqXVjRHRNVSenRdMI=
II7W5su7EBQ4u1ppSKMVcmy8etnJsSOsvQHZ3j+moJs2P/vjwpqMlZkvOQ+W5odCdmwOz/5wK2T0RDV6aiqaEQs=
H7XNf5of1kmpwvcvLqVKIYc3TY5eN3kIrZWJPlDYhKVZekZ7Xk2qnJWjNDdsODkYtLEYn5p6fJfIC9LR+/rQky0=
Bitcoin 0.14.2:
IBl6SRpJwzGjXTDbO/IuUcHzlbxqbzN+MmeGRLRIAcPjKpQ9XgQG+gBOzo5PcgtBbtDqXhJIKnbUH9vEcQ5CNlM=
IBl6SRpJwzGjXTDbO/IuUcHzlbxqbzN+MmeGRLRIAcPjKpQ9XgQG+gBOzo5PcgtBbtDqXhJIKnbUH9vEcQ5CNlM=
IBl6SRpJwzGjXTDbO/IuUcHzlbxqbzN+MmeGRLRIAcPjKpQ9XgQG+gBOzo5PcgtBbtDqXhJIKnbUH9vEcQ5CNlM=
Im alten Bitcoin-qt erzeugt die gleiche Nachricht mit dem gleichen privaten Schlüssel unterschiedliche Signaturen. Aber im neuen Bitcoin-qt ergibt sich die gleiche Signatur.
Was ist der Unterschied zwischen dieser Signaturmethode? Haben Sie eine Alternative, um im zweiten Fall weiterhin die PK von einer Signatur zu erhalten? Haben Sie den Namen dieser spezifischen Änderung?
Sie sehen die Auswirkung von RFC6979.
Beim Generieren einer Signatur ist eine gewisse Zufälligkeit erforderlich (als Nonce bezeichnet), da es mehrere gültige Signaturen für dasselbe Nachrichten-/Schlüsselpaar gibt. Der verwendete Algorithmus ECDSA ist außerordentlich anfällig für schwache Zufälligkeit. Ein Angreifer, der nur wenige Informationen über Ihre Nonces kennt, kann Ihren privaten Schlüssel erfahren, nachdem er viele Signaturen beobachtet hat.
Jemand hat jedoch herausgefunden, dass es nicht wirklich zufällig sein muss. Voraussetzung ist lediglich, dass es für den Angreifer unvorhersehbar ist. Als Ergebnis wurde ein Standard geschaffen, der vorschlug, grundsätzlich den Hash Ihres privaten Schlüssels und die Nachricht als Ihre Nonce zu verwenden. Dieser Standard heißt RFC6979 und Bitcoin Core hat ihn in Version 0.10.0 verwendet. Klone, die vor dieser Version abgespalten wurden, verwenden sie normalerweise nicht.
Ich habe keine Ahnung, warum die Pubkey-Wiederherstellung ohne deterministische Signaturen nicht funktioniert. Ich denke, es sollte gut funktionieren.
Ayush
Pieter Wuille
Ayush
Pieter Wuille
Pieter Wuille
Ayush
Pieter Wuille