我的服务器在CTR模式下使用带AES的pycrypto加密文件。我的柜台是这样一个简单的柜台:
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03
我想在我的客户机上用c++的cryptopp库解密密码文本。我该怎么做?在
Python代码:
^{pr2}$C++代码:
byte ctr[] = "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01"
mDecryptor = new CryptoPP::CTR_Mode<CryptoPP::AES>::Decryption(key, 32, ctr);
std::string plain;
CryptoPP::StringSource(std::string(data, len), true, new CryptoPP::StreamTransformationFilter(*mDecryptor, new CryptoPP::StringSink(plain)));
{cd1}之后正在运行垃圾。在
更新:
你可以尝试用crypto++解密加密数据,这样即使你不懂python,你也能帮助我,而且你只是对crypto++有经验:
尝试解密此base64编码的文本:
2t0lLuSBY7NkfK5I4kML0qjcZl3xHcEQBPbDo4TbvQaXuUT8W7lNbRCl8hfSGJA00wgUXhAjQApcuTCZckb9e6EVOwsa+eLY78jo2CqYWzhGez9zn0D2LMKNmZQi88WuTFVw9r1GSKIHstoDWvn54zISmr/1JgjC++mv2yRvatcvs8GhcsZVZT8dueaNK6tXLd1fQumhXCjpMyFjOlPWVTBPjlnsC5Uh98V/YiIa898SF4dwfjtDrG/fQZYmWUzJ8k2AslYLKGs=
使用此键:
12341234123412341234123412341234
使用crypto++在本文开头描述了计数器函数。如果您成功地发布了解密文本(只包含数字)和您的解决方案。在
更新2: 我没有在python代码中提供IV,python模块忽略了IV.I导致问题的原因是IV。在
由于我没有在任何地方(甚至在Wikipedia中也没有)明确地记录这一点,我将其写在这里: Nonce、IV和Counter-like级联、xor或诸如此类的任何组合都适用于CTR模式,但大多数库实现的标准是按顺序连接这些值。因此,在分组密码算法中使用的值通常是:Nonce+IV+Counter。计数器通常从1开始(不是0)。在
相关问题 更多 >
编程相关推荐