与非标准密钥长度的 Chilkat AES 加密兼容性

Chilkat AES Encryption compatibility with non standard key length

最近我继承了一个遗留源代码,以前的开发人员使用带有 20 字节密钥的 128 位 AES 加密。

我们在其他平台找不到对应的部分实现(我们无法使用其他平台的AES库解密加密字符串),是否可以公开20字节密钥如何转换为16字节的内部逻辑钥匙?

系统已经部署了一段时间,更新所有用户的本地密钥非常麻烦。

AES 仅支持 128、192 和 256 位密钥。两种最有可能的情况是

  1. 对 160 位进行切片,以便只有前 128 位用于密钥或
  2. 用零字节 ([=10=]) 填充 160 位以获得 192 位或 256 位密钥。

获胜者是:用 4 个零字节 ([=10=]) 填充 20 字节密钥以获得与其他 AES 实现兼容的正确密钥。