1

BlowFish暗号化に関していくつか問題があります。weblogicの下にデプロイされたJavaでポートレットを開発しています。インターネットUSBデバイスからBlowFish-nCFBモードで暗号化された文字列を受け取り、そこから元の文字列を取得する必要があります。ブローフィッシュ復号化を実装しましたが、nCFBモードを使用して復号化する方法がわかりません。インターネット上のドキュメントはほとんどありませんが、http: //www.tools4noobs.com/online_tools/decrypt/でそれを実行するツールを見つけることができました。

入力文字列とパスワードを指定すると、結果が取得されます。しかし、Javaではできません

Cipher cipher = Cipher.getInstance("Blowfish/NCFB/NoPadding");

NCFBが認識されないため。私は自分の実装を

Cipher cipher = Cipher.getInstance("Blowfish/CFB/NoPadding");

ただし、デコードするのは最初の3文字だけです。CFBの代わりにNCFBモードを使用して復号化するにはどうすればよいですか?

http://mcrypt.hellug.gr/lib/mcrypt.3.htmlでnCFBについて少し見つけることができましたが、それはmcryptphpライブラリに属しています。

これを実行できるJavaAPIはありますか?または、CFBモードをNCFBとして機能させるにはどうすればよいですか?

よろしくお願いします

4

1 に答える 1

2

CFB(Cypher Feed Back)モードは、復号化時に暗号文の一部またはすべてをフィードバックします。nCFBの「n」は、フィードバックする量を示します。デフォルトはブロック全体です。ドキュメントを読んで、暗号化に使用されているnの値と、そのパラメーターを復号化アルゴリズムに追加する方法を確認する必要があります。最初の3文字が正しく復号化されていることを考えると、nが24ビットである可能性がありますが、それはわかりません。

通常、CTRモードはCFBよりも問題が少ないです。

于 2012-10-12T15:42:39.823 に答える