0

この質問の回答で、私は返信を見つけました: TurboPower LockBox 3: AES128 and padding ISO 10126

(2) ほとんどの連鎖モードでは、TPLB3 は自動的にソルトを追加します。これは通常は良いことですが、それが必要ない場合は、そのオプションを削除できます。

どうやってやるの?つまり、平文の長さと同じ暗号文の長さを持つ暗号化が必要です。

4

1 に答える 1

1

ECB を使用していないと仮定すると、最も簡単な方法は、暗号文の最初の 8 バイトを削除することです。最初の 8 バイト (64 ビット) はソルトナンスです。IV の下位 64 ビットでもあります。IV の上位 64 ビットはゼロです。

注意: メッセージをソルトしないことは非常に悪い習慣であり、セキュリティ上の弱点です。(詳細については、ウィキペディアを参照してください)。あなたは、平文の長さと同じ暗号文の長さを持つ暗号化が必要だと言います。これは基本的に、弱い暗号化が必要だと言っています。それはあなた次第ですが、私のアドバイスは、続行する前にあなたの要件について非常に慎重に考えることです.

別の手法として、独自のチェーン モードを作成し、それを暗号化ライブラリに登録する方法があります。たとえば、ソルトなしの CBC が必要な場合は、TCBC (ユニット TPLB3.CBC) からクラスの子孫を作成し、ChainingFeatures() 関数をオーバーライドして cfNoNounce 機能を追加します。ユニット TPLB3.BlockCipher のインライン コメントを参照してください。ただし、私の推奨は最初の方法です。

関連する質問への回答もお読みください。

また、ECB チェーン モードを使用している場合、salt がないことに注意してください。このモードには cfNoNounce 機能が自動的に含まれていました。(ECBは悪いです。テスト目的以外では使用しないでください)。

脚注:

私は TPLockBox 3 の主な作成者であり、ライブラリのバージョンを次の場所に維持しています。

SourceForge ではなく、そのバージョンを使用していると思います。2014 年 11 月 7 日にバージョン 3.6.0 をリリースする予定です。

于 2014-11-06T01:01:10.880 に答える