Sha-3

如何使用 Botan 驗證 web3 錢包/密碼?

  • September 19, 2021

這裡的規範似乎很清楚,但不幸的是我仍然做錯了什麼……

我有這個(單個小 c++ 文件)儲存庫,它非常直接地遵循密碼/錢包驗證過程。但是,我的加密操作的結果與錢包的密鑰不匹配mac(密碼正確的信號)。

我已經驗證thisisatestwallet.json(包含在儲存庫中)確實使用密碼打開thisisatestwallet,並且規範看起來很簡單,我沒有太多空間可以搞砸。但是…

如果有人能看一眼並告訴我我做錯了什麼,我將不勝感激!

我目前得到的輸出如下:

pkey:           2F299FEF2CA3390C63DABA7A13BA4CE9D60B7FC1E58DAFD5E1089D32CFD7219C
ciphertext:                                                                     C6D18F78AF6E5E7CEA4AB804D8B9A5F974CCF92EA2537416B90ABEBD77C6B580
cipher input:                                   D60B7FC1E58DAFD5E1089D32CFD7219CC6D18F78AF6E5E7CEA4AB804D8B9A5F974CCF92EA2537416B90ABEBD77C6B580
keccak out:     7D31B612939A26418CAB1DF332D27B711CAACAA7A119013A01E1DB75DE508DAA
mac:            89655FD4BB9CCF9DE0D8F1A78025A8616C9416EC700CFAAFEF17E76C7C47338E

啊,誤解是規範說SHA-3 (Keccak-256),我以為是SHA-3-256,但實際上是Keccak-1600(256),這是SHA-3標準的一部分。固定的。

引用自:https://crypto.stackexchange.com/questions/83522