web-dev-qa-db-ja.com

AES暗号化に使用する場合、PBKDF2をソルトする必要がありますか?

PBKDF2を使用してパスワードをAESでの暗号化に使用するのに適したキーに拡張する場合、ランダムソルト(AES IVではなくPBKDF2用)を使用する必要がありますか?

1
Lucas Green

もちろんです!それは PKCS#5 v2. にもあります

パスワードベースの暗号化におけるソルトは、伝統的に、特定のパスワードに対応するキーの大規模なセットを生成する目的を果たしてきました。そのうちの1つはソルトに従ってランダムに選択されます。

安全なソルトを使用することにより、パスワードp1 = tomatoは、同じパスワードであっても、p2 = tomatoと同じキーを生成しません。これには2つの利点があります。

  • レインボーテーブルに対する保護。
  • 一度に攻撃できるパスワードは1つだけです。同じ計算量を利用して、複数のパスワードを「逆にする」ことはできません。
2
Adi

これを行う必要があります、そうでない場合、同じパスワードを2回使用する2人のユーザーが同じキーを生成します。ソルトを使用する努力はほとんどありませんが、それでもセキュリティが向上します。

標準がありますのでご自身で転がさないでください!

学習の観点から「理由」を疑問視するのは健康的ですが、経験豊富な暗号学者でない場合、暗号で遊んだり、手抜きをしようとしたりするのは危険です。

1
Lucas Kauffman