AES-128 在这个密码示例中使用了什么填充方法?
AES-128 What padding method is used in this cipher example?
我刚刚使用以下消息和密钥实现了 AES-128 加密算法。
Message: "Two One Nine Two" (128 bits)
Key: "Thats my Kung Fu" (128 bits)
密码输出为:
29c3505f571420f6402299b31a02d73a
当我与在线生成器进行交叉检查时,这是正确的。
然而,在线生成器输出通常更长:
29c3505f571420f6402299b31a02d73ab3e46f11ba8d2b97c18769449a89e868
我尝试了几种填充方法(bit、zerolength、cms、null、space),但似乎没有任何方法能准确地生成 crypt 文本的 b3e46f11ba8d2b97c18769449a89e868 部分。
谁能帮忙解释一下用什么填充方法(二进制)来生成这些数字,好吗?
谢谢@Topaco,填充确实是 PKCS7。在这种情况下,由于输入恰好是 128 位,因此必须附加一个额外的 128 位填充块,由 16 个字节组成,每个字节的值为 16:
00010000 000010000 00010000 00010000 00010000.... (x16)
这给出了正确的密文
b3e46f11ba8d2b97c18769449a89e868
此示例中的键。
我刚刚使用以下消息和密钥实现了 AES-128 加密算法。
Message: "Two One Nine Two" (128 bits)
Key: "Thats my Kung Fu" (128 bits)
密码输出为:
29c3505f571420f6402299b31a02d73a
当我与在线生成器进行交叉检查时,这是正确的。
然而,在线生成器输出通常更长:
29c3505f571420f6402299b31a02d73ab3e46f11ba8d2b97c18769449a89e868
我尝试了几种填充方法(bit、zerolength、cms、null、space),但似乎没有任何方法能准确地生成 crypt 文本的 b3e46f11ba8d2b97c18769449a89e868 部分。
谁能帮忙解释一下用什么填充方法(二进制)来生成这些数字,好吗?
谢谢@Topaco,填充确实是 PKCS7。在这种情况下,由于输入恰好是 128 位,因此必须附加一个额外的 128 位填充块,由 16 个字节组成,每个字节的值为 16:
00010000 000010000 00010000 00010000 00010000.... (x16)
这给出了正确的密文
b3e46f11ba8d2b97c18769449a89e868
此示例中的键。