我需要在Windows / mac上使用Java构建一个应用程序,并在IOS和Android上使用原生的单独应用程序来加密Serpent。
我使用Java上的Bouncy Castle实现了win / mac和iOS上的Crypto ++,但是我用Bouncy Castle加密的内容无法用Crypto ++或其他方式解密。
有谁知道为什么Bouncy Castle和Crypto ++没有互操作?
谢谢!
答案 0 :(得分:2)
使用BC时,您需要使用http://www.bouncycastle.org/betas处的版本。事实证明,NESSIE向量实际上定义了正确的输入/输出顺序。 AES的提交让他们逆转了。
如果有任何帮助,那么实施的AES提交现在称为Tnepres,只有符合NESSIE向量的版本才称为Serpent。 BC的1.54 beta提供了Tnepres和Serpent。不幸的是,由于BC和Serpent作者之间的误解,BC 1.53及更早版本实际上实现了Tnepres。