6.1.2. PBES1 Decryption Operation (PBES1 復号化操作)
6.1.2. PBES1 Decryption Operation (PBES1 復号化操作)
PBES1 の復号化操作は、以下のステップから構成されます。これらは、パスワード P の下で暗号文 C を復号化してメッセージ M を回復します:
-
8オクテットのソルト S と反復回数 c を取得します。
-
PBKDF1 鍵導出関数 (セクション 5.1) を、パスワード P、ソルト S、および反復回数 c に適用して、長さ16オクテットの導出鍵 DK を生成します:
DK = PBKDF1 (P, S, c, 16) -
導出鍵 DK を、DK の最初の8オクテットから構成される暗号化鍵 K と、次の8オクテットから構成される初期化ベクトル IV に分離します:
K = DK<0..7>
IV = DK<8..15> -
暗号文 C を、暗号化鍵 K と初期化ベクトル IV の下で、CBC モードの基礎となるブロック暗号 (DES または RC2) で復号化して、エンコードされたメッセージ EM を回復します。暗号文 C の長さ (オクテット単位) が8の倍数でない場合、"decryption error" (復号化エラー) を出力して停止します。
-
エンコードされたメッセージ EM を、メッセージ M とパディング文字列 PS に分離します:
EM = M || PSここで、パディング文字列 PS は、ある数 psLen のオクテットから構成され、各オクテットの値は psLen です。psLen は1から8の間です。この方法でエンコードされたメッセージ EM を分離することが不可能な場合、"decryption error" (復号化エラー) を出力して停止します。
-
回復されたメッセージ M を出力します。