Al seguir Recuperación de claves privadas de Bitcoin usando firmas débiles de la cadena de bloques , puedo hacer otros cálculos, pero no tengo idea de cómo calcular Z1
o Z2
. Había un código público disponible por Sean Bradley :
http://2coin.org/tx.asmx?op=GetTXExtended
Pero parece que ahora no funciona. Hay algun otro codigo publico para calcular Z1
y Z2
en algun idioma. Puedo convertirlo al idioma de mi preferencia. Cualquier ayuda es apreciada.
Según la publicación de Nils, los z
valores son los valores hash que se firman en la fórmula ECDSA. Los antecedentes sobre qué datos van en estos hashes se pueden encontrar en la página wiki de OP_CHECKSIG y en el excelente PDF de referencia para desarrolladores de Krzysztof Okupski .
El código de Bitcoin Core para generar los hashes está aquí . Cualquier otra aplicación de Bitcoin que firme transacciones (o verifique firmas) debe tener una función compatible (al menos para el SIGHASH_ALL predeterminado), por lo que debería poder encontrar una implementación en prácticamente cualquier lenguaje de programación popular.
pegue su transacción en esta página https://2xoin.com/getRSZfromRawTX/
le dará todos los R, S y Z si pudo decodificar el TX.
por ejemplo,0100000002f64c603e2f9f4daf70c2f4252b2dcdb07cc0192b7238bc9c3dacbae555baf701010000008a4730440220d47ce4c025c35ec440bc81d99834a624875161a26bf56ef7fdc0f5d52f843ad1022044e1ff2dfd8102cf7a47c21d5c9fd5701610d04953c6836596b4fe9dd2f53e3e014104dbd0c61532279cf72981c3584fc32216e0127699635c2789f549e0730c059b81ae133016a69c21e23f1859a95f06d52b7bf149a8f2fe4e8535c8a829b449c5ffffffffff29f841db2ba0cafa3a2a893cd1d8c3e962e8678fc61ebe89f415a46bc8d9854a010000008a4730440220d47ce4c025c35ec440bc81d99834a624875161a26bf56ef7fdc0f5d52f843ad102209a5f1c75e461d7ceb1cf3cab9013eb2dc85b6d0da8c3c6e27e3a5a5b3faa5bab014104dbd0c61532279cf72981c3584fc32216e0127699635c2789f549e0730c059b81ae133016a69c21e23f1859a95f06d52b7bf149a8f2fe4e8535c8a829b449c5ffffffffff01a0860100000000001976a91470792fb74a5df745bac07df6fe020f871cbb293b88ac00000000
dará salida
[
{
"sigR": "d47ce4c025c35ec440bc81d99834a624875161a26bf56ef7fdc0f5d52f843ad1",
"sigS": "44e1ff2dfd8102cf7a47c21d5c9fd5701610d04953c6836596b4fe9dd2f53e3e",
"sigZ": "c0e2d0a89a348de88fda08211c70d1d7e52ccef2eb9459911bf977d587784c6e",
"pubKey": "04dbd0c61532279cf72981c3584fc32216e0127699635c2789f549e0730c059b81ae133016a69c21e23f1859a95f06d52b7bf149a8f2fe4e8535c8a829b449c5ff",
"N": 0
},
{
"sigR": "d47ce4c025c35ec440bc81d99834a624875161a26bf56ef7fdc0f5d52f843ad1",
"sigS": "9a5f1c75e461d7ceb1cf3cab9013eb2dc85b6d0da8c3c6e27e3a5a5b3faa5bab",
"sigZ": "17b0f41c8c337ac1e18c98759e83a8cccbc368dd9d89e5f03cb633c265fd0ddc",
"pubKey": "04dbd0c61532279cf72981c3584fc32216e0127699635c2789f549e0730c059b81ae133016a69c21e23f1859a95f06d52b7bf149a8f2fe4e8535c8a829b449c5ff",
"N": 1
}
]
`
David A. Harding
usuario1111111111111
David A. Harding
k
. Si realmente quiere replicarlo, le resultará mucho más sencillo deshacerse del equipaje de Bitcoin y hacer los cálculos para sus propios datos arbitrarios. Incluso Wikipedia tiene instrucciones para hacer esto .