使用AES将16字节数据加密为单个块有多安全?没有盐/ IV,没有操作模式,数百万个不同的16字节块被加密.我对加密知之甚少,但这对我来说有点味道.
编辑:提供更多细节,这不是关于加密消息,而是数据库表列,其中纯文本长度恰好是16个字节.数据不是完全随机的(前8个字节通常是相同的),并且有一个校验和来识别成功的解密.
我将和下周提出这个问题的人一起开会,如果有问题,我会非常感谢参考材料的一些指示,我可以用它来证明设计是不安全的.我对系统并不完全熟悉,但我认为这可能需要进行重大的重新设计才能解决,因此可能存在很多阻力.所涉及的大多数人(和权力)都在业务方面,其动机是获得一个工作系统......
欧洲央行对一般用途并不安全.给定的纯文本始终加密到相同的密文,因此可以显示模式.但是,有一些特殊情况是安全的,这个应用程序可能就是其中之一.
引用应用密码学,第二版pg.190,关于分组密码的ECB模式:
从好的方面来说,使用相同的密钥加密多个消息不存在安全风险.实际上,可以将每个块视为使用相同密钥加密的单独消息.
后来(第208页),施奈尔说:
如果简单性和速度是您的主要考虑因素,那么ECB是使用分组密码的最简单,最快速的模式.它也是最弱的.除了容易受到重放攻击之外,ECB模式中的算法最容易进行密码分析.我不建议使用ECB进行邮件加密.
对于加密随机数据,例如其他密钥,ECB是一种很好的使用模式. 由于数据简短且随机,因此ECB的所有缺点都不适用于此应用.
您的案例中的公共前缀和校验位不会产生常见的密文.只有在复制整个明文块时才会发生这种情况.根据您的描述,您的应用程序可能非常适合ECB - 特别是如果每个纯文本值作为一个整体,是唯一的.