PBKDF2

Password-Based Key Derivation Function 2の略。パスワードとソルト(salt)、反復回数(iteration count)を入力に、HMACなどの疑似ランダム関数を繰り返し適用して鍵を導出するアルゴリズム。PKCS #5 v2.1として仕様化され、現在はRFC 8018(2017年公開)にまとまっている。Java、Spring Security、.NET、OpenSSLなど主要な言語・フレームワークで広くサポートされている。

特徴

反復回数を増やすことで1回のハッシュ計算にかかる時間を線形に引き伸ばし、ブルートフォース攻撃のコストを上げる。最低反復回数として1000回が推奨値として挙げられることが多いが、実運用では数十万〜数百万回のオーダーで設定されることが多い。

PBKDF2はCPU時間のみをコストパラメータとしており、メモリ使用量を要求しない。そのため専用ハードウェア(GPU/ASIC/FPGA)による並列化耐性は、scryptArgon2idのようなメモリハード関数に比べて低いとされる。

パスワードハッシュアルゴリズムの中での位置づけ

PBKDF2・bcryptは共にメモリハード性を持たない、より古い世代のパスワードハッシュ/KDF方式。後発のscryptArgon2idはメモリハード性によってこの弱点を補う設計になっている。

#security #cryptography

出典

作成日時: 2026-08-16 23:15 / 更新日時: 2026-08-16 23:15