使用cryptopp解密用PyCrypto加密的密文

2024-10-02 02:24:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我的服务器在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。在


Tags: 代码文本newstringcryptoaesstdx00
1条回答
网友
1楼 · 发布于 2024-10-02 02:24:35
当我读到他们的源代码时,我可以说pypyto和Cuffto++都是Python和C++的密码学的完美库。问题是,我在加密的数据前面加上了一些关于文件的元数据,但在客户端Crypto++中处理这些元数据后,我完全忘记了这一点。在

由于我没有在任何地方(甚至在Wikipedia中也没有)明确地记录这一点,我将其写在这里: Nonce、IV和Counter-like级联、xor或诸如此类的任何组合都适用于CTR模式,但大多数库实现的标准是按顺序连接这些值。因此,在分组密码算法中使用的值通常是:Nonce+IV+Counter。计数器通常从1开始(不是0)。在

相关问题 更多 >

    热门问题