使用相同的密码和密钥加密的许多小文件是否构成安全漏洞?

时间:2009-08-08 06:06:21

标签: security encryption

我很好奇,如果我有很多文件,有些文件大到几k,有些文件只有2,4,8字节。会有安全漏洞吗?如果我在一张光盘上有10,000个文件,所有文件都使用相同的算法加密(假设SHA512,因为我知道存在SHA512CryptoServiceProvider),该怎么办?

这会是一个安全漏洞吗?由于这么多文件使用相同的密码和密钥?它们也很小也不好吗?这些文件可能是已知的格式,如pdf,png,doc,jpg等。这会影响任何事情,因为这些文件的前几个字节是已知的吗?

5 个答案:

答案 0 :(得分:4)

SHA512是一种哈希算法,不是密码,当然也不是密码系统。你不能用它加密(单独)。

请不要重新发明轮子;安全漏洞太容易了。有许多现有的安全文件加密程序和库可用。使用一个。

修改

如果不知道 X 是什么,

X 安全”是无法回答的。如何计划加密,直到最后的细节,是 X 的一部分。

但是,我可以给你一个可能的答案:加密很难。它似乎工作(输出看起来不可读),即使它没有(它看起来只是不可读,但实际上不是)。 制造破坏安全性的错误非常容易。 因此,最有可能的是,当您实施自己的密码系统时,它将不安全。

当你在不知道它们是什么的情况下将加密的灵长类动物拼凑在一起时,我对此非常有信心。我的意思并不是要说出来; 我也不会自己动手。

答案 1 :(得分:0)

我记得有些危险涉及大约30或40字节左右的文件。这也是早期DES仍然被认为是牢不可破的(直到CPU功率变得足够)。这种危险与完全从他们的长度完全猜测几条消息并从而提取密钥有关。

答案 2 :(得分:0)

  

我的问题是关于文件而不是如何   加密。我不明白我想   一切都有   CryptoServiceProvider最后是一个   密

像SHA这样的哈希算法不是对称密码。加密哈希函数的主要担心是有意产生冲突的人。话虽如此,我不相信你会担心人们会为你的图像产生碰撞。

答案 3 :(得分:0)

如果用良好的cipher mode(不是ECB)正确加密 - 使用随机初始化向量(IV) - 即使许多小文件使用相同的密钥,加密文件也会有很大的不同,无法进行密码分析。实际上,这就是声音加密算法的定义。

答案 4 :(得分:0)

就像每个人都说的那样,SHA不是一个密码,它是一个HASH。仅此一项就足以说明您不应该实施自己的密码。

Crypto很难,即使你是专家,我会说仍然公开,所有加密实现都有缺陷,我们认为它们在多年后是安全的,因为加密真的很难,甚至专家都会犯错误

你还说要用相同的密钥加密不同的文件吗?大多数密码加密相同大小的块,其中一些文件,如pdf,攻击者可能知道前64位。如果他知道纯文本(前64位),如果你的密码是确定性的,恢复密钥是微不足道的。

我的建议,坚持使用一个众所周知的密码,使用公共实现,如AES,并且具有良好的密码模式,因为您的第一个块可能是相同的,上面提到的ECB会产生可能不安全的东西。 CBC或CFB可能是您最好的选择。