我正在使用 AES Rijndael 的公共领域参考实现,通常以名称“rijndael-fst-3.0.zip”分发。我打算用它来加密网络数据,我想知道加密结果在大/小端架构上是否会有所不同?换句话说,我可以在小端机器上加密一个 16 字节的块,然后在大端机器上解密同一个块吗?当然,反过来也是如此。
如果没有,我应该如何交换字节?
在此先感谢您的帮助。
亲切的问候。
我正在使用 AES Rijndael 的公共领域参考实现,通常以名称“rijndael-fst-3.0.zip”分发。我打算用它来加密网络数据,我想知道加密结果在大/小端架构上是否会有所不同?换句话说,我可以在小端机器上加密一个 16 字节的块,然后在大端机器上解密同一个块吗?当然,反过来也是如此。
如果没有,我应该如何交换字节?
在此先感谢您的帮助。
亲切的问候。
字节顺序问题仅在将多字节结构映射到字节序列的上下文中相关,例如,将 4 字节序列映射到有符号整数值对字节顺序敏感。
AES 算法以字节为中心,对字节序问题不敏感。
Rijndael 忽略了字节顺序;它只看到你提供给它的字节串。您应该像往常一样在其外部进行字节交换(使用ntohs
或您的平台为此目的提供的任何接口)。