详情如下:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011E898EF8E91F8C9B201E6E29DF87EE15214B8D1412766A8520BACE4598F8AFAEE7E687A49015FA6F1B914635325A6361B8AD191394EF79CEC4B5A256313632CD48BB4D49F3FA7A917CDF02ECCAA8C4765ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890⌴‛~@#$%^&*(){}[]+=-_<>,.?/!:\;’|"我的想法是,不知何故,您需要用已知的32位密钥对每个密文块进行解密,然后开始工作。问题是第一个密文块有一个无与伦比的密钥(XXX .)
因此,除前32位外,您将得到所有已知字符的纯文本。
发布于 2022-02-24 23:10:36
可以实现32位密钥空间的搜索吗?
在我的机器上,使用AES-NI的OpenSSL可以在CBC模式下每3秒对64字节块进行61510120次迭代.
运行openssl speed -evp AES128查看您的机器。
这使得2^{26}密钥空间保持了3秒。一个人需要2^{6} =64*3秒才能找到编码良好的关键候选人。
为你的事业创造三个功能;
0,则返回1现在有了这3种功能;
current = -1
while current < 2^32 do:
k = GetNextCandidateKey(current)
P = AES-Dec-CBC(k, IV, C)
b = CheckTheMessage(P)
if b == 1
print(current)
current++发布于 2022-02-24 19:52:10
是否有可能找到一个AES密钥给定的部分密钥,密文,初始化向量和加密方式?
有时候这是可能的。有时这是不可能的。这取决于你已经知道了多少钥匙。
在你的例子中,你似乎只知道33位的密钥。所以,你应该能用暴力强迫它找出剩下的钥匙。
https://crypto.stackexchange.com/questions/98821
复制相似问题