問題タブ [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.
public-key-encryption - Javaで既知のキーとIVを使用して文字列を復号化する方法は?
クライアントから提供されたキーと IV を使用して Java で復号化する必要がある c#.net で暗号化された文字列があります。使用されるアルゴリズムは AES です。
私はいくつかのことを試しました。キーは次のようになります
AES/CBC/PKCS5Padding
上記のキーをクラスに渡すアルゴリズムを使用して Cipher クラスでこれを使用すると、Secretkeyspec
無効なキーの長さ 44 バイトと表示されます
キーの何が問題なのかわかりません。提案されたすべての解決策を数日間試しましたが、何も機能しません。誰か助けてくれませんか?ありがとうございました。
php - PHP の組み込み関数を使用し、mcrypt を使用せずに、暗号学的に強力で安全なソルトを作成することは可能ですか?
(crypt に渡すために) ソルトを生成する必要がありますが、サーバーには mcrypt がありません (そして、そこにソルトを配置する機能がありません)。openssl_random_pseudo_bytes
または別の組み込みPHP関数でそれを行う方法はありますか?
安全なランダム性があることが重要です。
私のmcryptは:
mcryptなしでこれを行うにはどうすればよいですか?
c# - C# AES 暗号化 - IV を自動的に付加するストリーム モード
This Answer from GregSのコメントによると、IV は AES 暗号化データの先頭に追加する必要があります (正しく読んでいると仮定します)。
暗号の前に置きます。そうすれば、ストリーミングモードで復号化できます。
GregS は、暗号化に使用される IV を自動的に付加/解析するストリーミング モードがあることを示唆しているように思えます。
これは本当ですか?
私は現在、IV を暗号化されたデータに手動で追加し、暗号を IV とデータに手動で分割してから復号化しています。これを自動的に行う方法はありますか?
参考のため:
これが私が今していることです:
Encrypt
メソッド:
Decrypt
メソッド:
java - Java で AES のランダム IV を生成する
私は Android で PBE 用の AES 暗号化エンジンを実装しています。IV の作成を実装する 2 つの方法を見つけましたIvParameterSpec
。
方法 #1:
方法 #2:
c# - 新しいランダムな初期化ベクトルは、暗号化中に常に同じ暗号文になります
ここで初期化ベクトルの適切な使用についていくつかのスレッドを読み、項目ごとにランダムな IV を使用するようにいくつかの既存のコードをリファクタリングしている最中です。
データのブロブとキーを取得する方法があり、提供されたキーとランダムな IV を使用してブロブを暗号化する必要があります。
その意図は、同じデータ入力とキーに対して同じ暗号文が生成されるのを防ぐことです。残念ながら、コンソール出力には毎回異なる IV が生成されていることが示されますが、同じデータとキーを使用してメソッドを複数回呼び出すと、同じ暗号文が生成されます。
これがどこで間違っているのか考えていますか?