0

我想知道以加密形式存储的数据是通过块密码还是流密码加密的?

我有加密数据,如何检查它来自块密码还是流密码?

4

1 回答 1

1

仅使用加密数据,无法确定,但一个很好的指标是检查数据长度。

所有常见的现代分组密码(AES、Blowfish、DES、Serpent、Twofish)的分组大小为 64 位或 128 位(分别为 8 和 16 字节)。因此,如果以字节为单位的加密数据长度是 8 的倍数,则它很可能是分组密码(您有八分之一的错误概率)。如果它不是 8 的倍数,则可以确定它不是常见块模式下的块密码(最多是尝试模拟流密码的块密码,例如在 CFB 模式下)。

不要忘记排除任何潜在的文件/流标头、IV 等。当然,如果您确实有标头,您可能需要先检查那里以检测它使用的密码...

于 2014-11-18T13:29:40.623 回答