攻击在于为 2-DES 找到两个密钥。我知道明文和密文(均以十六进制表示),我必须找到密钥。密钥以字符串的位表示,并且有2 ^ 56个可能的密钥,因为密钥的长度等于56。对于每个密钥,我必须加密明文并进行配对(明文,密钥)。我应该记住密钥和明文的十六进制值。 然后,我必须使用每个可能的密钥(再次为2 ^ 56)解密密文,并查看结果之一是否与该对之一(明文,密钥)相等。 我知道我应该如何实现它,但我不知道如何存储这么大的值。
答案 0 :(得分:0)
在std :: unordered_ *之前,我使用std :: map来保存大量对象用于对象缓存,尽管有更快的随机访问容器,但它的伸缩性足以满足我们的使用。较新的unordered_map具有O(1)访问时间,因此它是一个哈希结构,应该为您提供接近最佳的访问时间。