問題タブ [initialization-vector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1521 参照

php - IVなしのphp mcrypt暗号化

暗号化メカニズムを使用する必要があります。利用可能であり、その例として、mcrypt を選択しました。しかし、生成時間が長すぎることがわかります。与えられた例のように IV を使用すると、削除するとすぐに暗号化された値が生成されるのに時間がかかりました。

では、IV を使用しない暗号化に大きなセキュリティ上の問題があるとしたら?

0 投票する
0 に答える
602 参照

encryption - AES CBC - メッセージの入出力と IV があり、キーを見つける必要がある

初期化ベクトルと入力テキストを指定しました。また、エンコードされたテキストがあります。

私の仕事は出力テキストを変更することなので、今私の問題は、どうすればキーを見つけることができるかということです。(これは宿題であり、私の教授は、家に帰る途中の電車の中で 30 分でできると言っていました... しかし、私にはまったくわかりませんし、AES と CBC がどのように機能するかを知っているだけですが、どのように始めなければならないかは絶対にわかりませんこの仕事。

タスク: 最初の 16 バイトは初期化ベクトルで、次の 16 バイトは私の暗号文です。そして、「カールに5ドルを送ってください」というテキストがあります。ここで、最初にキーが必要だと思います。なぜなら、私のタスクは、「カールに 5 ドルを送る」というメッセージを「ボブに 50 ドルを送る」に変更することだからです。

0 投票する
1 に答える
1171 参照

javascript - CryptoJS で暗号化し、php で復号化: IV の用途は何ですか?

CryptoJS でパスワードを暗号化し、php で復号化する方法を探しています。同じ主題に関する他の投稿を見てきましたが、そのすべての IV と重要なことを説明してくれる人が必要です。

私のCryptoJS暗号化コード:

0 投票する
1 に答える
234 参照

c# - AESCrypt はファイル形式 2 の初期化ベクトル (IV) をどのように処理しますか?

AESCrypt はファイル形式 2の初期化ベクトル (IV) をどのように処理しますか?

ファイルを生成するときにIVを指定できないようです...だから、IVは暗号文の隣に暗号化されずに保存されていると思いますか?

オープンソースです。コードをざっと見てみましたが、すぐにはわかりませんでした。

このリンクは IV1 を参照しています ... しかし、完全には明確ではありません。IV1はどこから来たのですか?

0 投票する
1 に答える
246 参照

.net - 一意の IV の数を使い果たす前に、AesCryptoServiceProvider.GenerateIV を安全に何回呼び出すことができますか?

私は混乱しています。以下によると、私の IV は暗号化のすべてのラウンドで一意である必要があります。

IV のプロパティは、使用される暗号方式によって異なります。基本的な 要件は一意性です。つまり、同じキーで IV を再利用することはできません。ブロック暗号の場合、IV 値が繰り返されると、暗号化方式が電子コードブック モードに移行します。IV と平文が等しいと、暗号文が等しくなります。- https://en.wikipedia.org/wiki/Initialization_vector

.NET AesCryptoServiceProvider クラスを使用しています。GenerateIVを使用して新しい IV を生成し、その IV を暗号テキストと共にリモート エンドポイントに送信します。リモート エンドポイントは、IV と非公開共有キーを使用してパケットを復号化します。

私のパケットは XML であるため、常に同じ先頭テキストで始まります。(例: "<SomeTag ...>unique_text</SomeTag>")

私のキーは、キーの 5 ~ 10 分間の有効期間中に、数千回の暗号化/復号化サイクルにわたって存続する可能性があります。同じ IV を 2 回生成する前に、GenerateIV を何回呼び出すことができますか? または別の言い方をすれば、GenerateIV は何サイクルに適していますか? 五、十、百、千、百万?

問題のコードは次のとおりです。

AesCryptoServiceProvider.GenerateIV によって生成された IV のサイズが有限であることを考えると、重複する IV を生成する前に呼び出すことができる回数も有限のようです。しかし、その有限数は何ですか。

0 投票する
0 に答える
3231 参照

c# - IV を使用しない AES 暗号化

https://msdn.microsoft.com/en-us/library/system.security.cryptography.aes(v=vs.110).aspx

メッセージの暗号化/復号化に AES を使用する予定です。暗号化/復号化中に IV を使用したくありません。これは、KeyVault でキーを既に保護しており、メッセージを復号化できる他の関係者とキーを 1 つだけ共有したいからです。

助言がありますか?IV をオプション/削除するにはどうすればよいですか。

0 投票する
2 に答える
931 参照

c++ - ファイルが完全に復号化されていない、AES CBC モード。最初のブロックは解読されませんでした。WCAPI

わかりましたので、暗号化しているファイルが 5 つあります。IVを設定していません。

最初のファイルの復号化は問題ありません。

残りのファイルの最初のブロックは復号化されません。

したがって、ファイルは 99% 復号化されます。


IV を静的な値とランダムな値に設定しようとしましたが、同じ結果になりました。

最初に暗号化するファイルは、100% 復号化するために復号化する最初のファイルである必要はありません。

それが復号化と関係があると私に信じさせるのはどれですか?


そのため、暗号化のために aes キーをインポートしてキー ハンドルを作成します。

次に、ファイルを暗号化し、同じキーハンドルを使用して別のファイルに移動します...

すべてのファイルに新しいキーハンドルが必要ですか..?

キーハンドルをクリアする機能はありますか?


WCAPI が最後のファイルの最後のブロックを次のファイルの IV として使用していることを何かが教えてくれますか?

何か誤解しているかもしれませんが、ご容赦ください。

以下は、decrypt_file 関数です。

0 投票する
1 に答える
1190 参照

encryption - golang 暗号の例でランダム IV を使用しないのはなぜですか?

CWE-329 NON-Random IV によると、辞書攻撃の可能性があります。ただし、AES 暗号化の例では、golang ドキュメントはランダムではない IV を使用しています。

この実装は安全ですか、それともランダム関数を使用して IV を取得する必要がありますか?

0 投票する
1 に答える
2918 参照

cryptography - DES での初期化ベクトルの使用

DES (またはトリプル DES) を使用して一部のデータを暗号化する必要があるとします。使用される IV が 8 バイトで、「0」に設定されている場合 (つまり、IV は定数バイト [] で、すべて 0x00 に設定されています)、大丈夫ですか? それともそもそもIVを使わないのと同じですか?

0 投票する
1 に答える
142 参照

c# - 初期化ベクトルを操作しても (実際には) AES 暗号文の解読が妨げられることはありません

MSDN の例に基づいて、次のクラスを作成しました: https://gist.github.com/anonymous/19d9e5f6747dfe75d553

このように使用するときはいつでも、うまく暗号化されているようです:

次にplainText、以下が含まれます。

�\aU��(���P\u0003�b\u001dxqrstuvwxyz1234567890

したがって、IVを変更しても実際には何も起こらないようです(特に長いドキュメントでは)。なぜIVが必要なのですか?