t_wの輪郭

Feedlyでフォローするボタン

『PBKDF2 - Wikipedia』

2022/4/20 16:39:00

PBKDF2 (Password-Based Key Derivation Function 2) は、鍵導出関数である。計算コストを変動させることが可能であり、暗号化する際に、総当たり攻撃に対する脆弱性を軽減することを目的として使用される。

PBKDF2は、導出鍵が160ビット以下に制限されるPBKDF1に続いて[1]、PKCS #5 v2.0 (RSA)、RFC2898 (IETF) として規定された。2017年に公開されたRFC 8018 (PKCS #5 v2.1)は、パスワードのハッシュ化には、PBKDF2を利用することを推奨している[2]。

PBKDF2(Password-Based Key Derivation Function 2)
Django や iOS 9 などが採用しているアルゴリズムです。ハッシュ関数として HMAC-SHA1 や HMAC-SHA256 などを選択することができます。ソルトとストレッチ回数を指定します。下記は Python で PBKDF2 のハッシュ値を求めるサンプルです。ストレッチ回数は、2005年時点の推奨値で4,096回。iOS 9 では 10,000回のストレッチングを行っています。

── 『PBKDF2(Password-Based Key Derivation Function 2) - とほほの暗号化入門』

crypto.pbkdf2の概要

2022/4/20 17:03:00

Provides an asynchronous Password-Based Key Derivation Function 2 (PBKDF2) implementation. A selected HMAC digest algorithm specified by digest is applied to derive a key of the requested byte length (keylen) from the password, salt and iterations.

The supplied callback function is called with two arguments: err and derivedKey. If an error occurs while deriving the key, err will be set; otherwise err will be null. By default, the successfully generated derivedKey will be passed to the callback as a Buffer. An error will be thrown if any of the input arguments specify invalid values or types.

DeepL訳:
非同期のPassword-Based Key Derivation Function 2 (PBKDF2) の実装を提供する。digest で指定された HMAC ダイジェストアルゴリズムが適用され、 password, salt および iterations から要求されたバイト長 (keylen) の鍵を導出する。

与えられた callback 関数はerrderivedKey の2つの引数で呼び出されます。鍵の導出中にエラーが発生した場合は err がセットされ、それ以外の場合は errnull となる。デフォルトでは、正常に生成された derivedKeyBuffer としてコールバックに渡される。入力引数に無効な値や型が指定された場合は、エラーがスローされます。