01-03-2024, 07:54 AM
I generated a keystore using Thorswap, and I noticed that it uses the 'xchain-crypto' JS library to generate the keystore file. The generated keystore file looks very similar to Ethereum's keystore format(Ethereum Wallet, PBKDF2-HMAC-SHA256 15600), with the method set to 15600. However, when I try to decrypt it, I get a 'Token length exception' error. It seems that the ciphertext field's length is not fixed, while the format defined in the 'module_15600.c' file specifies ciphertext a fixed length of 64. Can anyone support this keystore format, or how can I modify it to decrypt the password?
example for thorswap wallet(password:123456):
{
"meta": "xchain-keystore",
"version": 1,
"crypto": {
"cipher": "aes-128-ctr",
"cipherparams": {
"iv": "ccc28690b3d76872f83506b141c40435"
},
"ciphertext": "b139ba191717e396796c91cd7a2160a45c02422ede724b893ee933c5bce45d82c54dfddf471894f1a3acf28d292c9e156806c0012a00e9a9e6fb78e4f9b947e4f54813627a907af0",
"kdf": "pbkdf2",
"kdfparams": {
"c": 262144,
"prf": "hmac-sha256",
"dklen": 32,
"salt": "fd0f429e497306830deca211be661ec4fab03ed5a48ff37a7733b12805f1727d"
},
"mac": "7c30a2db7828b62b29eaea9dbc845f157df4c9e3f3506ddd646a62b1a44a4b88"
}
}
same post:
https://hashcat.net/forum/archive/index....022-1.html
https://hashcat.net/forum/thread-10022.html
example for thorswap wallet(password:123456):
{
"meta": "xchain-keystore",
"version": 1,
"crypto": {
"cipher": "aes-128-ctr",
"cipherparams": {
"iv": "ccc28690b3d76872f83506b141c40435"
},
"ciphertext": "b139ba191717e396796c91cd7a2160a45c02422ede724b893ee933c5bce45d82c54dfddf471894f1a3acf28d292c9e156806c0012a00e9a9e6fb78e4f9b947e4f54813627a907af0",
"kdf": "pbkdf2",
"kdfparams": {
"c": 262144,
"prf": "hmac-sha256",
"dklen": 32,
"salt": "fd0f429e497306830deca211be661ec4fab03ed5a48ff37a7733b12805f1727d"
},
"mac": "7c30a2db7828b62b29eaea9dbc845f157df4c9e3f3506ddd646a62b1a44a4b88"
}
}
same post:
https://hashcat.net/forum/archive/index....022-1.html
https://hashcat.net/forum/thread-10022.html