2

我存储了一些敏感数据。数据被分成几部分,我希望每个部分都有单独的访问权限。假设我有 1000 个文件。我想用相同的对称加密算法加密每个文件。我想当黑客获得 1000 个密码时破解密钥比他只有一个密码更容易,所以我认为我应该为每个文件使用单独的密钥。我的问题如下:

我应该为每个文件使用单独的密钥吗?

如果我应该,存储 1000 个密钥会有问题。所以我想拥有一个密钥并使用我自己的算法从密钥中为每个文件计算单独的密钥。这是个好主意吗?

4

1 回答 1

3

如果您考虑被动对手并使用 CPA 强密码(如 AES),则对所有文件仅使用一个密钥就足够了。假设对手知道你使用的密码,甚至知道明文,他就无法以不可忽略的概率重构密钥。是更详细的答案。

如果您还考虑活跃的对手(可以替换密文),您应该使用 Authenticated Encryption。但据我了解,这不是你的情况。

所以我想拥有一个密钥并使用我自己的算法从密钥中为每个文件计算单独的密钥。这是个好主意吗?

一般来说,开发自己的算法或方案是个坏主意。您很容易在算法或实现中犯一些看不见的错误,您的数据将很容易受到攻击。最好使用经过很多人同行评审并被证明是安全的知名算法和实现。

于 2013-03-04T15:04:57.260 回答