PBKDF2 RFC 6070 Test Vector #1 (SHA1)
depends_on:0
0:exp:0:hex:"70617373776f7264":hex:"73616c74":int:1:int:20:hex:"0c60c80f961f0e71f3a9b524af6012062fe037a6"

PBKDF2 RFC 6070 Test Vector #2 (SHA1)
depends_on:0
0:exp:0:hex:"70617373776f7264":hex:"73616c74":int:2:int:20:hex:"ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957"

PBKDF2 RFC 6070 Test Vector #3 (SHA1)
depends_on:0
0:exp:0:hex:"70617373776f7264":hex:"73616c74":int:4096:int:20:hex:"4b007901b765489abead49d926f721d065a429c1"

PBKDF2 RFC 6070 Test Vector #5 (SHA1)
depends_on:0
0:exp:0:hex:"70617373776f726450415353574f524470617373776f7264":hex:"73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74":int:4096:int:25:hex:"3d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038"

PBKDF2 RFC 6070 Test Vector #6 (SHA1)
depends_on:0
0:exp:0:hex:"7061737300776f7264":hex:"7361006c74":int:4096:int:16:hex:"56fa6aa75548099dcc37d7f03425e0c3"

PBKDF2 Python hashlib Test Vector #1 (SHA224)
depends_on:1
0:exp:1:hex:"70617373776f7264":hex:"73616c74":int:1:int:20:hex:"3c198cbdb9464b7857966bd05b7bc92bc1cc4e6e"

PBKDF2 Python hashlib Test Vector #2 (SHA224)
depends_on:1
0:exp:1:hex:"70617373776f7264":hex:"73616c74":int:2:int:20:hex:"93200ffa96c5776d38fa10abdf8f5bfc0054b971"

PBKDF2 Python hashlib Test Vector #3 (SHA224)
depends_on:1
0:exp:1:hex:"70617373776f7264":hex:"73616c74":int:4096:int:20:hex:"218c453bf90635bd0a21a75d172703ff6108ef60"

PBKDF2 Python hashlib Test Vector #5 (SHA224)
depends_on:1
0:exp:1:hex:"70617373776f726450415353574f524470617373776f7264":hex:"73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74":int:4096:int:25:hex:"056c4ba438ded91fc14e0594e6f52b87e1f3690c0dc0fbc057"

PBKDF2 Python hashlib Test Vector #6 (SHA224)
depends_on:1
0:exp:1:hex:"7061737300776f7264":hex:"7361006c74":int:4096:int:16:hex:"9b4011b641f40a2a500a31d4a392d15c"

PBKDF2 RFC 7914 Sec 11 Test Vector #1 (SHA256)
depends_on:1
0:exp:2:hex:"706173737764":hex:"73616c74":int:1:int:64:hex:"55ac046e56e3089fec1691c22544b605f94185216dde0465e68b9d57c20dacbc49ca9cccf179b645991664b39d77ef317c71b845b1e30bd509112041d3a19783"

PBKDF2 RFC 7914 Sec 11 Test Vector #2 (SHA256)
depends_on:1
0:exp:2:hex:"50617373776f7264":hex:"4e61436c":int:80000:int:64:hex:"4ddcd8f60b98be21830cee5ef22701f9641a4418d04c0414aeff08876b34ab56a1d425a1225833549adb841b51c9b3176a272bdebba1d078478f62b397f33c8d"

PBKDF2 Python hashlib Test Vector #1 (SHA256)
depends_on:1
0:exp:2:hex:"70617373776f7264":hex:"73616c74":int:1:int:20:hex:"120fb6cffcf8b32c43e7225256c4f837a86548c9"

PBKDF2 Python hashlib Test Vector #2 (SHA256)
depends_on:1
0:exp:2:hex:"70617373776f7264":hex:"73616c74":int:2:int:20:hex:"ae4d0c95af6b46d32d0adff928f06dd02a303f8e"

PBKDF2 Python hashlib Test Vector #3 (SHA256)
depends_on:1
0:exp:2:hex:"70617373776f7264":hex:"73616c74":int:4096:int:20:hex:"c5e478d59288c841aa530db6845c4c8d962893a0"

PBKDF2 Python hashlib Test Vector #5 (SHA256)
depends_on:1
0:exp:2:hex:"70617373776f726450415353574f524470617373776f7264":hex:"73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74":int:4096:int:25:hex:"348c89dbcbd32b2f32d814b8116e84cf2b17347ebc1800181c"

