4

Rijndael のアルゴリズムを使用して暗号文の復号化を実装しています。残念ながら、私はデータの暗号化にアクセスできず、(キーを生成するための) パスワードとアルゴリズムの種類しか提供されていません。

私は塩を持っていません(大丈夫だと思われます)、そして私はIVを持っていません. さて、私の質問は、復号化を実行するために絶対に IV が必要かどうかです。暗号化を作成した開発者は、salt または IV を使用していなかったのではないかと思います (これが可能な場合でも)。

IV を null に設定しようとしましたが、うまくいきませんでした。Rijndael インスタンスを生成すると、デフォルトの IV が作成されます。これにより、復号化後にプレーンテキストの最初の 16 文字が歪んでいます。

IVの効果を無効にする方法はありますか?または、暗号化に使用された IV を取得する必要がありますか?

4

3 に答える 3

3

ECB モードを使用すると、IV は無視されます。ただし、CBC などの他のモードでは IV が必要です。

于 2011-09-05T13:21:46.367 に答える
3

暗号が CBC モード (デフォルト) での暗号化に使用されている場合、IV を知る必要があります。それを回避する方法はありません。

ただし、IV の目的はパスワードの目的と同じではないため、暗号化されたデータの先頭に IV が付加されている場合があります (受信者が簡単に取得して復号化に使用できるようにするため)。

于 2011-09-05T13:20:18.707 に答える
1

IV で暗号化されている場合は、正しく復号化するために IV が必要です。

最初の 16 文字についての説明から、CBC モードで作業しているように聞こえます。IV が必要な理由については、http: //en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29の図を参照してください。

于 2011-09-05T13:20:38.223 に答える