PKCS5Padding可以处于AES/GCM模式吗?

C.c*_*C.c 6 java algorithm aes padding aes-gcm

AES/GCM的填充模式是什么?我知道它可以是NoPadding,因为在ECB模式下它可以是PKCS5Padding,在GCM模式下怎么样?在JCE接口中,我们需要提供"algorithm/mode/padding"(参考).

所以我使用以下代码来获取实例,它在JDK中工作但在IBM SDK中失败了

找不到支持AES/GCM/PKCS5Padding的提供商

 Cipher.getInstance("AES/GCM/PKCS5Padding");
Run Code Online (Sandbox Code Playgroud)

填充的真实用例是什么?

Art*_* B. 11

GCM是一种流模式,这意味着密文只与明文一样长(不包括认证标签).GCM不需要填充.这意味着PKCS5Padding版本实际上只是NoPadding的同义词,以方便编程.有些提供商没有这种奇怪的模式.

填充明文是有意义的情况.例如,您可以通过附加随机长度PKCS5Padding来隐藏实际明文的长度.