PBKDF2 Python hashlib Test Vector #6 (SHA256)
depends_on:1
0:exp:2:hex:"7061737300776f7264":hex:"7361006c74":int:4096:int:16:hex:"89b69d0516f829893c696226650a8687"

PBKDF2 Python hashlib Test Vector #1 (SHA384)
depends_on:2:3
0:exp:3:hex:"70617373776f7264":hex:"73616c74":int:1:int:20:hex:"c0e14f06e49e32d73f9f52ddf1d0c5c719160923"

PBKDF2 Python hashlib Test Vector #2 (SHA384)
depends_on:2:3
0:exp:3:hex:"70617373776f7264":hex:"73616c74":int:2:int:20:hex:"54f775c6d790f21930459162fc535dbf04a93918"

PBKDF2 Python hashlib Test Vector #3 (SHA384)
depends_on:2:3
0:exp:3:hex:"70617373776f7264":hex:"73616c74":int:4096:int:20:hex:"559726be38db125bc85ed7895f6e3cf574c7a01c"

PBKDF2 Python hashlib Test Vector #5 (SHA384)
depends_on:2:3
0:exp:3:hex:"70617373776f726450415353574f524470617373776f7264":hex:"73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74":int:4096:int:25:hex:"819143ad66df9a552559b9e131c52ae6c5c1b0eed18f4d283b"

PBKDF2 Python hashlib Test Vector #6 (SHA384)
depends_on:2:3
0:exp:3:hex:"7061737300776f7264":hex:"7361006c74":int:4096:int:16:hex:"a3f00ac8657e095f8e0823d232fc60b3"

PBKDF2 Python hashlib Test Vector #1 (SHA512)
depends_on:2
0:exp:4:hex:"70617373776f7264":hex:"73616c74":int:1:int:20:hex:"867f70cf1ade02cff3752599a3a53dc4af34c7a6"

PBKDF2 Python hashlib Test Vector #2 (SHA512)
depends_on:2
0:exp:4:hex:"70617373776f7264":hex:"73616c74":int:2:int:20:hex:"e1d9c16aa681708a45f5c7c4e215ceb66e011a2e"

PBKDF2 Python hashlib Test Vector #3 (SHA512)
depends_on:2
0:exp:4:hex:"70617373776f7264":hex:"73616c74":int:4096:int:20:hex:"d197b1b33db0143e018b12f3d1d1479e6cdebdcc"

PBKDF2 Python hashlib Test Vector #5 (SHA512)
depends_on:2
0:exp:4:hex:"70617373776f726450415353574f524470617373776f7264":hex:"73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74":int:4096:int:25:hex:"8c0511f4c6e597c6ac6315d8f0362e225f3c501495ba23b868"

PBKDF2 Python hashlib Test Vector #6 (SHA512)
depends_on:2
0:exp:4:hex:"7061737300776f7264":hex:"7361006c74":int:4096:int:16:hex:"9d9e9c4cd21fe4be24d5b8244c759665"

PBES2 Decrypt (OK)
depends_on:0:4:5
1:exp:5:hex:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD702020800301406082A864886F70D030704088A4FCC9DCC394910":hex:"70617373776f7264":hex:"1B60098D4834CA752D37B430E70B7A085CFF86E21F4849F969DD1DF623342662443F8BD1252BF83CEF6917551B08EF55A69C8F2BFFC93BCB2DFE2E354DA28F896D1BD1BFB972A1251219A6EC7183B0A4CF2C4998449ED786CAE2138437289EB2203974000C38619DA57A4E685D29649284602BD1806131772DA11A682674DC22B2CF109128DDB7FD980E1C5741FC0DB7":int:0:hex:"308187020100301306072A8648CE3D020106082A8648CE3D030107046D306B0201010420F12A1320760270A83CBFFD53F6031EF76A5D86C8A204F2C30CA9EBF51F0F0EA7A1440342000437CC56D976091E5A723EC7592DFF206EEE7CF9069174D0AD14B5F768225962924EE500D82311FFEA2FD2345D5D16BD8A88C26B770D55CD8A2A0EFA01C8B4EDFF060606060606"

PBES2 Decrypt (bad params tag)
depends_on:0:4
1:exp:6:hex:"":hex:"":hex:"":exp:7:hex:""

PBES2 Decrypt (bad KDF AlgId: not a sequence)
depends_on:0:4
1:exp:5:hex:"31":hex:"":hex:"":exp:7:hex:""

PBES2 Decrypt (bad KDF AlgId: overlong)
depends_on:0:4
1:exp:5:hex:"3001":hex:"":hex:"":exp:8:hex:""

