使用与密钥相同的字符串加密字符串是否安全?

web*_*ter 9 encryption

在CBC模式下使用AES加密给定密钥并使用IV(当然)是否有任何安全方面的缺点?

原则得到尊重:密钥是秘密的,IV是公开的(因为这不会影响加密的安全性).

但是,潜在的攻击者会知道(因为他可以访问源代码),该字符串是使用自身作为密钥加密的.

我的判断没有看到任何问题,但我正在努力确保.

谢谢.

编辑 - 任务的细节,我希望我能够清楚地传递它们,对我自己来说还不是很清楚:

  1. 我的系统使用加密来在MySQL表中存储某些值.加密是在PHP代码(而不是MySQL内置AES)上执行的.显然,我需要一个密钥,需要在系统设置时由系统管理员设置,只需ONCE.这很关键,因为在保存任何加密数据之后更改密钥将使该数据不可解密.

  2. 管理员只需通过FTP(或其他)编辑PHP脚本文件即可设置密钥.但这不是我想要的.

  3. 我想要的是拥有一个安装脚本,在此期间管理员选择密钥,该秘密密钥自身加密并存储到表中.当然,下面提到的一个有效点是,你需要密钥来解密密钥...我的理由并没有得到很多,我正处于调查是否加密密钥的阶段关键还是一件安全的事情.

如果您对上述内容有任何想法,我们将不胜感激.

谢谢.

Pis*_*3.0 12

问题是,重点是什么?如果要解密字符串,则必须已知该字符串; 如果你不知道它,你就不应该解密它.这可能是毫无意义的恕我直言.

  • 它为您提供的唯一功能是能够确认给定字符串实际上是密码.(您可以使用自身对其进行加密,并查看字符串是否匹配,或者解密存储的字符串并查看字符串是否匹配.)有一些已知的安全方法可以获得此功能 - 为什么要冒险创建可能存在细微弱点的方法. (2认同)

Jam*_*olk 5

用自身加密密钥基本上是一种ad-hoc哈希函数.所以你可以用一个真正的.