PBKDF2

パスワードと salt から PBKDF2 鍵材料を導出。PRF ハッシュ、salt エンコーディング、反復回数、出力ビット、16 進/Base64—入力に合わせて更新。

PBKDF2について

hidevtool の PBKDF2 はブラウザ内でパスワードと salt から鍵材料を派生します。PRF(HMAC ハッシュ)、hex または UTF-8 salt、反復回数、出力ビット長、hex/Base64 エンコーディングを選べ、データはアップロードされません。

ウォレット、VPN、パスワード保存仕様と openssl、Python hashlib、Web Crypto のサンプルを突き合わせるときは、反復回数、salt エンコーディング、派生鍵長を完全一致させてください。

できること

役割

PBKDF2 は salt と多数の反復で人間のパスワードを固定長鍵バイトに伸ばします。ウォレット、VPN、パスワード保存スキームでは特定のハッシュと反復回数が指定されることが多いです。

PRF(ハッシュ)

  1. SHA-256 — 新設計と Web Crypto でよく使う既定。
  2. SHA-512 — 内部ブロックが長い。一部仕様で要求。
  3. SHA-1 — レガシー互換のみ。新規 secret では避ける。

salt と反復

  • パスワードごとに一意の salt。新規鍵生成ではランダム salt を推奨。
  • hex salt は偶数桁 hex。UTF-8 salt はテキストの生バイト。
  • 反復が多いほど総当たりに強い。パスワード保存では 10 万~60 万回以上が一般的。

出力長

  • 256 bit(32 バイト)は AES-256 鍵長としてよく使われる。
  • ビット長と hex/Base64 は対象ツールや RFC テストベクトルに合わせる。

安全に使う

  1. 1派生結果は鍵材料と同様に扱い、ログやチケットに載せない。
  2. 2ユーザー・secret ごとに独立したランダム salt。DB 間で salt を使い回さない。
  3. 3新システムは SHA-256/512 と高反復回数を優先。
  4. 4本ページは派生・テスト向け。共有 PC に本番マスターパスワードを貼らない。

よくある使い方

RFC / ドキュメントベクトル

公開テスト入力でバックエンド PBKDF2 実装を検証。

ウォレット・VPN

ドキュメントに PBKDF2 パラメータが明示されているときに鍵材料を派生。

学習・デバッグ

salt エンコーディングと反復回数が派生バイトをどう変えるか観察。

よくある質問

bcrypt や scrypt と同じ?
いいえ。本ページは PBKDF2 のみ。bcrypt、scrypt は別 KDF でパラメータ体系が異なります。
他サイトと結果が一致しない
PRF ハッシュ、salt バイト(hex か UTF-8 か)、反復回数、出力ビット長、hex か Base64 か——いずれかが違えば結果も変わります。
データはアップロードされる?
いいえ。派生はブラウザ内のみです。