AES / GCM的填充模式是什么?我知道它可以是NoPadding,因为在ECB模式下它可以是PKCS5Padding,在GCM模式下怎么样?在JCE界面中,我们需要提供"算法/模式/填充" (Reference)。
所以我使用以下代码来获取实例,它在JDK中工作,但在IBM SDK中失败了
无法找到支持AES / GCM / PKCS5Padding的提供商
Cipher.getInstance("AES/GCM/PKCS5Padding");
填充的真实用例是什么?
答案 0 :(得分:11)
GCM是一种流模式,这意味着密文只与明文(不包括身份验证标记)一样长。 GCM不需要填充。这意味着PKCS5Padding版本实际上只是NoPadding的同义词,以方便编程。有些提供商没有这种奇怪的模式。
明文填充有意义的情况。例如,您可以通过附加随机长度PKCS5Padding来隐藏实际明文的长度。