3

作为练习,我正在实现自己的 CBC 和 CTR 模式。(例如,对于 CBC 的第一个块,E(k, IV xor message[0])。

例如,我尝试了以下想法,我可以将其用作我的E函数(使用 BouncyCastle):

Cipher cipher = Cipher.getInstance("AES/NONE/PKCS5", "BC");

但“无”不是一个选项。

我的问题是如何为我的目的使用 Java AES 函数;我该怎么办E(k, ...)

4

1 回答 1

4

通常,要构建自己的密码,您需要访问块模式操作。如果您只能访问更高级别的功能,则应使用不指定填充的 ECB 模式加密。ECB 模式在给定密码和密钥的情况下独立转换每个块。填充应该只对块模式操作执行,即使这样也只对最后一个块执行。

如果您要在 Java 密码体系结构中使用它,您将使用"AES/ECB/NoPadding"模式。

于 2012-11-21T09:23:58.800 回答