PBES2 Decrypt (KDF != PBKDF2)
depends_on:0:4
1:exp:5:hex:"300B06092A864886F70D01050D":hex:"":hex:"":exp:9:hex:""

PBES2 Decrypt (bad PBKDF2 params: not a sequence)
depends_on:0:4
1:exp:5:hex:"300D06092A864886F70D01050C3100":hex:"":hex:"":exp:7:hex:""

PBES2 Decrypt (bad PBKDF2 params: overlong)
depends_on:0:4
1:exp:5:hex:"300D06092A864886F70D01050C3001":hex:"":hex:"":exp:8:hex:""

PBES2 Decrypt (bad PBKDF2 params salt: not an octet string)
depends_on:0:4:5
1:exp:5:hex:"300E06092A864886F70D01050C30010500":hex:"":hex:"":exp:7:hex:""

PBES2 Decrypt (bad PBKDF2 params salt: overlong)
depends_on:0:4
1:exp:5:hex:"300E06092A864886F70D01050C30010401":hex:"":hex:"":exp:8:hex:""

PBES2 Decrypt (bad PBKDF2 params iter: not an int)
depends_on:0:4
1:exp:5:hex:"301906092A864886F70D01050C300C04082ED7F24A1D516DD70300":hex:"":hex:"":exp:7:hex:""

PBES2 Decrypt (bad PBKDF2 params iter: overlong)
depends_on:0:4
1:exp:5:hex:"301906092A864886F70D01050C300C04082ED7F24A1D516DD70201":hex:"":hex:"":exp:8:hex:""

PBES2 Decrypt (OK, PBKDF2 params explicit keylen)
depends_on:0:4:5
1:exp:5:hex:"301E06092A864886F70D01050C301104082ED7F24A1D516DD702020800020118301406082A864886F70D030704088A4FCC9DCC394910":hex:"70617373776f7264":hex:"1B60098D4834CA752D37B430E70B7A085CFF86E21F4849F969DD1DF623342662443F8BD1252BF83CEF6917551B08EF55A69C8F2BFFC93BCB2DFE2E354DA28F896D1BD1BFB972A1251219A6EC7183B0A4CF2C4998449ED786CAE2138437289EB2203974000C38619DA57A4E685D29649284602BD1806131772DA11A682674DC22B2CF109128DDB7FD980E1C5741FC0DB7":int:0:hex:"308187020100301306072A8648CE3D020106082A8648CE3D030107046D306B0201010420F12A1320760270A83CBFFD53F6031EF76A5D86C8A204F2C30CA9EBF51F0F0EA7A1440342000437CC56D976091E5A723EC7592DFF206EEE7CF9069174D0AD14B5F768225962924EE500D82311FFEA2FD2345D5D16BD8A88C26B770D55CD8A2A0EFA01C8B4EDFF060606060606"

PBES2 Decrypt (bad PBKDF2 params explicit keylen: overlong)
depends_on:0:4
1:exp:5:hex:"301D06092A864886F70D01050C301004082ED7F24A1D516DD7020208000201":hex:"":hex:"":exp:8:hex:""

PBES2 Decrypt (OK, PBKDF2 params explicit prf_alg)
depends_on:0:4:5
1:exp:5:hex:"302706092A864886F70D01050C301A04082ED7F24A1D516DD702020800300A06082A864886F70D0207301406082A864886F70D030704088A4FCC9DCC394910":hex:"70617373776f7264":hex:"1B60098D4834CA752D37B430E70B7A085CFF86E21F4849F969DD1DF623342662443F8BD1252BF83CEF6917551B08EF55A69C8F2BFFC93BCB2DFE2E354DA28F896D1BD1BFB972A1251219A6EC7183B0A4CF2C4998449ED786CAE2138437289EB2203974000C38619DA57A4E685D29649284602BD1806131772DA11A682674DC22B2CF109128DDB7FD980E1C5741FC0DB7":int:0:hex:"308187020100301306072A8648CE3D020106082A8648CE3D030107046D306B0201010420F12A1320760270A83CBFFD53F6031EF76A5D86C8A204F2C30CA9EBF51F0F0EA7A1440342000437CC56D976091E5A723EC7592DFF206EEE7CF9069174D0AD14B5F768225962924EE500D82311FFEA2FD2345D5D16BD8A88C26B770D55CD8A2A0EFA01C8B4EDFF060606060606"

PBES2 Decrypt (bad, PBKDF2 params explicit prf_alg not a sequence)
depends_on:0:4
1:exp:5:hex:"301D06092A864886F70D01050C301004082ED7F24A1D516DD7020208003100":hex:"":hex:"":exp:7:hex:""

