为什么 DES 只能与 56 位密钥一起使用?如果我们使用更长的密钥会发生什么?另外,为什么明文的长度必须是 64 位?
问问题
3275 次
1 回答
2
当时的美国法规要求使用 56 位以上密钥的用户提交“密钥恢复”以启用执法后门访问。
因此,作为标准,DES 被指定为 56 位的最大允许密钥长度。如果您使用更长的密钥,您将无法与其他 DES 系统兼容。
见:http ://en.wikipedia.org/wiki/56-bit_encryption
如果您正在实施一个系统并且可以选择加密,那么绝对推荐使用更现代和更强大的密码。当前的标准是 AES(高级加密系统),它广泛可用、功能强大并且允许 128 到 256 位的密钥大小。
对于桌面或服务器应用程序,AES-256 将是一个不错的默认选择。
请参阅:http ://en.wikipedia.org/wiki/Advanced_Encryption_Standard
加密数据时,通常必须将明文“填充”到最小大小。密码依赖于多个位之间的混杂和交互,以保持明文的机密性并避免潜在地泄露密钥。对于没有填充的简短明文,混杂和交互作为一个因素被删除,数学复杂性大大下降。
仅加密单个字符而不进行填充,例如“y”或“n”响应,例如可以将 2^256 键空间减少到可能的 2^24。分分钟就能破解。这将使攻击者能够猜测密钥的大部分,快速破解它,然后(最糟糕的是)——解密通道上的所有其他流量。
于 2013-10-06T22:46:47.563 回答