2017-02-17 7 views
0

私はSymmetric Encryptionを読んでいました。私は暗号化に塩を追加したいと思えば、その塩の価値をエンドユーザーに提供する必要があります。 、 これは正しいです?また、私は初期化ベクトル(IV)を使用したい場合は、復号化が正しいことをエンドユーザにも通知する必要がありますか?それとも、コンテンツを暗号化するときに必要なのは何か?Symetric Encryption - SaltとIV

+2

塩は通常、データを暗号化するのではなく、データをハッシュするときにのみ使用されます。たとえば、[Wikipedia](https://en.wikipedia.org/wiki/Salt_(暗号化))の最初の行には、「塩はランダムなデータです。これは、一方向関数への追加入力として使用されます。対称暗号化では、塩は目的を果たさないでしょう - それは有効な解読鍵を持つ誰かが解読した後のメッセージの始めにある余分なデータに過ぎません。 –

+0

私は塩の目的を誤解していたと思います。私は文字列を暗号化するという意味で、塩を指していました。だから本質的には、暗号化する前の値に追加できるランダムな値ですが、それは正しいでしょうか? – Scott

+2

いいえ、それは正しく聞こえません。暗号化の前にランダムなバイトをデータに付加することは何も達成しない。塩についての質問に、参考文脈が何であったか、いくつかの情報を追加してください。また、パスワードをハッシュするだけで、たとえ塩が暗号鍵を生成するには不十分であっても、PBKDF2のような鍵の導出関数を使用する必要があります。 – zaph

答えて

2

IVは秘密である必要はなく、暗号化されたデータの前に付加されて復号化中に使用できることがよくあります。 IVは、一般にアルゴリズムブロックサイズの長さであるランダムバイトのシーケンスです。

質問で使用されている塩は暗号化では定義されていませんので、塩の暗号化に関する詳細を質問に記載する必要があります。暗号化キーをパスワードから派生させるときに、塩が使用されることがあります。

関連する問題