Java 了解AES/ECB/PKCS5P的关键优势
我试图弄清楚应用程序中使用的加密和密钥强度,我只能访问应用程序调试日志。在浏览日志时,我观察到以下项目:Java 了解AES/ECB/PKCS5P的关键优势,java,encryption,aes,bouncycastle,Java,Encryption,Aes,Bouncycastle,我试图弄清楚应用程序中使用的加密和密钥强度,我只能访问应用程序调试日志。在浏览日志时,我观察到以下项目: 提供者=BC 算法=AES/ECB/PKCS5P 我可以从以上观察得出结论,AES正在使用,但无法计算出关键强度。在这里和那里进行了几次研究之后,我得出了以下结论 AES/ECB/PKCS5P正在使用是否意味着密钥长度为128位?有人能告诉我这是否正确吗 AES/ECB/PKCS5P正在使用是否意味着密钥长度为128位?有人能告诉我这是否正确吗 不,它没有告诉你用过的钥匙。AES支持12
- 提供者=BC
- 算法=AES/ECB/PKCS5P
如果您可以访问运行它的机器,那么您可以检查是否安装了无限强度策略文件(适用于Java 7),这是256位(和192位?)所必需的。如果没有安装,则密钥很可能是128位宽。第一个列表项是provider=bc它与Java有什么关系?与Java无关。它更适合提问,因为BC代表Bouncy Castle,根据我的研究,Bouncy Castle是JAVA中使用的一组加密库,因此标记为JAVA.FYI。如果您关心实际安全性的强度,AES密钥大小是无关的;所有AES密钥大小都是安全的,但ECB在大多数应用程序中都是不安全的,而糟糕的密钥管理很容易将您的安全性降低到60位或40位,甚至根本没有。嗨,Artjob,谢谢您的回复。这真的很有帮助。我再次查看了日志,发现一行条目上写着“无限强度JCE已安装”。我可以由此得出结论,256位正在使用。不,您只能得出结论,AES-256是可能的。这并不意味着实际使用的是AES-256,这取决于代码。非常感谢@Artjom。!!