PBKDF
PBKDF1 古い方 互換性用途で残っている key と iv 生成に別々で利用する場合が多い
PBKDF2 出力長制限がなくなった key と iv 一括で生成する場合が多い
ハッシュ関数を使用する
PBKDF1
入力
Hash ハッシュ関数
MD2
MD5
SHA1
salt ソルト
c 繰り返し回数
10000程度推奨 1もある
password パスワード
dkLen 出力長 最大はHashの出力長
code:example
h = Hash(password + salt)
loop (c-1)
h = Hash(h)
return h の dkLen区切り
最長出力はハッシュの出力に依存する
OpenSSLのenc の初期設定ではkeyとiv (password = key)でc = 1 (繰り返さない)で使われたりするっぽい
RSA鍵の暗号は不明
PBKDF2
出力長が可変になった
入力
Mac / Hash 疑似乱数関数
HMACが使われることが多い
salt
c
10000程度推奨
password
dkLen