最終更新:2012-01-13 (金) 06:32:14 (4497d)
鍵導出関数
Top / 鍵導出関数
Key Derivation Function
- 一般的なブロック暗号の秘密鍵は、アルゴリズムによって128bitや256bitなどと長さが決まっています。
- 通常パスワードは長さが定まってない文字列なので、秘密鍵として使うには一定の長さに変換したりする処理が必要です。
- この変換処理を鍵導出関数(KDF – Key Derivation Function)と言います。
- 鍵導出関数には様々な方式が考えられますが、一般的にはPKCS #5で定めるPBKDF1 (Password-Based Key Derivation Function 1)やPBKDF2が広く利用されているようです。
鍵導出関数 | 変換処理の基盤 | 出力できる鍵長 | 推奨 |
PBKDF1? | ハッシュ関数(MD2, MD5, SHA-1) | 最大128bit(SHA-1は160bit)の鍵を生成 | △ |
PBKDF2 | 疑似乱数生成器(HMAC-SHA-1, HMAC-SHA-2など) | 最大で 疑似乱数生成器の出力幅 x (2^32-1) の鍵を生成 | ○ |