scrypt とは?
scrypt は、メモリハードなパスワードベース鍵導出関数(KDF)です。パスワードとソルトを決定的な鍵バイト列に変換しながら、意図的に CPU 時間とメモリを消費するため、単純なハッシュよりも大規模なパスワード推測のコストを高くできます。
ポイント:
N(コスト係数)、r(ブロックサイズ)、p(並列度)を使用Nとrの設定を高くすると、メモリと計算のコストが増加- パスワード、ソルト、パラメーター、出力長が一致する場合にのみ同じ派生鍵を生成
ベストプラクティス:
- パスワードまたはシークレットごとに一意のランダムソルトを使用
- 派生鍵の近くに
N、r、p、ソルト形式、出力長を保存 - 本番環境で使用する前に、対応が必要な最も遅いデバイスでパラメーターを調整