BlowsfishJ Java 実装 ( BlowfishJ Javadoc ) を dren Blowfish JavaScript 実装 ( dren Blowfish ページ) に関連付ける際に問題が発生しています。
Java 側では、IV がゼロでキーがsomekeyの Blowfish CBC を使用しています。平文はWillThisEQです。
JavaScript 側では、dren の実装も CBC とゼロ IV を使用していると思います。キーはsomekeyで、平文もWillThisEQです。
JavaScript コードは次のとおりです。
var bf = new Blowfish('some key');
var ciphertext = bf.encrypt('WillThisEQ');
var plaintext = bf.decrypt(ciphertext);
暗号文の場合、最初の 8 バイトは両方の実装で一致します ( WillThis )。ただし、後続のバイトは一致しません ( EQ000000 )。IV は最初のブロック (ブロック暗号モード Wikipedia ページ) に組み込まれます。だから、それは問題ではないと思います。
これら 2 つの実装を一致させるにはどうすればよいですか?
助けてくれてありがとう。