如何在 Java 中编程 AES-40 加密?

How do I program AES-40 Encryption in Java?

对于我的 Science Fair 项目,我将研究 AES 加密并分析 AES 加密的不同大小密钥的结果。例如,我想研究 40 位大小的密钥并观察破解它们需要多长时间。我知道 AES-128 是如何工作的(16 字节密钥,创建一个位矩阵并相应地移动它们),但是,我想知道我如何能够使用 40 位而不是 128 位来编码 AES?

注意:这仅用于教育目的,(实际上不会用于保护任何东西),语言最好是 Java,但也欢迎使用其他语言。

好吧 AES 仅针对密钥大小 128、192 和 256 定义。因此 AES-40 不是问题。

现在我想您可以通过采用一种公认的 AES 变体并传递带零的 40 位密钥来将密钥大小限制为 40 位。但不要称此为 AES,因为它不是真正的 AES。

维基百科对 AES 算法进行了高级描述,并提供了指向其他资源的链接。

有一个用于教育目的的 S-AES 或简单 AES 的定义,但它的密钥和块大小为 16 位,并且使用半字节作为单词。

您可以找到一个参考,例如here。编程愉快。