Salt (cryptography) とは

暗号では、塩はランダムなデータで、データ、パスワード、パスフレーズを「ハッシュする」一方向関数への追加入力として使用されます。塩はノンスの概念に密接に関連しています。塩の主な機能は、辞書攻撃またはそのハッシュ相当物(あらかじめ計算されたレインボーテーブル攻撃)に対して防御することです。
塩はストレージのパスワードを保護するために使用されます。従来、パスワードはシステム上の平文で保存されていましたが、時間が経つとユーザーのパスワードをシステムから読み取らないように保護するための追加の保護手段が開発されました。塩はそれらの方法の一つです。
パスワードごとにランダムに新しいソルトが生成されます。典型的な設定では、ソルトとパスワード(またはキーストレッチ後のバージョン)が連結され、暗号ハッシュ関数で処理され、その結果の出力(元のパスワードではない)がソルトと共にデータベースに格納されます。ハッシングは、認証データストアが侵害された場合に平文パスワードを保持せずに平文パスワードを危険にさらすことなく、後の認証を可能にします。
塩は人間に記憶される必要がないので、攻撃に成功するために必要な虹のテーブルのサイズを、ユーザに負担をかけずにはるかに大きくすることができる。塩はいずれの場合も異なるので、同じパスワードのすべての塩漬けハッシュインスタンスを互いに異ならせることによって、共通に使用されるパスワードまたは複数のサイトで同じパスワードを使用するユーザーを保護します。
暗号塩は、Unixのシステムクレデンシャルからインターネットのセキュリティまで、現代の多くのコンピュータシステムで広く使用されています。