PBES2 Decrypt (bad, PBKDF2 params explicit prf_alg overlong)
depends_on:0:4
1:exp:5:hex:"301D06092A864886F70D01050C301004082ED7F24A1D516DD7020208003001":hex:"":hex:"":exp:8:hex:""

PBES2 Decrypt (bad, PBKDF2 params explicit prf_alg != HMAC-SHA*)
depends_on:0:4
1:exp:5:hex:"302706092A864886F70D01050C301A04082ED7F24A1D516DD702020800300A06082A864886F70D0206":hex:"":hex:"":exp:9:hex:""

PBES2 Decrypt (bad, PBKDF2 params extra data)
depends_on:0:4
1:exp:5:hex:"302806092A864886F70D01050C301B04082ED7F24A1D516DD702020800300A06082A864886F70D020700":hex:"":hex:"":exp:10:hex:""

PBES2 Decrypt (bad enc_scheme_alg: not a sequence)
depends_on:0:4
1:exp:5:hex:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD7020208003100":hex:"":hex:"":exp:7:hex:""

PBES2 Decrypt (bad enc_scheme_alg: overlong)
depends_on:0:4
1:exp:5:hex:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD7020208003001":hex:"":hex:"":exp:8:hex:""

PBES2 Decrypt (bad enc_scheme_alg: unknown oid)
depends_on:0:4
1:exp:5:hex:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD702020800300A06082A864886F70D03FF":hex:"":hex:"":exp:9:hex:""

PBES2 Decrypt (bad enc_scheme_alg params: not an octet string)
depends_on:0:4:5
1:exp:5:hex:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD702020800300C06082A864886F70D03070500":hex:"":hex:"":exp:11:hex:""

PBES2 Decrypt (bad enc_scheme_alg params: overlong)
depends_on:0:4
1:exp:5:hex:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD702020800300C06082A864886F70D03070401":hex:"":hex:"":exp:8:hex:""

PBES2 Decrypt (bad enc_scheme_alg params: len != iv_len)
depends_on:0:4:5
1:exp:5:hex:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD702020800301306082A864886F70D030704078A4FCC9DCC3949":hex:"":hex:"":exp:11:hex:""

PBES2 Decrypt (bad password)
depends_on:0:4:5
1:exp:5:hex:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD702020800301406082A864886F70D030704088A4FCC9DCC394910":hex:"F0617373776f7264":hex:"1B60098D4834CA752D37B430E70B7A085CFF86E21F4849F969DD1DF623342662443F8BD1252BF83CEF6917551B08EF55A69C8F2BFFC93BCB2DFE2E354DA28F896D1BD1BFB972A1251219A6EC7183B0A4CF2C4998449ED786CAE2138437289EB2203974000C38619DA57A4E685D29649284602BD1806131772DA11A682674DC22B2CF109128DDB7FD980E1C5741FC0DB7":exp:12:hex:"308187020100301306072A8648CE3D020106082A8648CE3D030107046D306B0201010420F12A1320760270A83CBFFD53F6031EF76A5D86C8A204F2C30CA9EBF51F0F0EA7A1440342000437CC56D976091E5A723EC7592DFF206EEE7CF9069174D0AD14B5F768225962924EE500D82311FFEA2FD2345D5D16BD8A88C26B770D55CD8A2A0EFA01C8B4EDFF060606060606"

PBES2 Decrypt (bad iter value)
depends_on:0:4:5
1:exp:5:hex:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD702020801301406082A864886F70D030704088A4FCC9DCC394910":hex:"70617373776f7264":hex:"1B60098D4834CA752D37B430E70B7A085CFF86E21F4849F969DD1DF623342662443F8BD1252BF83CEF6917551B08EF55A69C8F2BFFC93BCB2DFE2E354DA28F896D1BD1BFB972A1251219A6EC7183B0A4CF2C4998449ED786CAE2138437289EB2203974000C38619DA57A4E685D29649284602BD1806131772DA11A682674DC22B2CF109128DDB7FD980E1C5741FC0DB7":exp:12:hex:"308187020100301306072A8648CE3D020106082A8648CE3D030107046D306B0201010420F12A1320760270A83CBFFD53F6031EF76A5D86C8A204F2C30CA9EBF51F0F0EA7A1440342000437CC56D976091E5A723EC7592DFF206EEE7CF9069174D0AD14B5F768225962924EE500D82311FFEA2FD2345D5D16BD8A88C26B770D55CD8A2A0EFA01C8B4EDFF060606060606"

PKCS#5 Selftest
2

