Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 了解AES/ECB/PKCS5P的关键优势_Java_Encryption_Aes_Bouncycastle - Fatal编程技术网

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
我可以从以上观察得出结论,AES正在使用,但无法计算出关键强度。在这里和那里进行了几次研究之后,我得出了以下结论

AES/ECB/PKCS5P正在使用是否意味着密钥长度为128位?有人能告诉我这是否正确吗

AES/ECB/PKCS5P正在使用是否意味着密钥长度为128位?有人能告诉我这是否正确吗

不,它没有告诉你用过的钥匙。AES支持128、192和256位的密钥大小。我知道的所有Java JCE提供程序都会根据传入的密钥大小使用适当的算法(AES-128、AES-192或AES-256)。如果无法计算作为密钥传递到密码中的字节数组有多大,那么确定强度的可能性很小


如果您可以访问运行它的机器,那么您可以检查是否安装了无限强度策略文件(适用于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。!!