man 5 shadow
2番目のフィールドについては、次のように言います。
暗号化されたパスワード
最近本当にそうですか? 「ハッシュされたパスワード」と言わなければならないと思います。私は正しいですか?
ベストアンサー1
いいえ、シャドウファイルには暗号化されたパスワードは含まれていません。私が見たUnixのバリエーションにはありません。これにはどこかに暗号化キーが必要です。どこにいますか?
原作もcrypt
機能実際にはハッシュ関数です。パスワードをキーとして使用します。DES。の出力は、crypt
すべてのビットが0のブロックの暗号化です。これは実装の一部として暗号化機能を使用しますが、crypt
操作は暗号化操作ではありません。ハッシュ関数: 逆関数を計算するのが難しく、同じ出力を生成する2つの値を見つけるのが難しい関数です。
制約内で、元のDESベースのcrypt
実装は、次の基本原則に従いました。良い暗号化ハッシュ関数:元に戻せない機能、塩、減速係数。今日のコンピューティングのパフォーマンスを考慮すると、適切ではないのはデザインではなく制限のためです。パスワード最大8文字、フルサイズのため、無差別代入攻撃が容易で、ソルトが短すぎ、繰り返し回数が短すぎます。
この名前のためにcrypt
(そして暗号化が内部的に使用されるという事実のためにcrypt
)そして最近まで暗号化について訓練された人がほとんどいなかったので、この機能に関する広範な文書と他の文脈crypt
で同等の文書ではこれを「暗号化暗号化」と説明します。しかし、実際にはパスワードハッシュであり、いつもそうでした。
最新のシステムは、より強力なアルゴリズムに基づく暗号化ハッシュ関数を使用しています。これらのアルゴリズムのいくつかは「MD5」、「SHA-256」、「SHA-512」と呼ばれていますが、ハッシュ計算はMD5(パスワード+ソルト)とは異なり、遅い速度要件を満たす繰り返しハッシュです(一般的な方法ではGPUベースの加速を防ぐためのメモリ硬度が不足しています。