Samples.
authorBen Laurie <ben@openssl.org>
Sun, 7 Sep 2003 10:59:34 +0000 (10:59 +0000)
committerBen Laurie <ben@openssl.org>
Sun, 7 Sep 2003 10:59:34 +0000 (10:59 +0000)
66 files changed:
fips/testvectors/des3/sample/TCBCMMT1.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCBCMMT2.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCBCMMT3.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCBCMonte1.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCBCMonte2.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCBCMonte3.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCBCinvperm.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCBCpermop.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCBCsubtab.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCBCvarkey.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCBCvartext.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB1MMT1.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB1MMT2.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB1MMT3.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB1Monte1.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB1Monte2.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB1Monte3.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB1invperm.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB1permop.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB1subtab.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB1varkey.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB1vartext.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB64MMT1.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB64MMT2.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB64MMT3.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB64Monte1.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB64Monte2.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB64Monte3.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB64invperm.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB64permop.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB64subtab.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB64varkey.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB64vartext.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB8MMT1.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB8MMT2.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB8MMT3.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB8Monte1.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB8Monte2.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB8Monte3.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB8invperm.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB8permop.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB8subtab.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB8varkey.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TCFB8vartext.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TECBMMT1.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TECBMMT2.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TECBMMT3.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TECBMonte1.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TECBMonte2.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TECBMonte3.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TECBinvperm.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TECBpermop.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TECBsubtab.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TECBvarkey.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TECBvartext.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TOFBMMT1.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TOFBMMT2.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TOFBMMT3.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TOFBMonte1.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TOFBMonte2.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TOFBMonte3.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TOFBinvperm.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TOFBpermop.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TOFBsubtab.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TOFBvarkey.sam [new file with mode: 0644]
fips/testvectors/des3/sample/TOFBvartext.sam [new file with mode: 0644]

diff --git a/fips/testvectors/des3/sample/TCBCMMT1.sam b/fips/testvectors/des3/sample/TCBCMMT1.sam
new file mode 100644 (file)
index 0000000..13e6f84
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for CBC
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:55:28 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = dc011937d57cb95e
+KEY2 = dc011937d57cb95e
+KEY3 = dc011937d57cb95e
+IV = dd6c3a90bb64db51
+PLAINTEXT = 4a404e014591d157
+CIPHERTEXT = 0fc71eebe3f4d801
+
+COUNT = 1
+KEY1 = 8cd0349e0b7afe2c
+KEY2 = 8cd0349e0b7afe2c
+KEY3 = 8cd0349e0b7afe2c
+IV = 59a52c0716385233
+PLAINTEXT = 525d6933ba61e65d921845ec20fd2cbc
+CIPHERTEXT = 056f63c24ff438ed3b61cc20a5d1a910
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 584c6468f2465d10
+KEY2 = 584c6468f2465d10
+KEY3 = 584c6468f2465d10
+IV = 0ed45a30a6cd6f36
+CIPHERTEXT = a22daa8ad36cb261
+PLAINTEXT = d66b60dab9748df3
+
+COUNT = 1
+KEY1 = 675e234a239867e0
+KEY2 = 675e234a239867e0
+KEY3 = 675e234a239867e0
+IV = 7047fa2af2fc6a70
+CIPHERTEXT = 000afc67113e694642844db9cc82c538
+PLAINTEXT = d9ab09e73dedea838b429bc382939bf2
+
diff --git a/fips/testvectors/des3/sample/TCBCMMT2.sam b/fips/testvectors/des3/sample/TCBCMMT2.sam
new file mode 100644 (file)
index 0000000..5bea1cb
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for CBC
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:55:07 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 32458032dad66bcb
+KEY2 = 04d08ce07a6143d0
+KEY3 = 32458032dad66bcb
+IV = 7837b193b0004544
+PLAINTEXT = 06067f940705b697
+CIPHERTEXT = b3118c83b9e7ba22
+
+COUNT = 1
+KEY1 = e3574f57a20e9789
+KEY2 = 3e929408f443578c
+KEY3 = e3574f57a20e9789
+IV = b67502ada506732d
+PLAINTEXT = e75bb306acc87bbf8e3e0599d143d1eb
+CIPHERTEXT = 9bd3a815983c4a132e7676fbe20b39f3
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 076eaebf8cd5dc5b
+KEY2 = f8b3cb29cd9b2af7
+KEY3 = 076eaebf8cd5dc5b
+IV = 550eebab18b94f90
+CIPHERTEXT = ad1929eb01197566
+PLAINTEXT = 4718125ee04a5227
+
+COUNT = 1
+KEY1 = 758a1c682cd53868
+KEY2 = da374fb6dc01c704
+KEY3 = 758a1c682cd53868
+IV = b4de7c7e53f7954a
+CIPHERTEXT = 3cc429f3d9c8c75536660d64a96a26eb
+PLAINTEXT = febe7b1ee7d35e1dba2c43305c6f0dab
+
diff --git a/fips/testvectors/des3/sample/TCBCMMT3.sam b/fips/testvectors/des3/sample/TCBCMMT3.sam
new file mode 100644 (file)
index 0000000..24138c3
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for CBC
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:54:44 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 453bfefe89fe516b
+KEY2 = 91fe49dc38865dcb
+KEY3 = 1c923ec28c58e03b
+IV = accee364141bb508
+PLAINTEXT = e6e30f958fed2208
+CIPHERTEXT = 74d360d2c0b6356a
+
+COUNT = 1
+KEY1 = 91fb54a8fec1203d
+KEY2 = 291937806e2f7c52
+KEY3 = b90e3737049e7301
+IV = e3188bedc5af4d4d
+PLAINTEXT = 06c3cedd527b120634f96dbb020df802
+CIPHERTEXT = af6498141d8a9970431f72a7cd9397a9
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 2adf13adb5d0d3f7
+KEY2 = 5ee06ec23b1c8945
+KEY3 = 5251e03423d3ce61
+IV = daf0ef9e3f3fc124
+CIPHERTEXT = a62a6ca996d43a19
+PLAINTEXT = 72e280f77b0f8d38
+
+COUNT = 1
+KEY1 = 9dd08620085dba40
+KEY2 = b583c89157da45d0
+KEY3 = 0e803b0d0779f82a
+IV = 3f0f24c7ea480b9a
+CIPHERTEXT = c8d9950674ddb94fbcdc77215cf28d17
+PLAINTEXT = cf0ccb97e87c25ce4eb014baa251415b
+
diff --git a/fips/testvectors/des3/sample/TCBCMonte1.sam b/fips/testvectors/des3/sample/TCBCMonte1.sam
new file mode 100644 (file)
index 0000000..8682dd3
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for CBC
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:55:28 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = f74f836b9808bfb0
+KEY2 = f74f836b9808bfb0
+KEY3 = f74f836b9808bfb0
+IV = bdab5e01545c3021
+PLAINTEXT = 025be384213cc683
+CIPHERTEXT = 72da13cd8bed3526
+
+COUNT = 1
+KEY1 = 859491a713e58a97
+KEY2 = 859491a713e58a97
+KEY3 = 859491a713e58a97
+IV = 72da13cd8bed3526
+PLAINTEXT = 65edf19d3651595f
+CIPHERTEXT = 280fd6dc2dc5b532
+
+COUNT = 2
+KEY1 = ad9b467a3e203ea4
+KEY2 = ad9b467a3e203ea4
+KEY3 = ad9b467a3e203ea4
+IV = 280fd6dc2dc5b532
+PLAINTEXT = 810196b94323fc11
+CIPHERTEXT = adc3af52fafaf4a6
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = b0c7bf1a61f2c4a2
+KEY2 = b0c7bf1a61f2c4a2
+KEY3 = b0c7bf1a61f2c4a2
+IV = 37602be981b4d728
+CIPHERTEXT = 8feeda704fbb8a51
+PLAINTEXT = 5f1c86fe0bf429f9
+
+COUNT = 1
+KEY1 = efda38e56b07ec5b
+KEY2 = efda38e56b07ec5b
+KEY3 = efda38e56b07ec5b
+IV = b07db0104973b71c
+CIPHERTEXT = 5f1c86fe0bf429f9
+PLAINTEXT = 068fd59dd6983223
+
+COUNT = 2
+KEY1 = e954ec79bc9edf79
+KEY2 = e954ec79bc9edf79
+KEY3 = e954ec79bc9edf79
+IV = 46605b2e6e80bbe8
+CIPHERTEXT = 068fd59dd6983223
+PLAINTEXT = 2a3ff5e917b235db
+
diff --git a/fips/testvectors/des3/sample/TCBCMonte2.sam b/fips/testvectors/des3/sample/TCBCMonte2.sam
new file mode 100644 (file)
index 0000000..a2d3a0d
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for CBC
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:55:07 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = e55170d58c1afea2
+KEY2 = 6261ade3195d9da2
+KEY3 = e55170d58c1afea2
+IV = 4ce25c2d312fc737
+PLAINTEXT = f6062f18e6d23ce1
+CIPHERTEXT = 8673e648754d5d6d
+
+COUNT = 1
+KEY1 = 6223979df857a2ce
+KEY2 = 5d7faee54c6708ea
+KEY3 = 6223979df857a2ce
+IV = 8673e648754d5d6d
+PLAINTEXT = 3f1f0306543a9548
+CIPHERTEXT = f1e85f8b0f879b39
+
+COUNT = 2
+KEY1 = 92cbc816f7d038f7
+KEY2 = ce01d673387a3bda
+KEY3 = 92cbc816f7d038f7
+IV = f1e85f8b0f879b39
+PLAINTEXT = 937e7896751d3231
+CIPHERTEXT = 69567e6f35b63594
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 237c5b6ed69e7ca8
+KEY2 = a7e3cea2081f3b31
+KEY3 = 237c5b6ed69e7ca8
+IV = 8c927030546f7592
+CIPHERTEXT = 86d2bf38003e34ec
+PLAINTEXT = 146ebbdc54edb7d2
+
+COUNT = 1
+KEY1 = 3713e0b38373cb7a
+KEY2 = 268a45046dc19e3e
+KEY3 = 3713e0b38373cb7a
+IV = 80698aa664dea40f
+CIPHERTEXT = 146ebbdc54edb7d2
+PLAINTEXT = 1a4bd600fb217cc2
+
+COUNT = 2
+KEY1 = 2c5837b37952b6b9
+KEY2 = 0101d63dbf9bc4a4
+KEY3 = 2c5837b37952b6b9
+IV = 268b9238d35a5a9a
+CIPHERTEXT = 1a4bd600fb217cc2
+PLAINTEXT = 372d07929e960fd5
+
diff --git a/fips/testvectors/des3/sample/TCBCMonte3.sam b/fips/testvectors/des3/sample/TCBCMonte3.sam
new file mode 100644 (file)
index 0000000..c69d352
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for CBC
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:54:44 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 9843d3a80408b0d3
+KEY2 = d69b200d0457680b
+KEY3 = 29dc6b2a54861380
+IV = df7b690ad88f7165
+PLAINTEXT = ef42d5a50c057c25
+CIPHERTEXT = e590d44e8fcbe600
+
+COUNT = 1
+KEY1 = 7cd307e68ac257d3
+KEY2 = 29cd162fab546df8
+KEY3 = d5589b2031a1da7f
+IV = e590d44e8fcbe600
+PLAINTEXT = ff573722ae0305f3
+CIPHERTEXT = 5d262a68aa6d8ab0
+
+COUNT = 2
+KEY1 = 20f42c8f20aedc62
+KEY2 = 83df914f575220e5
+KEY3 = 6785e0ce0d70e6b6
+IV = 5d262a68aa6d8ab0
+PLAINTEXT = ab138660fc064d1c
+CIPHERTEXT = 41c4629351340d24
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = ef83942986c7e326
+KEY2 = 1f91f8f41376455b
+KEY3 = 407c3e3b6e944c54
+IV = 31e81117334af591
+CIPHERTEXT = dbe622c878748d89
+PLAINTEXT = 146f64817d7d7c30
+
+COUNT = 1
+KEY1 = fbecf1a8fbba9e16
+KEY2 = 800b45effe570ed0
+KEY3 = 5452700d2538f410
+IV = 9e9bbd1bed204a8a
+CIPHERTEXT = 146f64817d7d7c30
+PLAINTEXT = 8d19db717e962c62
+
+COUNT = 2
+KEY1 = 76f42ad9852cb375
+KEY2 = 3e25fdd504f401a7
+KEY3 = 38464f40152a02bc
+IV = be2eb93bfaa20f77
+CIPHERTEXT = 8d19db717e962c62
+PLAINTEXT = 5c5e40e6e9bd7113
+
diff --git a/fips/testvectors/des3/sample/TCBCinvperm.sam b/fips/testvectors/des3/sample/TCBCinvperm.sam
new file mode 100644 (file)
index 0000000..500430a
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# INVERSE PERMUTATION - KAT for CBC
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:15 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 95f8a5e5dd31d900
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = dd7f121ca5015619
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 2e8653104f3834ea
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 4bd388ff6cd81d4f
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 20b9e767b2fb1456
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 55579380d77138ef
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 6cc5defaaf04512f
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0d9f279ba5d87260
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = d9031b0271bd5a0a
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 424250b37c3dd951
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = b8061b7ecd9a21e5
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = f15d0f286b65bd28
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = add0cc8d6e5deba1
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = e6d5f82752ad63d1
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = ecbfe3bd3f591a5e
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = f356834379d165cd
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 2b9f982f20037fa9
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 889de068a16f0be6
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = e19e275d846a1298
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 329a8ed523d71aec
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = e7fce22557d23c97
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 12a9f5817ff2d65d
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = a484c3ad38dc9c19
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = fbe00a8a1ef8ad72
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 750d079407521363
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 64feed9c724c2faf
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = f02b263b328e2b60
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 9d64555a9a10b852
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = d106ff0bed5255d7
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = e1652c6b138c64a5
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = e428581186ec8f46
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = aeb5f5ede22d1a36
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = e943d7568aec0c5c
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = df98c8276f54b04b
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = b160e4680f6c696f
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = fa0752b07d9c4ab8
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = ca3a2b036dbc8502
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 5e0905517bb59bcf
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 814eeb3b91d90726
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 4d49db1532919c9f
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 25eb5fc3f8cf0621
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = ab6a20c0620d1c6f
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 79e90dbc98f92cca
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 866ecedd8072bb0e
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 8b54536f2f3e64a8
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = ea51d3975595b86b
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = caffc6ac4542de31
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 8dd45a2ddf90796c
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 1029d55e880ec2d0
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 5d86cb23639dbea9
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 1d1ca853ae7c0c5f
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = ce332329248f3228
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 8405d1abe24fb942
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = e643d78090ca4207
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 48221b9937748a23
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = dd7c0bbd61fafd54
+CIPHERTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 2fbc291a570db5c4
+CIPHERTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = e07c30d7e4e26e12
+CIPHERTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0953e2258e8e90a1
+CIPHERTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 5b711bc4ceebf2ee
+CIPHERTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = cc083f1e6d9e85f6
+CIPHERTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = d2fd8867d50d2dfe
+CIPHERTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 06e7ea22ce92708f
+CIPHERTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 166b40b44aba4bd6
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 8000000000000000
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 4000000000000000
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 2000000000000000
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 1000000000000000
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0800000000000000
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0400000000000000
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0200000000000000
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0100000000000000
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0080000000000000
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0040000000000000
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0020000000000000
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0010000000000000
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0008000000000000
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0004000000000000
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0002000000000000
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0001000000000000
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000800000000000
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000400000000000
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000200000000000
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000100000000000
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000080000000000
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000040000000000
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000020000000000
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000010000000000
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000008000000000
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000004000000000
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000002000000000
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000001000000000
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000800000000
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000400000000
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000200000000
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000100000000
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000080000000
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000040000000
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000020000000
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000010000000
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000008000000
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000004000000
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000002000000
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000001000000
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000800000
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000400000
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000200000
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000100000
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000080000
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000040000
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000020000
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000010000
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000008000
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000004000
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000002000
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000001000
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000800
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000400
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000200
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000100
+PLAINTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000080
+PLAINTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000040
+PLAINTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000020
+PLAINTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000010
+PLAINTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000008
+PLAINTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000004
+PLAINTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000002
+PLAINTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000001
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCBCpermop.sam b/fips/testvectors/des3/sample/TCBCpermop.sam
new file mode 100644 (file)
index 0000000..d4df102
--- /dev/null
@@ -0,0 +1,392 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# PERMUTATION OPERATION - KAT for CBC
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:15 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 1046913489980131
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 1007103489988020
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 10071034c8980120
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 1046103489988020
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 1086911519190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 1086911519580101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 5107b01519580101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 1007b01519190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 3107915498080101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 3107919498080101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 10079115b9080140
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 3107911598080140
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 1007d01589980101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 9107911589980101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 9107d01589190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 1007d01598980120
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 1007940498190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0107910491190401
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0107910491190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0107940491190401
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 19079210981a0101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 1007911998190801
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 10079119981a0801
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 1007921098190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 100791159819010b
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 1004801598190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 1004801598190102
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 1004801598190108
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 1002911598100104
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 1002911598190104
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 1002911598100201
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 1002911698100101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 1046913489980131
+IV = 0000000000000000
+CIPHERTEXT = 88d55e54f54c97b4
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 1007103489988020
+IV = 0000000000000000
+CIPHERTEXT = 0c0cc00c83ea48fd
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 10071034c8980120
+IV = 0000000000000000
+CIPHERTEXT = 83bc8ef3a6570183
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 1046103489988020
+IV = 0000000000000000
+CIPHERTEXT = df725dcad94ea2e9
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 1086911519190101
+IV = 0000000000000000
+CIPHERTEXT = e652b53b550be8b0
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 1086911519580101
+IV = 0000000000000000
+CIPHERTEXT = af527120c485cbb0
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 5107b01519580101
+IV = 0000000000000000
+CIPHERTEXT = 0f04ce393db926d5
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 1007b01519190101
+IV = 0000000000000000
+CIPHERTEXT = c9f00ffc74079067
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 3107915498080101
+IV = 0000000000000000
+CIPHERTEXT = 7cfd82a593252b4e
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 3107919498080101
+IV = 0000000000000000
+CIPHERTEXT = cb49a2f9e91363e3
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 10079115b9080140
+IV = 0000000000000000
+CIPHERTEXT = 00b588be70d23f56
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 3107911598080140
+IV = 0000000000000000
+CIPHERTEXT = 406a9a6ab43399ae
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 1007d01589980101
+IV = 0000000000000000
+CIPHERTEXT = 6cb773611dca9ada
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 9107911589980101
+IV = 0000000000000000
+CIPHERTEXT = 67fd21c17dbb5d70
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 9107d01589190101
+IV = 0000000000000000
+CIPHERTEXT = 9592cb4110430787
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 1007d01598980120
+IV = 0000000000000000
+CIPHERTEXT = a6b7ff68a318ddd3
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 1007940498190101
+IV = 0000000000000000
+CIPHERTEXT = 4d102196c914ca16
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0107910491190401
+IV = 0000000000000000
+CIPHERTEXT = 2dfa9f4573594965
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0107910491190101
+IV = 0000000000000000
+CIPHERTEXT = b46604816c0e0774
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0107940491190401
+IV = 0000000000000000
+CIPHERTEXT = 6e7e6221a4f34e87
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 19079210981a0101
+IV = 0000000000000000
+CIPHERTEXT = aa85e74643233199
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 1007911998190801
+IV = 0000000000000000
+CIPHERTEXT = 2e5a19db4d1962d6
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 10079119981a0801
+IV = 0000000000000000
+CIPHERTEXT = 23a866a809d30894
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 1007921098190101
+IV = 0000000000000000
+CIPHERTEXT = d812d961f017d320
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 100791159819010b
+IV = 0000000000000000
+CIPHERTEXT = 055605816e58608f
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 1004801598190101
+IV = 0000000000000000
+CIPHERTEXT = abd88e8b1b7716f1
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 1004801598190102
+IV = 0000000000000000
+CIPHERTEXT = 537ac95be69da1e1
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 1004801598190108
+IV = 0000000000000000
+CIPHERTEXT = aed0f6ae3c25cdd8
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 1002911598100104
+IV = 0000000000000000
+CIPHERTEXT = b3e35a5ee53e7b8d
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 1002911598190104
+IV = 0000000000000000
+CIPHERTEXT = 61c79c71921a2ef8
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 1002911598100201
+IV = 0000000000000000
+CIPHERTEXT = e2f5728f0995013c
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 1002911698100101
+IV = 0000000000000000
+CIPHERTEXT = 1aeac39a61f0a464
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCBCsubtab.sam b/fips/testvectors/des3/sample/TCBCsubtab.sam
new file mode 100644 (file)
index 0000000..71f014d
--- /dev/null
@@ -0,0 +1,236 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# SUBSTITUTION TABLE - KAT for CBC
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 7ca110454a1a6e57
+IV = 0000000000000000
+PLAINTEXT = 01a1d6d039776742
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0131d9619dc1376e
+IV = 0000000000000000
+PLAINTEXT = 5cd54ca83def57da
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 07a1133e4a0b2686
+IV = 0000000000000000
+PLAINTEXT = 0248d43806f67172
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 3849674c2602319e
+IV = 0000000000000000
+PLAINTEXT = 51454b582ddf440a
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 04b915ba43feb5b6
+IV = 0000000000000000
+PLAINTEXT = 42fd443059577fa2
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0113b970fd34f2ce
+IV = 0000000000000000
+PLAINTEXT = 059b5e0851cf143a
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0170f175468fb5e6
+IV = 0000000000000000
+PLAINTEXT = 0756d8e0774761d2
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 43297fad38e373fe
+IV = 0000000000000000
+PLAINTEXT = 762514b829bf486a
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 07a7137045da2a16
+IV = 0000000000000000
+PLAINTEXT = 3bdd119049372802
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 04689104c2fd3b2f
+IV = 0000000000000000
+PLAINTEXT = 26955f6835af609a
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 37d06bb516cb7546
+IV = 0000000000000000
+PLAINTEXT = 164d5e404f275232
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 1f08260d1ac2465e
+IV = 0000000000000000
+PLAINTEXT = 6b056e18759f5cca
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 584023641aba6176
+IV = 0000000000000000
+PLAINTEXT = 004bd6ef09176062
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 025816164629b007
+IV = 0000000000000000
+PLAINTEXT = 480d39006ee762f2
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 49793ebc79b3258f
+IV = 0000000000000000
+PLAINTEXT = 437540c8698f3cfa
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 4fb05e1515ab73a7
+IV = 0000000000000000
+PLAINTEXT = 072d43a077075292
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 49e95d6d4ca229bf
+IV = 0000000000000000
+PLAINTEXT = 02fe55778117f12a
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 018310dc409b26d6
+IV = 0000000000000000
+PLAINTEXT = 1d9d5c5018f728c2
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 1c587f1c13924fef
+IV = 0000000000000000
+PLAINTEXT = 305532286d6f295a
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 7ca110454a1a6e57
+IV = 0000000000000000
+CIPHERTEXT = 690f5b0d9a26939b
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0131d9619dc1376e
+IV = 0000000000000000
+CIPHERTEXT = 7a389d10354bd271
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 07a1133e4a0b2686
+IV = 0000000000000000
+CIPHERTEXT = 868ebb51cab4599a
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 3849674c2602319e
+IV = 0000000000000000
+CIPHERTEXT = 7178876e01f19b2a
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 04b915ba43feb5b6
+IV = 0000000000000000
+CIPHERTEXT = af37fb421f8c4095
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0113b970fd34f2ce
+IV = 0000000000000000
+CIPHERTEXT = 86a560f10ec6d85b
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0170f175468fb5e6
+IV = 0000000000000000
+CIPHERTEXT = 0cd3da020021dc09
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 43297fad38e373fe
+IV = 0000000000000000
+CIPHERTEXT = ea676b2cb7db2b7a
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 07a7137045da2a16
+IV = 0000000000000000
+CIPHERTEXT = dfd64a815caf1a0f
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 04689104c2fd3b2f
+IV = 0000000000000000
+CIPHERTEXT = 5c513c9c4886c088
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 37d06bb516cb7546
+IV = 0000000000000000
+CIPHERTEXT = 0a2aeeae3ff4ab77
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 1f08260d1ac2465e
+IV = 0000000000000000
+CIPHERTEXT = ef1bf03e5dfa575a
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 584023641aba6176
+IV = 0000000000000000
+CIPHERTEXT = 88bf0db6d70dee56
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 025816164629b007
+IV = 0000000000000000
+CIPHERTEXT = a1f9915541020b56
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 49793ebc79b3258f
+IV = 0000000000000000
+CIPHERTEXT = 6fbf1cafcffd0556
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 4fb05e1515ab73a7
+IV = 0000000000000000
+CIPHERTEXT = 2f22e49bab7ca1ac
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 49e95d6d4ca229bf
+IV = 0000000000000000
+CIPHERTEXT = 5a6b612cc26cce4a
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 018310dc409b26d6
+IV = 0000000000000000
+CIPHERTEXT = 5f4c038ed12b2e41
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 1c587f1c13924fef
+IV = 0000000000000000
+CIPHERTEXT = 63fac0d034d9f793
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCBCvarkey.sam b/fips/testvectors/des3/sample/TCBCvarkey.sam
new file mode 100644 (file)
index 0000000..3ba4998
--- /dev/null
@@ -0,0 +1,680 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# VARIABLE KEY - KAT for CBC
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 8001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 4001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 2001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 1001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0801010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0401010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0201010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0180010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0140010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0120010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0110010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0108010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0104010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0102010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101800101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101400101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101200101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101100101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101080101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101040101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101020101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101018001010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101014001010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101012001010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101011001010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010801010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010401010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010201010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010180010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010140010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010120010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010110010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010108010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010104010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010102010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101800101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101400101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101200101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101100101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101080101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101040101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101020101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101018001
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101014001
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101012001
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101011001
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010801
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010401
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010201
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010180
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010140
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010120
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010110
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010108
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010104
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010102
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 8001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 95a8d72813daa94d
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 4001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0eec1487dd8c26d5
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 2001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 7ad16ffb79c45926
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 1001010101010101
+IV = 0000000000000000
+CIPHERTEXT = d3746294ca6a6cf3
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0801010101010101
+IV = 0000000000000000
+CIPHERTEXT = 809f5f873c1fd761
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0401010101010101
+IV = 0000000000000000
+CIPHERTEXT = c02faffec989d1fc
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0201010101010101
+IV = 0000000000000000
+CIPHERTEXT = 4615aa1d33e72f10
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0180010101010101
+IV = 0000000000000000
+CIPHERTEXT = 2055123350c00858
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0140010101010101
+IV = 0000000000000000
+CIPHERTEXT = df3b99d6577397c8
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0120010101010101
+IV = 0000000000000000
+CIPHERTEXT = 31fe17369b5288c9
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0110010101010101
+IV = 0000000000000000
+CIPHERTEXT = dfdd3cc64dae1642
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0108010101010101
+IV = 0000000000000000
+CIPHERTEXT = 178c83ce2b399d94
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0104010101010101
+IV = 0000000000000000
+CIPHERTEXT = 50f636324a9b7f80
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0102010101010101
+IV = 0000000000000000
+CIPHERTEXT = a8468ee3bc18f06d
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101800101010101
+IV = 0000000000000000
+CIPHERTEXT = a2dc9e92fd3cde92
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101400101010101
+IV = 0000000000000000
+CIPHERTEXT = cac09f797d031287
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101200101010101
+IV = 0000000000000000
+CIPHERTEXT = 90ba680b22aeb525
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101100101010101
+IV = 0000000000000000
+CIPHERTEXT = ce7a24f350e280b6
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101080101010101
+IV = 0000000000000000
+CIPHERTEXT = 882bff0aa01a0b87
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101040101010101
+IV = 0000000000000000
+CIPHERTEXT = 25610288924511c2
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101020101010101
+IV = 0000000000000000
+CIPHERTEXT = c71516c29c75d170
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101018001010101
+IV = 0000000000000000
+CIPHERTEXT = 5199c29a52c9f059
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101014001010101
+IV = 0000000000000000
+CIPHERTEXT = c22f0a294a71f29f
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101012001010101
+IV = 0000000000000000
+CIPHERTEXT = ee371483714c02ea
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101011001010101
+IV = 0000000000000000
+CIPHERTEXT = a81fbd448f9e522f
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010801010101
+IV = 0000000000000000
+CIPHERTEXT = 4f644c92e192dfed
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010401010101
+IV = 0000000000000000
+CIPHERTEXT = 1afa9a66a6df92ae
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010201010101
+IV = 0000000000000000
+CIPHERTEXT = b3c1cc715cb879d8
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010180010101
+IV = 0000000000000000
+CIPHERTEXT = 19d032e64ab0bd8b
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010140010101
+IV = 0000000000000000
+CIPHERTEXT = 3cfaa7a7dc8720dc
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010120010101
+IV = 0000000000000000
+CIPHERTEXT = b7265f7f447ac6f3
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010110010101
+IV = 0000000000000000
+CIPHERTEXT = 9db73b3c0d163f54
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010108010101
+IV = 0000000000000000
+CIPHERTEXT = 8181b65babf4a975
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010104010101
+IV = 0000000000000000
+CIPHERTEXT = 93c9b64042eaa240
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010102010101
+IV = 0000000000000000
+CIPHERTEXT = 5570530829705592
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101800101
+IV = 0000000000000000
+CIPHERTEXT = 8638809e878787a0
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101400101
+IV = 0000000000000000
+CIPHERTEXT = 41b9a79af79ac208
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101200101
+IV = 0000000000000000
+CIPHERTEXT = 7a9be42f2009a892
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101100101
+IV = 0000000000000000
+CIPHERTEXT = 29038d56ba6d2745
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101080101
+IV = 0000000000000000
+CIPHERTEXT = 5495c6abf1e5df51
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101040101
+IV = 0000000000000000
+CIPHERTEXT = ae13dbd561488933
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101020101
+IV = 0000000000000000
+CIPHERTEXT = 024d1ffa8904e389
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101018001
+IV = 0000000000000000
+CIPHERTEXT = d1399712f99bf02e
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101014001
+IV = 0000000000000000
+CIPHERTEXT = 14c1d7c1cffec79e
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101012001
+IV = 0000000000000000
+CIPHERTEXT = 1de5279dae3bed6f
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101011001
+IV = 0000000000000000
+CIPHERTEXT = e941a33f85501303
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010801
+IV = 0000000000000000
+CIPHERTEXT = da99dbbc9a03f379
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010401
+IV = 0000000000000000
+CIPHERTEXT = b7fc92f91d8e92e9
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010201
+IV = 0000000000000000
+CIPHERTEXT = ae8e5caa3ca04e85
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010180
+IV = 0000000000000000
+CIPHERTEXT = 9cc62df43b6eed74
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010140
+IV = 0000000000000000
+CIPHERTEXT = d863dbb5c59a91a0
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010120
+IV = 0000000000000000
+CIPHERTEXT = a1ab2190545b91d7
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010110
+IV = 0000000000000000
+CIPHERTEXT = 0875041e64c570f7
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010108
+IV = 0000000000000000
+CIPHERTEXT = 5a594528bebef1cc
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010104
+IV = 0000000000000000
+CIPHERTEXT = fcdb3291de21f0c0
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010102
+IV = 0000000000000000
+CIPHERTEXT = 869efd7f9f265a09
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCBCvartext.sam b/fips/testvectors/des3/sample/TCBCvartext.sam
new file mode 100644 (file)
index 0000000..f92842b
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for CBC
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:15 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 8000000000000000
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 4000000000000000
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 2000000000000000
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 1000000000000000
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0800000000000000
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0400000000000000
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0200000000000000
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0100000000000000
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0080000000000000
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0040000000000000
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0020000000000000
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0010000000000000
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0008000000000000
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0004000000000000
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0002000000000000
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0001000000000000
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000800000000000
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000400000000000
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000200000000000
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000100000000000
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000080000000000
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000040000000000
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000020000000000
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000010000000000
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000008000000000
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000004000000000
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000002000000000
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000001000000000
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000800000000
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000400000000
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000200000000
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000100000000
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000080000000
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000040000000
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000020000000
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000010000000
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000008000000
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000004000000
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000002000000
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000001000000
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000800000
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000400000
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000200000
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000100000
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000080000
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000040000
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000020000
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000010000
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000008000
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000004000
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000002000
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000001000
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000800
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000400
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000200
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000100
+CIPHERTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000080
+CIPHERTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000040
+CIPHERTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000020
+CIPHERTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000010
+CIPHERTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000008
+CIPHERTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000004
+CIPHERTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000002
+CIPHERTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000001
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 95f8a5e5dd31d900
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = dd7f121ca5015619
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 2e8653104f3834ea
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 4bd388ff6cd81d4f
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 20b9e767b2fb1456
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 55579380d77138ef
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 6cc5defaaf04512f
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0d9f279ba5d87260
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = d9031b0271bd5a0a
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 424250b37c3dd951
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = b8061b7ecd9a21e5
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = f15d0f286b65bd28
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = add0cc8d6e5deba1
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = e6d5f82752ad63d1
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = ecbfe3bd3f591a5e
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = f356834379d165cd
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 2b9f982f20037fa9
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 889de068a16f0be6
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = e19e275d846a1298
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 329a8ed523d71aec
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = e7fce22557d23c97
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 12a9f5817ff2d65d
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = a484c3ad38dc9c19
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = fbe00a8a1ef8ad72
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 750d079407521363
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 64feed9c724c2faf
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = f02b263b328e2b60
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 9d64555a9a10b852
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = d106ff0bed5255d7
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = e1652c6b138c64a5
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = e428581186ec8f46
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = aeb5f5ede22d1a36
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = e943d7568aec0c5c
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = df98c8276f54b04b
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = b160e4680f6c696f
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = fa0752b07d9c4ab8
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = ca3a2b036dbc8502
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 5e0905517bb59bcf
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 814eeb3b91d90726
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 4d49db1532919c9f
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 25eb5fc3f8cf0621
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = ab6a20c0620d1c6f
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 79e90dbc98f92cca
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 866ecedd8072bb0e
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 8b54536f2f3e64a8
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = ea51d3975595b86b
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = caffc6ac4542de31
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 8dd45a2ddf90796c
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 1029d55e880ec2d0
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 5d86cb23639dbea9
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 1d1ca853ae7c0c5f
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = ce332329248f3228
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 8405d1abe24fb942
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = e643d78090ca4207
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 48221b9937748a23
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = dd7c0bbd61fafd54
+PLAINTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 2fbc291a570db5c4
+PLAINTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = e07c30d7e4e26e12
+PLAINTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0953e2258e8e90a1
+PLAINTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 5b711bc4ceebf2ee
+PLAINTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = cc083f1e6d9e85f6
+PLAINTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = d2fd8867d50d2dfe
+PLAINTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 06e7ea22ce92708f
+PLAINTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000000
+CIPHERTEXT = 166b40b44aba4bd6
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB1MMT1.sam b/fips/testvectors/des3/sample/TCFB1MMT1.sam
new file mode 100644 (file)
index 0000000..54e2c79
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for CFB1
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:56:50 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = d0c46701e0a4daa4
+KEY2 = d0c46701e0a4daa4
+KEY3 = d0c46701e0a4daa4
+IV = 5ada1dbaa3dcc6f9
+PLAINTEXT = 1
+CIPHERTEXT = 1
+
+COUNT = 1
+KEY1 = 34e3e6e343d9e092
+KEY2 = 34e3e6e343d9e092
+KEY3 = 34e3e6e343d9e092
+IV = 8d9bff192a48af26
+PLAINTEXT = 10
+CIPHERTEXT = 00
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 7c9220b3323dfbdc
+KEY2 = 7c9220b3323dfbdc
+KEY3 = 7c9220b3323dfbdc
+IV = c6f7c95034cf1b0e
+CIPHERTEXT = 1
+PLAINTEXT = 1
+
+COUNT = 1
+KEY1 = daeffb642acb4337
+KEY2 = daeffb642acb4337
+KEY3 = daeffb642acb4337
+IV = 1bab85c44ece2702
+CIPHERTEXT = 01
+PLAINTEXT = 10
+
diff --git a/fips/testvectors/des3/sample/TCFB1MMT2.sam b/fips/testvectors/des3/sample/TCFB1MMT2.sam
new file mode 100644 (file)
index 0000000..5ba7973
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for CFB1
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:56:24 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 8979b9b3c4078623
+KEY2 = 8931208cbf402615
+KEY3 = 8979b9b3c4078623
+IV = e8aed22f26cb3229
+PLAINTEXT = 1
+CIPHERTEXT = 0
+
+COUNT = 1
+KEY1 = 1c54736d73b07568
+KEY2 = d33b1637e90bb56e
+KEY3 = 1c54736d73b07568
+IV = f509224c21997970
+PLAINTEXT = 01
+CIPHERTEXT = 00
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 160e64e061ae4a1a
+KEY2 = 0b571c041532d91a
+KEY3 = 160e64e061ae4a1a
+IV = 709b194e9251e07b
+CIPHERTEXT = 0
+PLAINTEXT = 1
+
+COUNT = 1
+KEY1 = 46c408ef525b5804
+KEY2 = 547a0d04fea17383
+KEY3 = 46c408ef525b5804
+IV = 1dea055bd69d94fd
+CIPHERTEXT = 00
+PLAINTEXT = 11
+
diff --git a/fips/testvectors/des3/sample/TCFB1MMT3.sam b/fips/testvectors/des3/sample/TCFB1MMT3.sam
new file mode 100644 (file)
index 0000000..2ef473c
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for CFB1
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:55:56 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = b6bf54fb7c91b59d
+KEY2 = e58a49f76bfb2ce6
+KEY3 = 4a7638ce709862e5
+IV = ef2f7405e7726d1c
+PLAINTEXT = 1
+CIPHERTEXT = 0
+
+COUNT = 1
+KEY1 = 5d75971c31b3e06b
+KEY2 = 5794084f08eafdd3
+KEY3 = 89da540837b351b9
+IV = 9e641ff6cde4bb0f
+PLAINTEXT = 00
+CIPHERTEXT = 11
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 047a75a81957ef5e
+KEY2 = badafbd09b7f8320
+KEY3 = 02e9dac89e736bd0
+IV = fafe0ac957fd091c
+CIPHERTEXT = 1
+PLAINTEXT = 1
+
+COUNT = 1
+KEY1 = 806146f7f826aed5
+KEY2 = c7d6e69eb3f716a1
+KEY3 = 4fab327315343ba2
+IV = 921af86d8ca529a3
+CIPHERTEXT = 00
+PLAINTEXT = 00
+
diff --git a/fips/testvectors/des3/sample/TCFB1Monte1.sam b/fips/testvectors/des3/sample/TCFB1Monte1.sam
new file mode 100644 (file)
index 0000000..c9f0a52
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for CFB1
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:56:50 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = bfc45b4a5ea4ba70
+KEY2 = bfc45b4a5ea4ba70
+KEY3 = bfc45b4a5ea4ba70
+IV = 6d4a32318253823f
+PLAINTEXT = 1
+CIPHERTEXT = 1
+
+COUNT = 1
+KEY1 = ad9143406dcd0b15
+KEY2 = ad9143406dcd0b15
+KEY3 = ad9143406dcd0b15
+IV = 1355180b3368b065
+PLAINTEXT = 0
+CIPHERTEXT = 1
+
+COUNT = 2
+KEY1 = cbd952c1e0f48a7c
+KEY2 = cbd952c1e0f48a7c
+KEY3 = cbd952c1e0f48a7c
+IV = 664911808c398169
+PLAINTEXT = 0
+CIPHERTEXT = 0
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = bcf108cdcd9db01a
+KEY2 = bcf108cdcd9db01a
+KEY3 = bcf108cdcd9db01a
+IV = 851d4a9241ccd08a
+CIPHERTEXT = 1
+PLAINTEXT = 1
+
+COUNT = 1
+KEY1 = 758651ce5d2fb66d
+KEY2 = 758651ce5d2fb66d
+KEY3 = 758651ce5d2fb66d
+IV = b82dc8fe7091022d
+CIPHERTEXT = 0
+PLAINTEXT = 0
+
+COUNT = 2
+KEY1 = 97297a193d0e31e9
+KEY2 = 97297a193d0e31e9
+KEY3 = 97297a193d0e31e9
+IV = a16519b2201f7d83
+CIPHERTEXT = 1
+PLAINTEXT = 1
+
diff --git a/fips/testvectors/des3/sample/TCFB1Monte2.sam b/fips/testvectors/des3/sample/TCFB1Monte2.sam
new file mode 100644 (file)
index 0000000..1202e2b
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for CFB1
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:56:24 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 89fd29f4ce01d315
+KEY2 = 79c89d0b68fe2620
+KEY3 = 89fd29f4ce01d315
+IV = 41b7185c4c757b98
+PLAINTEXT = 0
+CIPHERTEXT = 0
+
+COUNT = 1
+KEY1 = 9e263bd63e321989
+KEY2 = 890b9ea775a7cece
+KEY3 = 9e263bd63e321989
+IV = 16db1222f033cb9c
+PLAINTEXT = 0
+CIPHERTEXT = 0
+
+COUNT = 2
+KEY1 = 2564314cdfaebf91
+KEY2 = 1075dc1670fe5223
+KEY3 = 2564314cdfaebf91
+IV = bb430b9be09ca718
+PLAINTEXT = 0
+CIPHERTEXT = 0
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = e0f8f2e36dfb453b
+KEY2 = f8e9fbc74a3298c2
+KEY3 = e0f8f2e36dfb453b
+IV = c0bc81b487fc4423
+CIPHERTEXT = 0
+PLAINTEXT = 1
+
+COUNT = 1
+KEY1 = a4df9b49c8ba19b3
+KEY2 = 89b51ad60194800d
+KEY3 = a4df9b49c8ba19b3
+IV = 3ce227999cc03487
+CIPHERTEXT = 0
+PLAINTEXT = 1
+
+COUNT = 2
+KEY1 = b53e919d946e52a7
+KEY2 = 89a1c1a285cb02d0
+KEY3 = b53e919d946e52a7
+IV = 0fa0f9b3cb4c39f3
+CIPHERTEXT = 0
+PLAINTEXT = 0
+
diff --git a/fips/testvectors/des3/sample/TCFB1Monte3.sam b/fips/testvectors/des3/sample/TCFB1Monte3.sam
new file mode 100644 (file)
index 0000000..2d2abc6
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for CFB1
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:55:56 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = cb4a5ed504b51af8
+KEY2 = 8a0e46c19e0404df
+KEY3 = a186ab34616101b0
+IV = 3eb46fd4137e79c2
+PLAINTEXT = 0
+CIPHERTEXT = 0
+
+COUNT = 1
+KEY1 = e6efb6942f751f37
+KEY2 = 733d75bc2fa25be9
+KEY3 = 2a730d4a4aad0b6d
+IV = 2da4e9402ac104ce
+PLAINTEXT = 0
+CIPHERTEXT = 1
+
+COUNT = 2
+KEY1 = 4c7c2c26e6cb2910
+KEY2 = fec2975b70d3266e
+KEY3 = 0213cb26d3efb501
+IV = aa929ab2c9be3727
+PLAINTEXT = 1
+CIPHERTEXT = 1
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = f7ad2f7332892ff1
+KEY2 = e629b5865bec4589
+KEY3 = 3e049dc4760db33e
+IV = 70397ffef9535744
+CIPHERTEXT = 1
+PLAINTEXT = 1
+
+COUNT = 1
+KEY1 = e9830268df1fa43b
+KEY2 = 80c4df2986a48ac7
+KEY3 = ea7acbf120577915
+IV = 0a1a1bf6a48d7946
+CIPHERTEXT = 1
+PLAINTEXT = 0
+
+COUNT = 2
+KEY1 = ec018af83bbadaa1
+KEY2 = 9e38a1fb45b0b54c
+KEY3 = dac462bc755edfdf
+IV = 0381788fa39cd589
+CIPHERTEXT = 1
+PLAINTEXT = 1
+
diff --git a/fips/testvectors/des3/sample/TCFB1invperm.sam b/fips/testvectors/des3/sample/TCFB1invperm.sam
new file mode 100644 (file)
index 0000000..60498aa
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# INVERSE PERMUTATION - KAT for CFB1
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+PLAINTEXT = 1
+CIPHERTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+CIPHERTEXT = 1
+PLAINTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+CIPHERTEXT = 0
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB1permop.sam b/fips/testvectors/des3/sample/TCFB1permop.sam
new file mode 100644 (file)
index 0000000..23c4e70
--- /dev/null
@@ -0,0 +1,392 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# PERMUTATION OPERATION - KAT for CFB1
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 1046913489980131
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 1007103489988020
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 10071034c8980120
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 1046103489988020
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 1086911519190101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 1086911519580101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 5107b01519580101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 1007b01519190101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 3107915498080101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 3107919498080101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 10079115b9080140
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 3107911598080140
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 1007d01589980101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 9107911589980101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 9107d01589190101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 1007d01598980120
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 1007940498190101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0107910491190401
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0107910491190101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0107940491190401
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 19079210981a0101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 1007911998190801
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 10079119981a0801
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 1007921098190101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 100791159819010b
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 1004801598190101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 1004801598190102
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 1004801598190108
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 1002911598100104
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 1002911598190104
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 1002911598100201
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 1002911698100101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 1046913489980131
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 1007103489988020
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 10071034c8980120
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 1046103489988020
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 1086911519190101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 1086911519580101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 5107b01519580101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 1007b01519190101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 3107915498080101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 3107919498080101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 10079115b9080140
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 3107911598080140
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 1007d01589980101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 9107911589980101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 9107d01589190101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 1007d01598980120
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 1007940498190101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0107910491190401
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0107910491190101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0107940491190401
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 19079210981a0101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 1007911998190801
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 10079119981a0801
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 1007921098190101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 100791159819010b
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 1004801598190101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 1004801598190102
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 1004801598190108
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 1002911598100104
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 1002911598190104
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 1002911598100201
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 1002911698100101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB1subtab.sam b/fips/testvectors/des3/sample/TCFB1subtab.sam
new file mode 100644 (file)
index 0000000..2eb6dd1
--- /dev/null
@@ -0,0 +1,236 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# SUBSTITUTION TABLE - KAT for CFB1
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 7ca110454a1a6e57
+IV = 01a1d6d039776742
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0131d9619dc1376e
+IV = 5cd54ca83def57da
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 07a1133e4a0b2686
+IV = 0248d43806f67172
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 3849674c2602319e
+IV = 51454b582ddf440a
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 04b915ba43feb5b6
+IV = 42fd443059577fa2
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0113b970fd34f2ce
+IV = 059b5e0851cf143a
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0170f175468fb5e6
+IV = 0756d8e0774761d2
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 43297fad38e373fe
+IV = 762514b829bf486a
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 07a7137045da2a16
+IV = 3bdd119049372802
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 04689104c2fd3b2f
+IV = 26955f6835af609a
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 37d06bb516cb7546
+IV = 164d5e404f275232
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 1f08260d1ac2465e
+IV = 6b056e18759f5cca
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 584023641aba6176
+IV = 004bd6ef09176062
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 025816164629b007
+IV = 480d39006ee762f2
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 49793ebc79b3258f
+IV = 437540c8698f3cfa
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 4fb05e1515ab73a7
+IV = 072d43a077075292
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 49e95d6d4ca229bf
+IV = 02fe55778117f12a
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 018310dc409b26d6
+IV = 1d9d5c5018f728c2
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 1c587f1c13924fef
+IV = 305532286d6f295a
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 7ca110454a1a6e57
+IV = 01a1d6d039776742
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0131d9619dc1376e
+IV = 5cd54ca83def57da
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 07a1133e4a0b2686
+IV = 0248d43806f67172
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 3849674c2602319e
+IV = 51454b582ddf440a
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 04b915ba43feb5b6
+IV = 42fd443059577fa2
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0113b970fd34f2ce
+IV = 059b5e0851cf143a
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0170f175468fb5e6
+IV = 0756d8e0774761d2
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 43297fad38e373fe
+IV = 762514b829bf486a
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 07a7137045da2a16
+IV = 3bdd119049372802
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 04689104c2fd3b2f
+IV = 26955f6835af609a
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 37d06bb516cb7546
+IV = 164d5e404f275232
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 1f08260d1ac2465e
+IV = 6b056e18759f5cca
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 584023641aba6176
+IV = 004bd6ef09176062
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 025816164629b007
+IV = 480d39006ee762f2
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 49793ebc79b3258f
+IV = 437540c8698f3cfa
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 4fb05e1515ab73a7
+IV = 072d43a077075292
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 49e95d6d4ca229bf
+IV = 02fe55778117f12a
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 018310dc409b26d6
+IV = 1d9d5c5018f728c2
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 1c587f1c13924fef
+IV = 305532286d6f295a
+CIPHERTEXT = 0
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB1varkey.sam b/fips/testvectors/des3/sample/TCFB1varkey.sam
new file mode 100644 (file)
index 0000000..53af2ba
--- /dev/null
@@ -0,0 +1,680 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# VARIABLE KEY - KAT for CFB1
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 8001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 4001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 2001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 1001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0801010101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0401010101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0201010101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0180010101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0140010101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0120010101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0110010101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0108010101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0104010101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0102010101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101800101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101400101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101200101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101100101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101080101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101040101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101020101010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101018001010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101014001010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101012001010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101011001010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010801010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010401010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010201010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010180010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010140010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010120010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010110010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010108010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010104010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010102010101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101800101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101400101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101200101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101100101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101080101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101040101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101020101
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101018001
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101014001
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101012001
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101011001
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010801
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010401
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010201
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010180
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010140
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010120
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010110
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010108
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010104
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010102
+IV = 0000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 8001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 4001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 2001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 1001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0801010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0401010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0201010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0180010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0140010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0120010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0110010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0108010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0104010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0102010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101800101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101400101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101200101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101100101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101080101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101040101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101020101010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101018001010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101014001010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101012001010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101011001010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010801010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010401010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010201010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010180010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010140010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010120010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010110010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010108010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010104010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010102010101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101800101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101400101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101200101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101100101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101080101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101040101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101020101
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101018001
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101014001
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101012001
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101011001
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010801
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010401
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010201
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010180
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010140
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010120
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010110
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010108
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010104
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010102
+IV = 0000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB1vartext.sam b/fips/testvectors/des3/sample/TCFB1vartext.sam
new file mode 100644 (file)
index 0000000..e0d99cc
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for CFB1
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+PLAINTEXT = 0
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+CIPHERTEXT = 0
+PLAINTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+CIPHERTEXT = 0
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB64MMT1.sam b/fips/testvectors/des3/sample/TCFB64MMT1.sam
new file mode 100644 (file)
index 0000000..a870cbf
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for CFB64
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:59:10 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 9bb68acd49b9ad32
+KEY2 = 9bb68acd49b9ad32
+KEY3 = 9bb68acd49b9ad32
+IV = 148e2ca00c5ed796
+PLAINTEXT = 7a8992ca5d63c148
+CIPHERTEXT = bf678ec4ef2bcd19
+
+COUNT = 1
+KEY1 = 679452eaa22fd5ae
+KEY2 = 679452eaa22fd5ae
+KEY3 = 679452eaa22fd5ae
+IV = dbf69034613f5f03
+PLAINTEXT = 82cf5c89f58450b69a5bbdd05c1e9a0d
+CIPHERTEXT = 9feea0c1ade0e55560cf9e2813b13d40
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 7cdc673b203bba3b
+KEY2 = 7cdc673b203bba3b
+KEY3 = 7cdc673b203bba3b
+IV = 51a20d24865f08dc
+CIPHERTEXT = 49956d1e0a390603
+PLAINTEXT = 2da9761e7a3a2c3c
+
+COUNT = 1
+KEY1 = 52ef4cc13715a4a2
+KEY2 = 52ef4cc13715a4a2
+KEY3 = 52ef4cc13715a4a2
+IV = 337caaf1d27f38be
+CIPHERTEXT = 02bf6b2d48c12dcfe798cdc2d8a82e29
+PLAINTEXT = 731e980f3a59178769f271e62a545f1a
+
diff --git a/fips/testvectors/des3/sample/TCFB64MMT2.sam b/fips/testvectors/des3/sample/TCFB64MMT2.sam
new file mode 100644 (file)
index 0000000..b27b40d
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for CFB64
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:58:47 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = cd0d49d3e93b756d
+KEY2 = d56e0ed6b0f84acb
+KEY3 = cd0d49d3e93b756d
+IV = fef1ff1252995d38
+PLAINTEXT = a981ee75653654fc
+CIPHERTEXT = a21dc9a7d92948b6
+
+COUNT = 1
+KEY1 = d9083d8089a2a8c4
+KEY2 = 8cef1f3dc89d2531
+KEY3 = d9083d8089a2a8c4
+IV = 4952bc617a022113
+PLAINTEXT = 9663000e625e30593313d74dd7ea502f
+CIPHERTEXT = 70dac3cb86a6c02b26d2bde002d6cea6
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = ef021615dce99264
+KEY2 = 86751916c85ba7e5
+KEY3 = ef021615dce99264
+IV = 13898b0aea5e39b8
+CIPHERTEXT = a1e06ae84809d43c
+PLAINTEXT = 9a6d2e2fdc3c031b
+
+COUNT = 1
+KEY1 = e3753ed5e61f5d67
+KEY2 = 9d01dc1ffbef3102
+KEY3 = e3753ed5e61f5d67
+IV = afbd30328a1b8a0e
+CIPHERTEXT = d7fdb582f01492c9c1f04af6726f596a
+PLAINTEXT = 0dd054268241c85dfef2c68afa495c99
+
diff --git a/fips/testvectors/des3/sample/TCFB64MMT3.sam b/fips/testvectors/des3/sample/TCFB64MMT3.sam
new file mode 100644 (file)
index 0000000..92fe9d6
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for CFB64
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:58:23 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = a4ef9b6840e3adae
+KEY2 = 2079b3f25102fd92
+KEY3 = c7764662dcae6bd0
+IV = 35b09caa39d1ede4
+PLAINTEXT = 07e2b094ad0157d3
+CIPHERTEXT = bd40a1a8be2b3bb1
+
+COUNT = 1
+KEY1 = a8b61f1abf7a0229
+KEY2 = dcb97a2c6d197619
+KEY3 = 342946fbdf9be675
+IV = 9a4f54c715a827f6
+PLAINTEXT = 2b769fb5b4201053457158147d99b0d5
+CIPHERTEXT = 8575dbcc9b29f467e5ee1ab5dd430a01
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = b5ab3e130e29620d
+KEY2 = c48f9b2a89ae34ab
+KEY3 = 203be69e385b92c1
+IV = ece37936b19e6b36
+CIPHERTEXT = 3fdfd98a0793d58c
+PLAINTEXT = 0022294e6694a2e9
+
+COUNT = 1
+KEY1 = ab1f5b0754266b9d
+KEY2 = cb979e768f16f81f
+KEY3 = 0dfd1c5e61eacb2a
+IV = 33477366169fa759
+CIPHERTEXT = f8499522998ba5b9c76a0eb08f51deee
+PLAINTEXT = 1ebd970d1f526bc4cbcfb65291bac3ed
+
diff --git a/fips/testvectors/des3/sample/TCFB64Monte1.sam b/fips/testvectors/des3/sample/TCFB64Monte1.sam
new file mode 100644 (file)
index 0000000..a8ddfdf
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for CFB64
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:59:10 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 731f45c22368918f
+KEY2 = 731f45c22368918f
+KEY3 = 731f45c22368918f
+IV = e17584a73cae39a6
+PLAINTEXT = a44f35c38e3bb8a5
+CIPHERTEXT = af1f4a956bfd1231
+
+COUNT = 1
+KEY1 = dc010e57499483bf
+KEY2 = dc010e57499483bf
+KEY3 = dc010e57499483bf
+IV = af1f4a956bfd1231
+PLAINTEXT = 6f704e5474fc46d7
+CIPHERTEXT = 036a0a3b975072fc
+
+COUNT = 2
+KEY1 = df6b046ddfc4f143
+KEY2 = df6b046ddfc4f143
+KEY3 = df6b046ddfc4f143
+IV = 036a0a3b975072fc
+PLAINTEXT = 3b07b65cd1bc898d
+CIPHERTEXT = 0a52c555ec07480e
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = ceae57fed5d96b4c
+KEY2 = ceae57fed5d96b4c
+KEY3 = ceae57fed5d96b4c
+IV = 3f9f152605e2ceb0
+CIPHERTEXT = 0a50815555d01c74
+PLAINTEXT = 664a661afc5bc3f5
+
+COUNT = 1
+KEY1 = a8e531e52983a8b9
+KEY2 = a8e531e52983a8b9
+KEY3 = a8e531e52983a8b9
+IV = 5ac0354ed65b8070
+CIPHERTEXT = 3c8a53542a004385
+PLAINTEXT = f3dc2f803552a960
+
+COUNT = 2
+KEY1 = 5b381f641cd001d9
+KEY2 = 5b381f641cd001d9
+KEY3 = 5b381f641cd001d9
+IV = a85d82e090fc1a0e
+CIPHERTEXT = 5b81ad60a5aeb36e
+PLAINTEXT = 929b033d5fda86f9
+
diff --git a/fips/testvectors/des3/sample/TCFB64Monte2.sam b/fips/testvectors/des3/sample/TCFB64Monte2.sam
new file mode 100644 (file)
index 0000000..167bb8e
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for CFB64
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:58:47 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = e55df7d326ab159e
+KEY2 = 23fbe34968084f7f
+KEY3 = e55df7d326ab159e
+IV = b385bbc591a28160
+PLAINTEXT = 00fd7b4fdb4b3382
+CIPHERTEXT = 3f9b209c70ccd1d0
+
+COUNT = 1
+KEY1 = dac7d64f5767c44f
+KEY2 = ae01b67580b997f4
+KEY3 = dac7d64f5767c44f
+IV = 3f9b209c70ccd1d0
+PLAINTEXT = 8dfb543de9b0d98a
+CIPHERTEXT = bee0d84eef89f97e
+
+COUNT = 2
+KEY1 = 64260e01b9ef3d31
+KEY2 = e3e5735d8cdf70a2
+KEY3 = 64260e01b9ef3d31
+IV = bee0d84eef89f97e
+PLAINTEXT = 4ce5c4280c67e756
+CIPHERTEXT = a030662631ae53bc
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 9198c138ecb037df
+KEY2 = 1fa26175c1f8f43d
+KEY3 = 9198c138ecb037df
+IV = d95289edd83e4b5c
+CIPHERTEXT = 205bc3703144f554
+PLAINTEXT = f90e57a34052d086
+
+COUNT = 1
+KEY1 = 6897979bade3e658
+KEY2 = abfe8951cb75011a
+KEY3 = 6897979bade3e658
+IV = b21661e3d4280ca7
+CIPHERTEXT = 4b183640947adc21
+PLAINTEXT = d184c22df5597daf
+
+COUNT = 2
+KEY1 = b91354b658ba9bf7
+KEY2 = e93df74a6d37253e
+KEY3 = b91354b658ba9bf7
+IV = 91c7c72c9ba96e8f
+CIPHERTEXT = 404305016ef01320
+PLAINTEXT = f4e31dd30b6c239e
+
diff --git a/fips/testvectors/des3/sample/TCFB64Monte3.sam b/fips/testvectors/des3/sample/TCFB64Monte3.sam
new file mode 100644 (file)
index 0000000..000f997
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for CFB64
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:58:23 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 49a8c8d9cd3132d5
+KEY2 = 7a3d522fadae2580
+KEY3 = 7fab23ef547ce923
+IV = 6dadc6a093636b9d
+PLAINTEXT = 0648315772eadce7
+CIPHERTEXT = f31349eeb4f26ee5
+
+COUNT = 1
+KEY1 = baba803779c25d31
+KEY2 = 3e627c5b16c7525e
+KEY3 = 6183cec8e308e96d
+IV = f31349eeb4f26ee5
+PLAINTEXT = 445e2e75ba6876df
+CIPHERTEXT = 00174517ae75ab5d
+
+COUNT = 2
+KEY1 = baadc420d6b6f76d
+KEY2 = 68f8944f1aae1f94
+KEY3 = cd7cdcc81f89da64
+IV = 00174517ae75ab5d
+PLAINTEXT = 569be9150d694dcb
+CIPHERTEXT = e7916ebda59643aa
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 3de30bab344f0d23
+KEY2 = 9b29928ca72f4a43
+KEY3 = 6458869489866bdc
+IV = 0162c306352f5e68
+CIPHERTEXT = 8ef9a6403cda7e8d
+PLAINTEXT = b0ac267eccaa4c58
+
+COUNT = 1
+KEY1 = 8c4f2cd5f8e5407a
+KEY2 = e9258f31757ce680
+KEY3 = 9e7062c87ca26edf
+IV = 9980087d2385a920
+CIPHERTEXT = 292c2e03ef2fe578
+PLAINTEXT = 67ffc8c017a60a2f
+
+COUNT = 2
+KEY1 = eab0e515ef434a54
+KEY2 = 135b0da807e04cec
+KEY3 = 070e7ab3b5d3eace
+IV = 35cb8d4ae21056aa
+CIPHERTEXT = 5234458af5b65c85
+PLAINTEXT = 8e4cf09dcc65cddf
+
diff --git a/fips/testvectors/des3/sample/TCFB64invperm.sam b/fips/testvectors/des3/sample/TCFB64invperm.sam
new file mode 100644 (file)
index 0000000..1db9cf7
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# INVERSE PERMUTATION - KAT for CFB64
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+PLAINTEXT = 95f8a5e5dd31d900
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+PLAINTEXT = dd7f121ca5015619
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+PLAINTEXT = 2e8653104f3834ea
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+PLAINTEXT = 4bd388ff6cd81d4f
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+PLAINTEXT = 20b9e767b2fb1456
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+PLAINTEXT = 55579380d77138ef
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+PLAINTEXT = 6cc5defaaf04512f
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+PLAINTEXT = 0d9f279ba5d87260
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+PLAINTEXT = d9031b0271bd5a0a
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+PLAINTEXT = 424250b37c3dd951
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+PLAINTEXT = b8061b7ecd9a21e5
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+PLAINTEXT = f15d0f286b65bd28
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+PLAINTEXT = add0cc8d6e5deba1
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+PLAINTEXT = e6d5f82752ad63d1
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+PLAINTEXT = ecbfe3bd3f591a5e
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+PLAINTEXT = f356834379d165cd
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+PLAINTEXT = 2b9f982f20037fa9
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+PLAINTEXT = 889de068a16f0be6
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+PLAINTEXT = e19e275d846a1298
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+PLAINTEXT = 329a8ed523d71aec
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+PLAINTEXT = e7fce22557d23c97
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+PLAINTEXT = 12a9f5817ff2d65d
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+PLAINTEXT = a484c3ad38dc9c19
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+PLAINTEXT = fbe00a8a1ef8ad72
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+PLAINTEXT = 750d079407521363
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+PLAINTEXT = 64feed9c724c2faf
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+PLAINTEXT = f02b263b328e2b60
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+PLAINTEXT = 9d64555a9a10b852
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+PLAINTEXT = d106ff0bed5255d7
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+PLAINTEXT = e1652c6b138c64a5
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+PLAINTEXT = e428581186ec8f46
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+PLAINTEXT = aeb5f5ede22d1a36
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+PLAINTEXT = e943d7568aec0c5c
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+PLAINTEXT = df98c8276f54b04b
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+PLAINTEXT = b160e4680f6c696f
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+PLAINTEXT = fa0752b07d9c4ab8
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+PLAINTEXT = ca3a2b036dbc8502
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+PLAINTEXT = 5e0905517bb59bcf
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+PLAINTEXT = 814eeb3b91d90726
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+PLAINTEXT = 4d49db1532919c9f
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+PLAINTEXT = 25eb5fc3f8cf0621
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+PLAINTEXT = ab6a20c0620d1c6f
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+PLAINTEXT = 79e90dbc98f92cca
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+PLAINTEXT = 866ecedd8072bb0e
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+PLAINTEXT = 8b54536f2f3e64a8
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+PLAINTEXT = ea51d3975595b86b
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+PLAINTEXT = caffc6ac4542de31
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+PLAINTEXT = 8dd45a2ddf90796c
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+PLAINTEXT = 1029d55e880ec2d0
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+PLAINTEXT = 5d86cb23639dbea9
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+PLAINTEXT = 1d1ca853ae7c0c5f
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+PLAINTEXT = ce332329248f3228
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+PLAINTEXT = 8405d1abe24fb942
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+PLAINTEXT = e643d78090ca4207
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+PLAINTEXT = 48221b9937748a23
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+PLAINTEXT = dd7c0bbd61fafd54
+CIPHERTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+PLAINTEXT = 2fbc291a570db5c4
+CIPHERTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+PLAINTEXT = e07c30d7e4e26e12
+CIPHERTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+PLAINTEXT = 0953e2258e8e90a1
+CIPHERTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+PLAINTEXT = 5b711bc4ceebf2ee
+CIPHERTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+PLAINTEXT = cc083f1e6d9e85f6
+CIPHERTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+PLAINTEXT = d2fd8867d50d2dfe
+CIPHERTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+PLAINTEXT = 06e7ea22ce92708f
+CIPHERTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+PLAINTEXT = 166b40b44aba4bd6
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+CIPHERTEXT = 95f8a5e5dd31d900
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+CIPHERTEXT = dd7f121ca5015619
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+CIPHERTEXT = 2e8653104f3834ea
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+CIPHERTEXT = 4bd388ff6cd81d4f
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+CIPHERTEXT = 20b9e767b2fb1456
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+CIPHERTEXT = 55579380d77138ef
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+CIPHERTEXT = 6cc5defaaf04512f
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+CIPHERTEXT = 0d9f279ba5d87260
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+CIPHERTEXT = d9031b0271bd5a0a
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+CIPHERTEXT = 424250b37c3dd951
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+CIPHERTEXT = b8061b7ecd9a21e5
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+CIPHERTEXT = f15d0f286b65bd28
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+CIPHERTEXT = add0cc8d6e5deba1
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+CIPHERTEXT = e6d5f82752ad63d1
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+CIPHERTEXT = ecbfe3bd3f591a5e
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+CIPHERTEXT = f356834379d165cd
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+CIPHERTEXT = 2b9f982f20037fa9
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+CIPHERTEXT = 889de068a16f0be6
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+CIPHERTEXT = e19e275d846a1298
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+CIPHERTEXT = 329a8ed523d71aec
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+CIPHERTEXT = e7fce22557d23c97
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+CIPHERTEXT = 12a9f5817ff2d65d
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+CIPHERTEXT = a484c3ad38dc9c19
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+CIPHERTEXT = fbe00a8a1ef8ad72
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+CIPHERTEXT = 750d079407521363
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+CIPHERTEXT = 64feed9c724c2faf
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+CIPHERTEXT = f02b263b328e2b60
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+CIPHERTEXT = 9d64555a9a10b852
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+CIPHERTEXT = d106ff0bed5255d7
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+CIPHERTEXT = e1652c6b138c64a5
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+CIPHERTEXT = e428581186ec8f46
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+CIPHERTEXT = aeb5f5ede22d1a36
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+CIPHERTEXT = e943d7568aec0c5c
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+CIPHERTEXT = df98c8276f54b04b
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+CIPHERTEXT = b160e4680f6c696f
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+CIPHERTEXT = fa0752b07d9c4ab8
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+CIPHERTEXT = ca3a2b036dbc8502
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+CIPHERTEXT = 5e0905517bb59bcf
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+CIPHERTEXT = 814eeb3b91d90726
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+CIPHERTEXT = 4d49db1532919c9f
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+CIPHERTEXT = 25eb5fc3f8cf0621
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+CIPHERTEXT = ab6a20c0620d1c6f
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+CIPHERTEXT = 79e90dbc98f92cca
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+CIPHERTEXT = 866ecedd8072bb0e
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+CIPHERTEXT = 8b54536f2f3e64a8
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+CIPHERTEXT = ea51d3975595b86b
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+CIPHERTEXT = caffc6ac4542de31
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+CIPHERTEXT = 8dd45a2ddf90796c
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+CIPHERTEXT = 1029d55e880ec2d0
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+CIPHERTEXT = 5d86cb23639dbea9
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+CIPHERTEXT = 1d1ca853ae7c0c5f
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+CIPHERTEXT = ce332329248f3228
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+CIPHERTEXT = 8405d1abe24fb942
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+CIPHERTEXT = e643d78090ca4207
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+CIPHERTEXT = 48221b9937748a23
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+CIPHERTEXT = dd7c0bbd61fafd54
+PLAINTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+CIPHERTEXT = 2fbc291a570db5c4
+PLAINTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+CIPHERTEXT = e07c30d7e4e26e12
+PLAINTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+CIPHERTEXT = 0953e2258e8e90a1
+PLAINTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+CIPHERTEXT = 5b711bc4ceebf2ee
+PLAINTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+CIPHERTEXT = cc083f1e6d9e85f6
+PLAINTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+CIPHERTEXT = d2fd8867d50d2dfe
+PLAINTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+CIPHERTEXT = 06e7ea22ce92708f
+PLAINTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+CIPHERTEXT = 166b40b44aba4bd6
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB64permop.sam b/fips/testvectors/des3/sample/TCFB64permop.sam
new file mode 100644 (file)
index 0000000..bc9f23c
--- /dev/null
@@ -0,0 +1,392 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# PERMUTATION OPERATION - KAT for CFB64
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 1046913489980131
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 1007103489988020
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 10071034c8980120
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 1046103489988020
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 1086911519190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 1086911519580101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 5107b01519580101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 1007b01519190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 3107915498080101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 3107919498080101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 10079115b9080140
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 3107911598080140
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 1007d01589980101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 9107911589980101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 9107d01589190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 1007d01598980120
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 1007940498190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0107910491190401
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0107910491190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0107940491190401
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 19079210981a0101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 1007911998190801
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 10079119981a0801
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 1007921098190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 100791159819010b
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 1004801598190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 1004801598190102
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 1004801598190108
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 1002911598100104
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 1002911598190104
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 1002911598100201
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 1002911698100101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 1046913489980131
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 1007103489988020
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 10071034c8980120
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 1046103489988020
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 1086911519190101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 1086911519580101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 5107b01519580101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 1007b01519190101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 3107915498080101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 3107919498080101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 10079115b9080140
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 3107911598080140
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 1007d01589980101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 9107911589980101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 9107d01589190101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 1007d01598980120
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 1007940498190101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0107910491190401
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0107910491190101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0107940491190401
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 19079210981a0101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 1007911998190801
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 10079119981a0801
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 1007921098190101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 100791159819010b
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 1004801598190101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 1004801598190102
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 1004801598190108
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 1002911598100104
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 1002911598190104
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 1002911598100201
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 1002911698100101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB64subtab.sam b/fips/testvectors/des3/sample/TCFB64subtab.sam
new file mode 100644 (file)
index 0000000..73608ab
--- /dev/null
@@ -0,0 +1,236 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# SUBSTITUTION TABLE - KAT for CFB64
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 7ca110454a1a6e57
+IV = 01a1d6d039776742
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0131d9619dc1376e
+IV = 5cd54ca83def57da
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 07a1133e4a0b2686
+IV = 0248d43806f67172
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 3849674c2602319e
+IV = 51454b582ddf440a
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 04b915ba43feb5b6
+IV = 42fd443059577fa2
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0113b970fd34f2ce
+IV = 059b5e0851cf143a
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0170f175468fb5e6
+IV = 0756d8e0774761d2
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 43297fad38e373fe
+IV = 762514b829bf486a
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 07a7137045da2a16
+IV = 3bdd119049372802
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 04689104c2fd3b2f
+IV = 26955f6835af609a
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 37d06bb516cb7546
+IV = 164d5e404f275232
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 1f08260d1ac2465e
+IV = 6b056e18759f5cca
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 584023641aba6176
+IV = 004bd6ef09176062
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 025816164629b007
+IV = 480d39006ee762f2
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 49793ebc79b3258f
+IV = 437540c8698f3cfa
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 4fb05e1515ab73a7
+IV = 072d43a077075292
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 49e95d6d4ca229bf
+IV = 02fe55778117f12a
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 018310dc409b26d6
+IV = 1d9d5c5018f728c2
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 1c587f1c13924fef
+IV = 305532286d6f295a
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 7ca110454a1a6e57
+IV = 01a1d6d039776742
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0131d9619dc1376e
+IV = 5cd54ca83def57da
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 07a1133e4a0b2686
+IV = 0248d43806f67172
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 3849674c2602319e
+IV = 51454b582ddf440a
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 04b915ba43feb5b6
+IV = 42fd443059577fa2
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0113b970fd34f2ce
+IV = 059b5e0851cf143a
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0170f175468fb5e6
+IV = 0756d8e0774761d2
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 43297fad38e373fe
+IV = 762514b829bf486a
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 07a7137045da2a16
+IV = 3bdd119049372802
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 04689104c2fd3b2f
+IV = 26955f6835af609a
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 37d06bb516cb7546
+IV = 164d5e404f275232
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 1f08260d1ac2465e
+IV = 6b056e18759f5cca
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 584023641aba6176
+IV = 004bd6ef09176062
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 025816164629b007
+IV = 480d39006ee762f2
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 49793ebc79b3258f
+IV = 437540c8698f3cfa
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 4fb05e1515ab73a7
+IV = 072d43a077075292
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 49e95d6d4ca229bf
+IV = 02fe55778117f12a
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 018310dc409b26d6
+IV = 1d9d5c5018f728c2
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 1c587f1c13924fef
+IV = 305532286d6f295a
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB64varkey.sam b/fips/testvectors/des3/sample/TCFB64varkey.sam
new file mode 100644 (file)
index 0000000..c9fc342
--- /dev/null
@@ -0,0 +1,680 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# VARIABLE KEY - KAT for CFB64
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 8001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 4001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 2001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 1001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0801010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0401010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0201010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0180010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0140010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0120010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0110010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0108010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0104010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0102010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101800101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101400101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101200101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101100101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101080101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101040101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101020101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101018001010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101014001010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101012001010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101011001010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010801010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010401010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010201010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010180010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010140010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010120010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010110010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010108010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010104010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010102010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101800101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101400101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101200101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101100101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101080101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101040101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101020101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101018001
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101014001
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101012001
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101011001
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010801
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010401
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010201
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010180
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010140
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010120
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010110
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010108
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010104
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010102
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 8001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 4001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 2001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 1001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0801010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0401010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0201010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0180010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0140010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0120010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0110010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0108010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0104010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0102010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101800101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101400101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101200101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101100101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101080101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101040101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101020101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101018001010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101014001010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101012001010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101011001010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010801010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010401010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010201010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010180010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010140010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010120010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010110010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010108010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010104010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010102010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101800101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101400101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101200101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101100101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101080101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101040101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101020101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101018001
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101014001
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101012001
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101011001
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010801
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010401
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010201
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010180
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010140
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010120
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010110
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010108
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010104
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010102
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB64vartext.sam b/fips/testvectors/des3/sample/TCFB64vartext.sam
new file mode 100644 (file)
index 0000000..1e4be2f
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for CFB64
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB8MMT1.sam b/fips/testvectors/des3/sample/TCFB8MMT1.sam
new file mode 100644 (file)
index 0000000..fc852e1
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for CFB8
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:58:00 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = fe2631b9addf0d64
+KEY2 = fe2631b9addf0d64
+KEY3 = fe2631b9addf0d64
+IV = ae322c2148ac224e
+PLAINTEXT = 82
+CIPHERTEXT = ad
+
+COUNT = 1
+KEY1 = 1f76fda72f807aab
+KEY2 = 1f76fda72f807aab
+KEY3 = 1f76fda72f807aab
+IV = 378e82ec4ef48f48
+PLAINTEXT = 222e
+CIPHERTEXT = c475
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 2534bc6846e97fc2
+KEY2 = 2534bc6846e97fc2
+KEY3 = 2534bc6846e97fc2
+IV = 99a081b19f881f13
+CIPHERTEXT = 01
+PLAINTEXT = d1
+
+COUNT = 1
+KEY1 = a413686d75924cd3
+KEY2 = a413686d75924cd3
+KEY3 = a413686d75924cd3
+IV = f51a8ad1a8c969b2
+CIPHERTEXT = 4bc9
+PLAINTEXT = b05e
+
diff --git a/fips/testvectors/des3/sample/TCFB8MMT2.sam b/fips/testvectors/des3/sample/TCFB8MMT2.sam
new file mode 100644 (file)
index 0000000..67e78d9
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for CFB8
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:57:37 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 97b526166451869d
+KEY2 = 0473e6c1437cb5c8
+KEY3 = 97b526166451869d
+IV = 587cbb6bbf871431
+PLAINTEXT = a1
+CIPHERTEXT = 44
+
+COUNT = 1
+KEY1 = ecea15e09754e67c
+KEY2 = 79c1c268dcfb2f15
+KEY3 = ecea15e09754e67c
+IV = d143e9f31272cb41
+PLAINTEXT = 5dbb
+CIPHERTEXT = 2b42
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = ce9175409ea4e520
+KEY2 = bab531b0c868c237
+KEY3 = ce9175409ea4e520
+IV = 3608644a5dc2e206
+CIPHERTEXT = 4a
+PLAINTEXT = f3
+
+COUNT = 1
+KEY1 = a11a8fbc02687f98
+KEY2 = 3e9e15202a348c51
+KEY3 = a11a8fbc02687f98
+IV = 704edab2e19d43b5
+CIPHERTEXT = 773f
+PLAINTEXT = 1877
+
diff --git a/fips/testvectors/des3/sample/TCFB8MMT3.sam b/fips/testvectors/des3/sample/TCFB8MMT3.sam
new file mode 100644 (file)
index 0000000..e6f4c11
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for CFB8
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:57:14 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 5b9479ceb38ae5d9
+KEY2 = a7799e7f5dfe54ce
+KEY3 = 13376401e96de075
+IV = 370184c749d04a20
+PLAINTEXT = 6f
+CIPHERTEXT = 77
+
+COUNT = 1
+KEY1 = 76132c3e58cd2038
+KEY2 = a773b916e66edaae
+KEY3 = 2f401c7cf76e4534
+IV = f6b6022882440365
+PLAINTEXT = b3d8
+CIPHERTEXT = c5da
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = e673fb0e49ea02e6
+KEY2 = cbb0e098c89d9e0d
+KEY3 = 1a3e6b51cb80e649
+IV = bfc06e026027a079
+CIPHERTEXT = 1b
+PLAINTEXT = 58
+
+COUNT = 1
+KEY1 = 02497c0475ba16a1
+KEY2 = 13f8a191326157da
+KEY3 = 642f16f832d62cda
+IV = 501afc487fb9ddac
+CIPHERTEXT = e451
+PLAINTEXT = 9073
+
diff --git a/fips/testvectors/des3/sample/TCFB8Monte1.sam b/fips/testvectors/des3/sample/TCFB8Monte1.sam
new file mode 100644 (file)
index 0000000..084958c
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for CFB8
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:58:00 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = d5e5fd045eada258
+KEY2 = d5e5fd045eada258
+KEY3 = d5e5fd045eada258
+IV = ceb2492d35f3667c
+PLAINTEXT = 98
+CIPHERTEXT = 38
+
+COUNT = 1
+KEY1 = 613d6ea70dc80461
+KEY2 = 613d6ea70dc80461
+KEY3 = 613d6ea70dc80461
+IV = b5d892a25364a738
+PLAINTEXT = ab
+CIPHERTEXT = 9c
+
+COUNT = 2
+KEY1 = 7a5b680de6792ffd
+KEY2 = 7a5b680de6792ffd
+KEY3 = 7a5b680de6792ffd
+IV = 1b6607aaeab12a9c
+PLAINTEXT = a1
+CIPHERTEXT = d3
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 9413130bf1c2f1e5
+KEY2 = 9413130bf1c2f1e5
+KEY3 = 9413130bf1c2f1e5
+IV = 2d7d348ac6436d7f
+CIPHERTEXT = dc
+PLAINTEXT = 62
+
+COUNT = 1
+KEY1 = d9abd9580e7c5486
+KEY2 = d9abd9580e7c5486
+KEY3 = d9abd9580e7c5486
+IV = 5b16af6436c976d3
+CIPHERTEXT = b1
+PLAINTEXT = be
+
+COUNT = 2
+KEY1 = 463b5e6e297a7638
+KEY2 = 463b5e6e297a7638
+KEY3 = 463b5e6e297a7638
+IV = 9c03921423040321
+CIPHERTEXT = 9f
+PLAINTEXT = f2
+
diff --git a/fips/testvectors/des3/sample/TCFB8Monte2.sam b/fips/testvectors/des3/sample/TCFB8Monte2.sam
new file mode 100644 (file)
index 0000000..b73839b
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for CFB8
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:57:37 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 088aa4290e2fc7d0
+KEY2 = f7e361198acedc1c
+KEY3 = 088aa4290e2fc7d0
+IV = e8dc2933f30be949
+PLAINTEXT = 46
+CIPHERTEXT = e3
+
+COUNT = 1
+KEY1 = 513102cdb0649232
+KEY2 = abdf70800b57dfad
+KEY3 = 513102cdb0649232
+IV = 58bba6e5bf4a54e3
+PLAINTEXT = b0
+CIPHERTEXT = 5c
+
+COUNT = 2
+KEY1 = cbfedcc8d9a45d6e
+KEY2 = 23108fcb91799b02
+KEY3 = cbfedcc8d9a45d6e
+IV = 9bcede0568c1ce5c
+PLAINTEXT = af
+CIPHERTEXT = c4
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 0d40c15707972c08
+KEY2 = 7c4f6efb7cb3574a
+KEY3 = 0d40c15707972c08
+IV = a46d2441d44c7e83
+CIPHERTEXT = 2a
+PLAINTEXT = 4c
+
+COUNT = 1
+KEY1 = 2fa279f7d531ea45
+KEY2 = 9131258c3d98132f
+KEY3 = 2fa279f7d531ea45
+IV = 2e0cee56f7258245
+CIPHERTEXT = 09
+PLAINTEXT = 21
+
+COUNT = 2
+KEY1 = 321f4954ced61364
+KEY2 = 670def45ea191549
+KEY3 = 321f4954ced61364
+IV = a9b408389b80679f
+CIPHERTEXT = be
+PLAINTEXT = bc
+
diff --git a/fips/testvectors/des3/sample/TCFB8Monte3.sam b/fips/testvectors/des3/sample/TCFB8Monte3.sam
new file mode 100644 (file)
index 0000000..2f2e2b7
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for CFB8
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:57:14 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 01d3cdc792a7fb79
+KEY2 = e0c4bc5d8ac7f434
+KEY3 = 8579045ec7d9c1dc
+IV = 653d8c4b7f3ee08c
+PLAINTEXT = 98
+CIPHERTEXT = 51
+
+COUNT = 1
+KEY1 = fb3d61027c926129
+KEY2 = 341334a807a719bc
+KEY3 = 45f2e9d664bc3223
+IV = fbefacc4ee359a51
+PLAINTEXT = 88
+CIPHERTEXT = 76
+
+COUNT = 2
+KEY1 = cdd904e619975d5e
+KEY2 = 6431fe7ffee3dc6d
+KEY3 = 898f4fba8f582a46
+IV = 36e565e464053d76
+PLAINTEXT = d0
+CIPHERTEXT = 9a
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 8970e01038028f16
+KEY2 = 1abcf225833e76bc
+KEY3 = 2f64ec832a20e558
+IV = c9571fdf07478c24
+CIPHERTEXT = dd
+PLAINTEXT = 1d
+
+COUNT = 1
+KEY1 = 1a02209d07866e0b
+KEY2 = 314961f864a16d80
+KEY3 = a420c1ab9db5329e
+IV = 861467a62a149070
+CIPHERTEXT = 6d
+PLAINTEXT = 68
+
+COUNT = 2
+KEY1 = d5da8f2951b3a162
+KEY2 = 2037645db970d634
+KEY3 = 2ad675f78c46abce
+IV = 5b954de3570135fb
+CIPHERTEXT = 93
+PLAINTEXT = 66
+
diff --git a/fips/testvectors/des3/sample/TCFB8invperm.sam b/fips/testvectors/des3/sample/TCFB8invperm.sam
new file mode 100644 (file)
index 0000000..77c9ceb
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# INVERSE PERMUTATION - KAT for CFB8
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+PLAINTEXT = 95
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+PLAINTEXT = dd
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+PLAINTEXT = 2e
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+PLAINTEXT = 4b
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+PLAINTEXT = 20
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+PLAINTEXT = 55
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+PLAINTEXT = 6c
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+PLAINTEXT = 0d
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+PLAINTEXT = d9
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+PLAINTEXT = 42
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+PLAINTEXT = b8
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+PLAINTEXT = f1
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+PLAINTEXT = ad
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+PLAINTEXT = e6
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+PLAINTEXT = ec
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+PLAINTEXT = f3
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+PLAINTEXT = 2b
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+PLAINTEXT = 88
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+PLAINTEXT = e1
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+PLAINTEXT = 32
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+PLAINTEXT = e7
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+PLAINTEXT = 12
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+PLAINTEXT = a4
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+PLAINTEXT = fb
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+PLAINTEXT = 75
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+PLAINTEXT = 64
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+PLAINTEXT = f0
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+PLAINTEXT = 9d
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+PLAINTEXT = d1
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+PLAINTEXT = e1
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+PLAINTEXT = e4
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+PLAINTEXT = ae
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+PLAINTEXT = e9
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+PLAINTEXT = df
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+PLAINTEXT = b1
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+PLAINTEXT = fa
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+PLAINTEXT = ca
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+PLAINTEXT = 5e
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+PLAINTEXT = 81
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+PLAINTEXT = 4d
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+PLAINTEXT = 25
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+PLAINTEXT = ab
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+PLAINTEXT = 79
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+PLAINTEXT = 86
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+PLAINTEXT = 8b
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+PLAINTEXT = ea
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+PLAINTEXT = ca
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+PLAINTEXT = 8d
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+PLAINTEXT = 10
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+PLAINTEXT = 5d
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+PLAINTEXT = 1d
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+PLAINTEXT = ce
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+PLAINTEXT = 84
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+PLAINTEXT = e6
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+PLAINTEXT = 48
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+PLAINTEXT = dd
+CIPHERTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+PLAINTEXT = 2f
+CIPHERTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+PLAINTEXT = e0
+CIPHERTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+PLAINTEXT = 09
+CIPHERTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+PLAINTEXT = 5b
+CIPHERTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+PLAINTEXT = cc
+CIPHERTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+PLAINTEXT = d2
+CIPHERTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+PLAINTEXT = 06
+CIPHERTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+PLAINTEXT = 16
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+CIPHERTEXT = 95
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+CIPHERTEXT = dd
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+CIPHERTEXT = 2e
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+CIPHERTEXT = 4b
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+CIPHERTEXT = 20
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+CIPHERTEXT = 55
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+CIPHERTEXT = 6c
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+CIPHERTEXT = 0d
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+CIPHERTEXT = d9
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+CIPHERTEXT = 42
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+CIPHERTEXT = b8
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+CIPHERTEXT = f1
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+CIPHERTEXT = ad
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+CIPHERTEXT = e6
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+CIPHERTEXT = ec
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+CIPHERTEXT = f3
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+CIPHERTEXT = 2b
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+CIPHERTEXT = 88
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+CIPHERTEXT = e1
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+CIPHERTEXT = 32
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+CIPHERTEXT = e7
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+CIPHERTEXT = 12
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+CIPHERTEXT = a4
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+CIPHERTEXT = fb
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+CIPHERTEXT = 75
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+CIPHERTEXT = 64
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+CIPHERTEXT = f0
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+CIPHERTEXT = 9d
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+CIPHERTEXT = d1
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+CIPHERTEXT = e1
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+CIPHERTEXT = e4
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+CIPHERTEXT = ae
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+CIPHERTEXT = e9
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+CIPHERTEXT = df
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+CIPHERTEXT = b1
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+CIPHERTEXT = fa
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+CIPHERTEXT = ca
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+CIPHERTEXT = 5e
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+CIPHERTEXT = 81
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+CIPHERTEXT = 4d
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+CIPHERTEXT = 25
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+CIPHERTEXT = ab
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+CIPHERTEXT = 79
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+CIPHERTEXT = 86
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+CIPHERTEXT = 8b
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+CIPHERTEXT = ea
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+CIPHERTEXT = ca
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+CIPHERTEXT = 8d
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+CIPHERTEXT = 10
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+CIPHERTEXT = 5d
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+CIPHERTEXT = 1d
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+CIPHERTEXT = ce
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+CIPHERTEXT = 84
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+CIPHERTEXT = e6
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+CIPHERTEXT = 48
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+CIPHERTEXT = dd
+PLAINTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+CIPHERTEXT = 2f
+PLAINTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+CIPHERTEXT = e0
+PLAINTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+CIPHERTEXT = 09
+PLAINTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+CIPHERTEXT = 5b
+PLAINTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+CIPHERTEXT = cc
+PLAINTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+CIPHERTEXT = d2
+PLAINTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+CIPHERTEXT = 06
+PLAINTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+CIPHERTEXT = 16
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB8permop.sam b/fips/testvectors/des3/sample/TCFB8permop.sam
new file mode 100644 (file)
index 0000000..d2d6937
--- /dev/null
@@ -0,0 +1,392 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# PERMUTATION OPERATION - KAT for CFB8
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 1046913489980131
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 1007103489988020
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 10071034c8980120
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 1046103489988020
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 1086911519190101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 1086911519580101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 5107b01519580101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 1007b01519190101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 3107915498080101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 3107919498080101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 10079115b9080140
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 3107911598080140
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 1007d01589980101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 9107911589980101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 9107d01589190101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 1007d01598980120
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 1007940498190101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0107910491190401
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0107910491190101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0107940491190401
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 19079210981a0101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 1007911998190801
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 10079119981a0801
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 1007921098190101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 100791159819010b
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 1004801598190101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 1004801598190102
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 1004801598190108
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 1002911598100104
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 1002911598190104
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 1002911598100201
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 1002911698100101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 1046913489980131
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 1007103489988020
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 10071034c8980120
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 1046103489988020
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 1086911519190101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 1086911519580101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 5107b01519580101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 1007b01519190101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 3107915498080101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 3107919498080101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 10079115b9080140
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 3107911598080140
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 1007d01589980101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 9107911589980101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 9107d01589190101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 1007d01598980120
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 1007940498190101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0107910491190401
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0107910491190101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0107940491190401
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 19079210981a0101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 1007911998190801
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 10079119981a0801
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 1007921098190101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 100791159819010b
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 1004801598190101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 1004801598190102
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 1004801598190108
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 1002911598100104
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 1002911598190104
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 1002911598100201
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 1002911698100101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB8subtab.sam b/fips/testvectors/des3/sample/TCFB8subtab.sam
new file mode 100644 (file)
index 0000000..3b3cc07
--- /dev/null
@@ -0,0 +1,236 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# SUBSTITUTION TABLE - KAT for CFB8
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 7ca110454a1a6e57
+IV = 01a1d6d039776742
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0131d9619dc1376e
+IV = 5cd54ca83def57da
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 07a1133e4a0b2686
+IV = 0248d43806f67172
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 3849674c2602319e
+IV = 51454b582ddf440a
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 04b915ba43feb5b6
+IV = 42fd443059577fa2
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0113b970fd34f2ce
+IV = 059b5e0851cf143a
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0170f175468fb5e6
+IV = 0756d8e0774761d2
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 43297fad38e373fe
+IV = 762514b829bf486a
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 07a7137045da2a16
+IV = 3bdd119049372802
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 04689104c2fd3b2f
+IV = 26955f6835af609a
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 37d06bb516cb7546
+IV = 164d5e404f275232
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 1f08260d1ac2465e
+IV = 6b056e18759f5cca
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 584023641aba6176
+IV = 004bd6ef09176062
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 025816164629b007
+IV = 480d39006ee762f2
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 49793ebc79b3258f
+IV = 437540c8698f3cfa
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 4fb05e1515ab73a7
+IV = 072d43a077075292
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 49e95d6d4ca229bf
+IV = 02fe55778117f12a
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 018310dc409b26d6
+IV = 1d9d5c5018f728c2
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 1c587f1c13924fef
+IV = 305532286d6f295a
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 7ca110454a1a6e57
+IV = 01a1d6d039776742
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0131d9619dc1376e
+IV = 5cd54ca83def57da
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 07a1133e4a0b2686
+IV = 0248d43806f67172
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 3849674c2602319e
+IV = 51454b582ddf440a
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 04b915ba43feb5b6
+IV = 42fd443059577fa2
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0113b970fd34f2ce
+IV = 059b5e0851cf143a
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0170f175468fb5e6
+IV = 0756d8e0774761d2
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 43297fad38e373fe
+IV = 762514b829bf486a
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 07a7137045da2a16
+IV = 3bdd119049372802
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 04689104c2fd3b2f
+IV = 26955f6835af609a
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 37d06bb516cb7546
+IV = 164d5e404f275232
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 1f08260d1ac2465e
+IV = 6b056e18759f5cca
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 584023641aba6176
+IV = 004bd6ef09176062
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 025816164629b007
+IV = 480d39006ee762f2
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 49793ebc79b3258f
+IV = 437540c8698f3cfa
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 4fb05e1515ab73a7
+IV = 072d43a077075292
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 49e95d6d4ca229bf
+IV = 02fe55778117f12a
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 018310dc409b26d6
+IV = 1d9d5c5018f728c2
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 1c587f1c13924fef
+IV = 305532286d6f295a
+CIPHERTEXT = 00
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB8varkey.sam b/fips/testvectors/des3/sample/TCFB8varkey.sam
new file mode 100644 (file)
index 0000000..855a9e1
--- /dev/null
@@ -0,0 +1,680 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# VARIABLE KEY - KAT for CFB8
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 8001010101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 4001010101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 2001010101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 1001010101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0801010101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0401010101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0201010101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0180010101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0140010101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0120010101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0110010101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0108010101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0104010101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0102010101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101800101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101400101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101200101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101100101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101080101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101040101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101020101010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101018001010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101014001010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101012001010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101011001010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010801010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010401010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010201010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010180010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010140010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010120010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010110010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010108010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010104010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010102010101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101800101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101400101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101200101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101100101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101080101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101040101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101020101
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101018001
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101014001
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101012001
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101011001
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010801
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010401
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010201
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010180
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010140
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010120
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010110
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010108
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010104
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010102
+IV = 0000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 8001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 4001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 2001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 1001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0801010101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0401010101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0201010101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0180010101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0140010101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0120010101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0110010101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0108010101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0104010101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0102010101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101800101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101400101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101200101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101100101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101080101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101040101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101020101010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101018001010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101014001010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101012001010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101011001010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010801010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010401010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010201010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010180010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010140010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010120010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010110010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010108010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010104010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010102010101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101800101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101400101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101200101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101100101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101080101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101040101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101020101
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101018001
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101014001
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101012001
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101011001
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010801
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010401
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010201
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010180
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010140
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010120
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010110
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010108
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010104
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010102
+IV = 0000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TCFB8vartext.sam b/fips/testvectors/des3/sample/TCFB8vartext.sam
new file mode 100644 (file)
index 0000000..a8e8d9a
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for CFB8
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+PLAINTEXT = 00
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+CIPHERTEXT = 00
+PLAINTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+CIPHERTEXT = 00
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TECBMMT1.sam b/fips/testvectors/des3/sample/TECBMMT1.sam
new file mode 100644 (file)
index 0000000..f907be5
--- /dev/null
@@ -0,0 +1,38 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for ECB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:54:22 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = d592d6f7830d0bb6
+KEY2 = d592d6f7830d0bb6
+KEY3 = d592d6f7830d0bb6
+PLAINTEXT = cdcd84690cdd2b32
+CIPHERTEXT = 19b1fe8025aaed4d
+
+COUNT = 1
+KEY1 = 9e98578389c44c75
+KEY2 = 9e98578389c44c75
+KEY3 = 9e98578389c44c75
+PLAINTEXT = 49d43288e7974f3edf9cb3f744fd213b
+CIPHERTEXT = ed1c1ffd4377bc283e816629d462f4f1
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 83e56b8526a27fae
+KEY2 = 83e56b8526a27fae
+KEY3 = 83e56b8526a27fae
+CIPHERTEXT = 3e6443e5aff04046
+PLAINTEXT = 9f794f23fdc42ffa
+
+COUNT = 1
+KEY1 = 91f47526e9cd8957
+KEY2 = 91f47526e9cd8957
+KEY3 = 91f47526e9cd8957
+CIPHERTEXT = 4be64f5b9249c36774d0df3db4088d6d
+PLAINTEXT = 60ca1b5e0006558ab19dbbb9acb6dff5
+
diff --git a/fips/testvectors/des3/sample/TECBMMT2.sam b/fips/testvectors/des3/sample/TECBMMT2.sam
new file mode 100644 (file)
index 0000000..9e92b4e
--- /dev/null
@@ -0,0 +1,38 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for ECB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:54:01 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = b9803ef862160e10
+KEY2 = 34e3e6e343d9e092
+KEY3 = b9803ef862160e10
+PLAINTEXT = 8d9bff192a48af26
+CIPHERTEXT = 39a46fbcffd5f29f
+
+COUNT = 1
+KEY1 = e931fd9eda34a2dc
+KEY2 = 9419ba86755e70fb
+KEY3 = e931fd9eda34a2dc
+PLAINTEXT = 11e484ca3c0a6570a7ec8cd1460797dd
+CIPHERTEXT = 264e614f8082a4eb4b82184919f164b0
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 490289918f8546bc
+KEY2 = bafec8d0f480e0e5
+KEY3 = 490289918f8546bc
+CIPHERTEXT = 3d880c058105fe31
+PLAINTEXT = d89ace0c2c7f17d4
+
+COUNT = 1
+KEY1 = 5ed5eca42a7c1023
+KEY2 = fe76628c73082619
+KEY3 = 5ed5eca42a7c1023
+CIPHERTEXT = 269418d8a3508fb19e0c8f540b013ede
+PLAINTEXT = eb15f8ef2813122a0403eecdc60ae76f
+
diff --git a/fips/testvectors/des3/sample/TECBMMT3.sam b/fips/testvectors/des3/sample/TECBMMT3.sam
new file mode 100644 (file)
index 0000000..8fcd1b1
--- /dev/null
@@ -0,0 +1,38 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for ECB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:39 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = f28502a254ba8ace
+KEY2 = a13291f24afb2c7f
+KEY3 = 4c526bce16940420
+PLAINTEXT = b48f43c904dfd9bc
+CIPHERTEXT = f294ddba73dd1216
+
+COUNT = 1
+KEY1 = 5b9b5857a12abf1f
+KEY2 = 1cae2c46ad16e979
+KEY3 = a23d19f4bc3785da
+PLAINTEXT = a7f049d5dc758fbd328b45f4c374f3ef
+CIPHERTEXT = 4c46f50b63e7aee3fa0a478284f23cee
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = f8c81915cb589454
+KEY2 = 70d3f85bad7c3157
+KEY3 = e90b8616493b4043
+CIPHERTEXT = 4608b4c67ff65cbc
+PLAINTEXT = a31647bf39072c44
+
+COUNT = 1
+KEY1 = 0d40c15707972c08
+KEY2 = 7c4f6efb7cb3574a
+KEY3 = a46d2540d54c7f83
+CIPHERTEXT = 2a1fd716902f1b31d3f17a648538cb3f
+PLAINTEXT = 857dbcff4ed468c6627ab19d47b5d827
+
diff --git a/fips/testvectors/des3/sample/TECBMonte1.sam b/fips/testvectors/des3/sample/TECBMonte1.sam
new file mode 100644 (file)
index 0000000..09302ea
--- /dev/null
@@ -0,0 +1,52 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for ECB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:54:22 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 4f97d0d3efa12c98
+KEY2 = 4f97d0d3efa12c98
+KEY3 = 4f97d0d3efa12c98
+PLAINTEXT = 6307a0787a880d9f
+CIPHERTEXT = ca6f70b4fd62dbb0
+
+COUNT = 1
+KEY1 = 85f8a16713c2f729
+KEY2 = 85f8a16713c2f729
+KEY3 = 85f8a16713c2f729
+PLAINTEXT = ca6f70b4fd62dbb0
+CIPHERTEXT = 7a95c533430c35b6
+
+COUNT = 2
+KEY1 = fe6d645451cec29e
+KEY2 = fe6d645451cec29e
+KEY3 = fe6d645451cec29e
+PLAINTEXT = 7a95c533430c35b6
+CIPHERTEXT = 615eb81530e0f2c7
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 9b0d9d29fd83a12c
+KEY2 = 9b0d9d29fd83a12c
+KEY3 = 9b0d9d29fd83a12c
+CIPHERTEXT = 0326a61eb71ad6a4
+PLAINTEXT = afb80dc9ca202a86
+
+COUNT = 1
+KEY1 = 34b591e037a28aab
+KEY2 = 34b591e037a28aab
+KEY3 = 34b591e037a28aab
+CIPHERTEXT = afb80dc9ca202a86
+PLAINTEXT = a26ca6f771518d29
+
+COUNT = 2
+KEY1 = 97d9371646f20783
+KEY2 = 97d9371646f20783
+KEY3 = 97d9371646f20783
+CIPHERTEXT = a26ca6f771518d29
+PLAINTEXT = 070feae0b6eef730
+
diff --git a/fips/testvectors/des3/sample/TECBMonte2.sam b/fips/testvectors/des3/sample/TECBMonte2.sam
new file mode 100644 (file)
index 0000000..767ecc2
--- /dev/null
@@ -0,0 +1,52 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for ECB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:54:01 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 08d3f1975ec86867
+KEY2 = 8a4f044af275ad40
+KEY3 = 08d3f1975ec86867
+PLAINTEXT = 6a9ba9cde8b1f774
+CIPHERTEXT = 77d4a89526ae3292
+
+COUNT = 1
+KEY1 = 7f07580279675bf4
+KEY2 = ada1258c75cd6b49
+KEY3 = 7f07580279675bf4
+PLAINTEXT = 77d4a89526ae3292
+CIPHERTEXT = 21bbac3034de1267
+
+COUNT = 2
+KEY1 = 5ebcf4324cb94992
+KEY2 = 4cf7cefb43494aa7
+KEY3 = 5ebcf4324cb94992
+PLAINTEXT = 21bbac3034de1267
+CIPHERTEXT = 825e9d9b4cef8d56
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 438c6eb58ac1e368
+KEY2 = d0f2c2e537d3329e
+KEY3 = 438c6eb58ac1e368
+CIPHERTEXT = 5ada1dbaa3dcc6f9
+PLAINTEXT = b96772606a4a61b1
+
+COUNT = 1
+KEY1 = fbea1cd5e08a83d9
+KEY2 = 5198ef83cd3b75f7
+KEY3 = fbea1cd5e08a83d9
+CIPHERTEXT = b96772606a4a61b1
+PLAINTEXT = 45ce71de476df557
+
+COUNT = 2
+KEY1 = bf256d0ba7e6768f
+KEY2 = 20f16252801af14c
+KEY3 = bf256d0ba7e6768f
+CIPHERTEXT = 45ce71de476df557
+PLAINTEXT = f39d1490e003d7f3
+
diff --git a/fips/testvectors/des3/sample/TECBMonte3.sam b/fips/testvectors/des3/sample/TECBMonte3.sam
new file mode 100644 (file)
index 0000000..8f8d0c8
--- /dev/null
@@ -0,0 +1,52 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for ECB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:39 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 5415868934073b13
+KEY2 = 048ae9efae622051
+KEY3 = c8325d9ebc206d13
+PLAINTEXT = 7d5bf013b3a58d0f
+CIPHERTEXT = 67a233c95746f2ba
+
+COUNT = 1
+KEY1 = 32b6b5406240c8a8
+KEY2 = 92fbc485aeab34f1
+KEY3 = f28049d054fdab0b
+PLAINTEXT = 67a233c95746f2ba
+CIPHERTEXT = 50cea9ff1113bf4e
+
+COUNT = 2
+KEY1 = 62791cbf735276e6
+KEY2 = 02b0b6e51c0d7676
+KEY3 = 89465efe7686fbf4
+PLAINTEXT = 50cea9ff1113bf4e
+CIPHERTEXT = c50fa3ae2857a80b
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 5e45fb460ee34f0d
+KEY2 = bc01763e9115c4f2
+KEY3 = 5db54fc12386a894
+CIPHERTEXT = 19e3b55ef3b75470
+PLAINTEXT = 806b8efc535e30f7
+
+COUNT = 1
+KEY1 = df2f75ba5dbc7ffb
+KEY2 = 61d9c276674376f8
+KEY3 = c734e0d0137f1676
+CIPHERTEXT = 806b8efc535e30f7
+PLAINTEXT = ceb3127d4aad5afb
+
+COUNT = 2
+KEY1 = 109d67c716102501
+KEY2 = 52ba23c79d0e80e6
+KEY3 = 2c256886a4152ab5
+CIPHERTEXT = ceb3127d4aad5afb
+PLAINTEXT = 585603ee1848ef41
+
diff --git a/fips/testvectors/des3/sample/TECBinvperm.sam b/fips/testvectors/des3/sample/TECBinvperm.sam
new file mode 100644 (file)
index 0000000..a8f176e
--- /dev/null
@@ -0,0 +1,648 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# INVERSE PERMUTATION - KAT for ECB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:15 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 0101010101010101
+PLAINTEXT = 95f8a5e5dd31d900
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+PLAINTEXT = dd7f121ca5015619
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+PLAINTEXT = 2e8653104f3834ea
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+PLAINTEXT = 4bd388ff6cd81d4f
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+PLAINTEXT = 20b9e767b2fb1456
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+PLAINTEXT = 55579380d77138ef
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+PLAINTEXT = 6cc5defaaf04512f
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+PLAINTEXT = 0d9f279ba5d87260
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+PLAINTEXT = d9031b0271bd5a0a
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+PLAINTEXT = 424250b37c3dd951
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+PLAINTEXT = b8061b7ecd9a21e5
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+PLAINTEXT = f15d0f286b65bd28
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+PLAINTEXT = add0cc8d6e5deba1
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+PLAINTEXT = e6d5f82752ad63d1
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+PLAINTEXT = ecbfe3bd3f591a5e
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+PLAINTEXT = f356834379d165cd
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+PLAINTEXT = 2b9f982f20037fa9
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+PLAINTEXT = 889de068a16f0be6
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+PLAINTEXT = e19e275d846a1298
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+PLAINTEXT = 329a8ed523d71aec
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+PLAINTEXT = e7fce22557d23c97
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+PLAINTEXT = 12a9f5817ff2d65d
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+PLAINTEXT = a484c3ad38dc9c19
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+PLAINTEXT = fbe00a8a1ef8ad72
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+PLAINTEXT = 750d079407521363
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+PLAINTEXT = 64feed9c724c2faf
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+PLAINTEXT = f02b263b328e2b60
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+PLAINTEXT = 9d64555a9a10b852
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+PLAINTEXT = d106ff0bed5255d7
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+PLAINTEXT = e1652c6b138c64a5
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+PLAINTEXT = e428581186ec8f46
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+PLAINTEXT = aeb5f5ede22d1a36
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+PLAINTEXT = e943d7568aec0c5c
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+PLAINTEXT = df98c8276f54b04b
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+PLAINTEXT = b160e4680f6c696f
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+PLAINTEXT = fa0752b07d9c4ab8
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+PLAINTEXT = ca3a2b036dbc8502
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+PLAINTEXT = 5e0905517bb59bcf
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+PLAINTEXT = 814eeb3b91d90726
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+PLAINTEXT = 4d49db1532919c9f
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+PLAINTEXT = 25eb5fc3f8cf0621
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+PLAINTEXT = ab6a20c0620d1c6f
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+PLAINTEXT = 79e90dbc98f92cca
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+PLAINTEXT = 866ecedd8072bb0e
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+PLAINTEXT = 8b54536f2f3e64a8
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+PLAINTEXT = ea51d3975595b86b
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+PLAINTEXT = caffc6ac4542de31
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+PLAINTEXT = 8dd45a2ddf90796c
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+PLAINTEXT = 1029d55e880ec2d0
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+PLAINTEXT = 5d86cb23639dbea9
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+PLAINTEXT = 1d1ca853ae7c0c5f
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+PLAINTEXT = ce332329248f3228
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+PLAINTEXT = 8405d1abe24fb942
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+PLAINTEXT = e643d78090ca4207
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+PLAINTEXT = 48221b9937748a23
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+PLAINTEXT = dd7c0bbd61fafd54
+CIPHERTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+PLAINTEXT = 2fbc291a570db5c4
+CIPHERTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+PLAINTEXT = e07c30d7e4e26e12
+CIPHERTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+PLAINTEXT = 0953e2258e8e90a1
+CIPHERTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+PLAINTEXT = 5b711bc4ceebf2ee
+CIPHERTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+PLAINTEXT = cc083f1e6d9e85f6
+CIPHERTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+PLAINTEXT = d2fd8867d50d2dfe
+CIPHERTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+PLAINTEXT = 06e7ea22ce92708f
+CIPHERTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+PLAINTEXT = 166b40b44aba4bd6
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 0101010101010101
+CIPHERTEXT = 8000000000000000
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+CIPHERTEXT = 4000000000000000
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+CIPHERTEXT = 2000000000000000
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+CIPHERTEXT = 1000000000000000
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+CIPHERTEXT = 0800000000000000
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+CIPHERTEXT = 0400000000000000
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+CIPHERTEXT = 0200000000000000
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+CIPHERTEXT = 0100000000000000
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+CIPHERTEXT = 0080000000000000
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+CIPHERTEXT = 0040000000000000
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+CIPHERTEXT = 0020000000000000
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+CIPHERTEXT = 0010000000000000
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+CIPHERTEXT = 0008000000000000
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+CIPHERTEXT = 0004000000000000
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+CIPHERTEXT = 0002000000000000
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+CIPHERTEXT = 0001000000000000
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+CIPHERTEXT = 0000800000000000
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+CIPHERTEXT = 0000400000000000
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+CIPHERTEXT = 0000200000000000
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+CIPHERTEXT = 0000100000000000
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+CIPHERTEXT = 0000080000000000
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+CIPHERTEXT = 0000040000000000
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+CIPHERTEXT = 0000020000000000
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+CIPHERTEXT = 0000010000000000
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+CIPHERTEXT = 0000008000000000
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+CIPHERTEXT = 0000004000000000
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+CIPHERTEXT = 0000002000000000
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+CIPHERTEXT = 0000001000000000
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000800000000
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000400000000
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000200000000
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000100000000
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000080000000
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000040000000
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000020000000
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000010000000
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000008000000
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000004000000
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000002000000
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000001000000
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000800000
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000400000
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000200000
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000100000
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000080000
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000040000
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000020000
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000010000
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000008000
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000004000
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000002000
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000001000
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000000800
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000000400
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000000200
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000000100
+PLAINTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000000080
+PLAINTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000000040
+PLAINTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000000020
+PLAINTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000000010
+PLAINTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000000008
+PLAINTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000000004
+PLAINTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000000002
+PLAINTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+CIPHERTEXT = 0000000000000001
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TECBpermop.sam b/fips/testvectors/des3/sample/TECBpermop.sam
new file mode 100644 (file)
index 0000000..3066dc8
--- /dev/null
@@ -0,0 +1,328 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# PERMUTATION OPERATION - KAT for ECB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:15 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 1046913489980131
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 1007103489988020
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 10071034c8980120
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 1046103489988020
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 1086911519190101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 1086911519580101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 5107b01519580101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 1007b01519190101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 3107915498080101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 3107919498080101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 10079115b9080140
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 3107911598080140
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 1007d01589980101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 9107911589980101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 9107d01589190101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 1007d01598980120
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 1007940498190101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0107910491190401
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0107910491190101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0107940491190401
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 19079210981a0101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 1007911998190801
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 10079119981a0801
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 1007921098190101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 100791159819010b
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 1004801598190101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 1004801598190102
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 1004801598190108
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 1002911598100104
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 1002911598190104
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 1002911598100201
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 1002911698100101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 1046913489980131
+CIPHERTEXT = 88d55e54f54c97b4
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 1007103489988020
+CIPHERTEXT = 0c0cc00c83ea48fd
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 10071034c8980120
+CIPHERTEXT = 83bc8ef3a6570183
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 1046103489988020
+CIPHERTEXT = df725dcad94ea2e9
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 1086911519190101
+CIPHERTEXT = e652b53b550be8b0
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 1086911519580101
+CIPHERTEXT = af527120c485cbb0
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 5107b01519580101
+CIPHERTEXT = 0f04ce393db926d5
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 1007b01519190101
+CIPHERTEXT = c9f00ffc74079067
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 3107915498080101
+CIPHERTEXT = 7cfd82a593252b4e
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 3107919498080101
+CIPHERTEXT = cb49a2f9e91363e3
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 10079115b9080140
+CIPHERTEXT = 00b588be70d23f56
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 3107911598080140
+CIPHERTEXT = 406a9a6ab43399ae
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 1007d01589980101
+CIPHERTEXT = 6cb773611dca9ada
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 9107911589980101
+CIPHERTEXT = 67fd21c17dbb5d70
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 9107d01589190101
+CIPHERTEXT = 9592cb4110430787
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 1007d01598980120
+CIPHERTEXT = a6b7ff68a318ddd3
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 1007940498190101
+CIPHERTEXT = 4d102196c914ca16
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0107910491190401
+CIPHERTEXT = 2dfa9f4573594965
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0107910491190101
+CIPHERTEXT = b46604816c0e0774
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0107940491190401
+CIPHERTEXT = 6e7e6221a4f34e87
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 19079210981a0101
+CIPHERTEXT = aa85e74643233199
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 1007911998190801
+CIPHERTEXT = 2e5a19db4d1962d6
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 10079119981a0801
+CIPHERTEXT = 23a866a809d30894
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 1007921098190101
+CIPHERTEXT = d812d961f017d320
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 100791159819010b
+CIPHERTEXT = 055605816e58608f
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 1004801598190101
+CIPHERTEXT = abd88e8b1b7716f1
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 1004801598190102
+CIPHERTEXT = 537ac95be69da1e1
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 1004801598190108
+CIPHERTEXT = aed0f6ae3c25cdd8
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 1002911598100104
+CIPHERTEXT = b3e35a5ee53e7b8d
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 1002911598190104
+CIPHERTEXT = 61c79c71921a2ef8
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 1002911598100201
+CIPHERTEXT = e2f5728f0995013c
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 1002911698100101
+CIPHERTEXT = 1aeac39a61f0a464
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TECBsubtab.sam b/fips/testvectors/des3/sample/TECBsubtab.sam
new file mode 100644 (file)
index 0000000..d65f189
--- /dev/null
@@ -0,0 +1,198 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# SUBSTITUTION TABLE - KAT for ECB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:15 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 7ca110454a1a6e57
+PLAINTEXT = 01a1d6d039776742
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0131d9619dc1376e
+PLAINTEXT = 5cd54ca83def57da
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 07a1133e4a0b2686
+PLAINTEXT = 0248d43806f67172
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 3849674c2602319e
+PLAINTEXT = 51454b582ddf440a
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 04b915ba43feb5b6
+PLAINTEXT = 42fd443059577fa2
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0113b970fd34f2ce
+PLAINTEXT = 059b5e0851cf143a
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0170f175468fb5e6
+PLAINTEXT = 0756d8e0774761d2
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 43297fad38e373fe
+PLAINTEXT = 762514b829bf486a
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 07a7137045da2a16
+PLAINTEXT = 3bdd119049372802
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 04689104c2fd3b2f
+PLAINTEXT = 26955f6835af609a
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 37d06bb516cb7546
+PLAINTEXT = 164d5e404f275232
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 1f08260d1ac2465e
+PLAINTEXT = 6b056e18759f5cca
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 584023641aba6176
+PLAINTEXT = 004bd6ef09176062
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 025816164629b007
+PLAINTEXT = 480d39006ee762f2
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 49793ebc79b3258f
+PLAINTEXT = 437540c8698f3cfa
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 4fb05e1515ab73a7
+PLAINTEXT = 072d43a077075292
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 49e95d6d4ca229bf
+PLAINTEXT = 02fe55778117f12a
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 018310dc409b26d6
+PLAINTEXT = 1d9d5c5018f728c2
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 1c587f1c13924fef
+PLAINTEXT = 305532286d6f295a
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 7ca110454a1a6e57
+CIPHERTEXT = 690f5b0d9a26939b
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0131d9619dc1376e
+CIPHERTEXT = 7a389d10354bd271
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 07a1133e4a0b2686
+CIPHERTEXT = 868ebb51cab4599a
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 3849674c2602319e
+CIPHERTEXT = 7178876e01f19b2a
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 04b915ba43feb5b6
+CIPHERTEXT = af37fb421f8c4095
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0113b970fd34f2ce
+CIPHERTEXT = 86a560f10ec6d85b
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0170f175468fb5e6
+CIPHERTEXT = 0cd3da020021dc09
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 43297fad38e373fe
+CIPHERTEXT = ea676b2cb7db2b7a
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 07a7137045da2a16
+CIPHERTEXT = dfd64a815caf1a0f
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 04689104c2fd3b2f
+CIPHERTEXT = 5c513c9c4886c088
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 37d06bb516cb7546
+CIPHERTEXT = 0a2aeeae3ff4ab77
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 1f08260d1ac2465e
+CIPHERTEXT = ef1bf03e5dfa575a
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 584023641aba6176
+CIPHERTEXT = 88bf0db6d70dee56
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 025816164629b007
+CIPHERTEXT = a1f9915541020b56
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 49793ebc79b3258f
+CIPHERTEXT = 6fbf1cafcffd0556
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 4fb05e1515ab73a7
+CIPHERTEXT = 2f22e49bab7ca1ac
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 49e95d6d4ca229bf
+CIPHERTEXT = 5a6b612cc26cce4a
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 018310dc409b26d6
+CIPHERTEXT = 5f4c038ed12b2e41
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 1c587f1c13924fef
+CIPHERTEXT = 63fac0d034d9f793
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TECBvarkey.sam b/fips/testvectors/des3/sample/TECBvarkey.sam
new file mode 100644 (file)
index 0000000..6aa6f82
--- /dev/null
@@ -0,0 +1,568 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# VARIABLE KEY - KAT for ECB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:15 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 8001010101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 4001010101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 2001010101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 1001010101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0801010101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0401010101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0201010101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0180010101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0140010101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0120010101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0110010101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0108010101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0104010101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0102010101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101800101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101400101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101200101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101100101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101080101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101040101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101020101010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101018001010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101014001010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101012001010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101011001010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010801010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010401010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010201010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010180010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010140010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010120010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010110010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010108010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010104010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010102010101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101800101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101400101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101200101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101100101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101080101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101040101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101020101
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101018001
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101014001
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101012001
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101011001
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010801
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010401
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010201
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010180
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010140
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010120
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010110
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010108
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010104
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010102
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 8001010101010101
+CIPHERTEXT = 95a8d72813daa94d
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 4001010101010101
+CIPHERTEXT = 0eec1487dd8c26d5
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 2001010101010101
+CIPHERTEXT = 7ad16ffb79c45926
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 1001010101010101
+CIPHERTEXT = d3746294ca6a6cf3
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0801010101010101
+CIPHERTEXT = 809f5f873c1fd761
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0401010101010101
+CIPHERTEXT = c02faffec989d1fc
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0201010101010101
+CIPHERTEXT = 4615aa1d33e72f10
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0180010101010101
+CIPHERTEXT = 2055123350c00858
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0140010101010101
+CIPHERTEXT = df3b99d6577397c8
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0120010101010101
+CIPHERTEXT = 31fe17369b5288c9
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0110010101010101
+CIPHERTEXT = dfdd3cc64dae1642
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0108010101010101
+CIPHERTEXT = 178c83ce2b399d94
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0104010101010101
+CIPHERTEXT = 50f636324a9b7f80
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0102010101010101
+CIPHERTEXT = a8468ee3bc18f06d
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101800101010101
+CIPHERTEXT = a2dc9e92fd3cde92
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101400101010101
+CIPHERTEXT = cac09f797d031287
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101200101010101
+CIPHERTEXT = 90ba680b22aeb525
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101100101010101
+CIPHERTEXT = ce7a24f350e280b6
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101080101010101
+CIPHERTEXT = 882bff0aa01a0b87
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101040101010101
+CIPHERTEXT = 25610288924511c2
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101020101010101
+CIPHERTEXT = c71516c29c75d170
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101018001010101
+CIPHERTEXT = 5199c29a52c9f059
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101014001010101
+CIPHERTEXT = c22f0a294a71f29f
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101012001010101
+CIPHERTEXT = ee371483714c02ea
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101011001010101
+CIPHERTEXT = a81fbd448f9e522f
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010801010101
+CIPHERTEXT = 4f644c92e192dfed
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010401010101
+CIPHERTEXT = 1afa9a66a6df92ae
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010201010101
+CIPHERTEXT = b3c1cc715cb879d8
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010180010101
+CIPHERTEXT = 19d032e64ab0bd8b
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010140010101
+CIPHERTEXT = 3cfaa7a7dc8720dc
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010120010101
+CIPHERTEXT = b7265f7f447ac6f3
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010110010101
+CIPHERTEXT = 9db73b3c0d163f54
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010108010101
+CIPHERTEXT = 8181b65babf4a975
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010104010101
+CIPHERTEXT = 93c9b64042eaa240
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010102010101
+CIPHERTEXT = 5570530829705592
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101800101
+CIPHERTEXT = 8638809e878787a0
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101400101
+CIPHERTEXT = 41b9a79af79ac208
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101200101
+CIPHERTEXT = 7a9be42f2009a892
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101100101
+CIPHERTEXT = 29038d56ba6d2745
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101080101
+CIPHERTEXT = 5495c6abf1e5df51
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101040101
+CIPHERTEXT = ae13dbd561488933
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101020101
+CIPHERTEXT = 024d1ffa8904e389
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101018001
+CIPHERTEXT = d1399712f99bf02e
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101014001
+CIPHERTEXT = 14c1d7c1cffec79e
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101012001
+CIPHERTEXT = 1de5279dae3bed6f
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101011001
+CIPHERTEXT = e941a33f85501303
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010801
+CIPHERTEXT = da99dbbc9a03f379
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010401
+CIPHERTEXT = b7fc92f91d8e92e9
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010201
+CIPHERTEXT = ae8e5caa3ca04e85
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010180
+CIPHERTEXT = 9cc62df43b6eed74
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010140
+CIPHERTEXT = d863dbb5c59a91a0
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010120
+CIPHERTEXT = a1ab2190545b91d7
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010110
+CIPHERTEXT = 0875041e64c570f7
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010108
+CIPHERTEXT = 5a594528bebef1cc
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010104
+CIPHERTEXT = fcdb3291de21f0c0
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010102
+CIPHERTEXT = 869efd7f9f265a09
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TECBvartext.sam b/fips/testvectors/des3/sample/TECBvartext.sam
new file mode 100644 (file)
index 0000000..3ff54b7
--- /dev/null
@@ -0,0 +1,648 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for ECB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:15 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 0101010101010101
+PLAINTEXT = 8000000000000000
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+PLAINTEXT = 4000000000000000
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+PLAINTEXT = 2000000000000000
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+PLAINTEXT = 1000000000000000
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+PLAINTEXT = 0800000000000000
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+PLAINTEXT = 0400000000000000
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+PLAINTEXT = 0200000000000000
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+PLAINTEXT = 0100000000000000
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+PLAINTEXT = 0080000000000000
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+PLAINTEXT = 0040000000000000
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+PLAINTEXT = 0020000000000000
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+PLAINTEXT = 0010000000000000
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+PLAINTEXT = 0008000000000000
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+PLAINTEXT = 0004000000000000
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+PLAINTEXT = 0002000000000000
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+PLAINTEXT = 0001000000000000
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+PLAINTEXT = 0000800000000000
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+PLAINTEXT = 0000400000000000
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+PLAINTEXT = 0000200000000000
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+PLAINTEXT = 0000100000000000
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+PLAINTEXT = 0000080000000000
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+PLAINTEXT = 0000040000000000
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+PLAINTEXT = 0000020000000000
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+PLAINTEXT = 0000010000000000
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+PLAINTEXT = 0000008000000000
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+PLAINTEXT = 0000004000000000
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+PLAINTEXT = 0000002000000000
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+PLAINTEXT = 0000001000000000
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+PLAINTEXT = 0000000800000000
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+PLAINTEXT = 0000000400000000
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+PLAINTEXT = 0000000200000000
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+PLAINTEXT = 0000000100000000
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+PLAINTEXT = 0000000080000000
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+PLAINTEXT = 0000000040000000
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+PLAINTEXT = 0000000020000000
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+PLAINTEXT = 0000000010000000
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+PLAINTEXT = 0000000008000000
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+PLAINTEXT = 0000000004000000
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+PLAINTEXT = 0000000002000000
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+PLAINTEXT = 0000000001000000
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000800000
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000400000
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000200000
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000100000
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000080000
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000040000
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000020000
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000010000
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000008000
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000004000
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000002000
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000001000
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000000800
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000000400
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000000200
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000000100
+CIPHERTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000000080
+CIPHERTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000000040
+CIPHERTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000000020
+CIPHERTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000000010
+CIPHERTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000000008
+CIPHERTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000000004
+CIPHERTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000000002
+CIPHERTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+PLAINTEXT = 0000000000000001
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 0101010101010101
+CIPHERTEXT = 95f8a5e5dd31d900
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+CIPHERTEXT = dd7f121ca5015619
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+CIPHERTEXT = 2e8653104f3834ea
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+CIPHERTEXT = 4bd388ff6cd81d4f
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+CIPHERTEXT = 20b9e767b2fb1456
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+CIPHERTEXT = 55579380d77138ef
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+CIPHERTEXT = 6cc5defaaf04512f
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+CIPHERTEXT = 0d9f279ba5d87260
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+CIPHERTEXT = d9031b0271bd5a0a
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+CIPHERTEXT = 424250b37c3dd951
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+CIPHERTEXT = b8061b7ecd9a21e5
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+CIPHERTEXT = f15d0f286b65bd28
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+CIPHERTEXT = add0cc8d6e5deba1
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+CIPHERTEXT = e6d5f82752ad63d1
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+CIPHERTEXT = ecbfe3bd3f591a5e
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+CIPHERTEXT = f356834379d165cd
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+CIPHERTEXT = 2b9f982f20037fa9
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+CIPHERTEXT = 889de068a16f0be6
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+CIPHERTEXT = e19e275d846a1298
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+CIPHERTEXT = 329a8ed523d71aec
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+CIPHERTEXT = e7fce22557d23c97
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+CIPHERTEXT = 12a9f5817ff2d65d
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+CIPHERTEXT = a484c3ad38dc9c19
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+CIPHERTEXT = fbe00a8a1ef8ad72
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+CIPHERTEXT = 750d079407521363
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+CIPHERTEXT = 64feed9c724c2faf
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+CIPHERTEXT = f02b263b328e2b60
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+CIPHERTEXT = 9d64555a9a10b852
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+CIPHERTEXT = d106ff0bed5255d7
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+CIPHERTEXT = e1652c6b138c64a5
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+CIPHERTEXT = e428581186ec8f46
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+CIPHERTEXT = aeb5f5ede22d1a36
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+CIPHERTEXT = e943d7568aec0c5c
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+CIPHERTEXT = df98c8276f54b04b
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+CIPHERTEXT = b160e4680f6c696f
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+CIPHERTEXT = fa0752b07d9c4ab8
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+CIPHERTEXT = ca3a2b036dbc8502
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+CIPHERTEXT = 5e0905517bb59bcf
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+CIPHERTEXT = 814eeb3b91d90726
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+CIPHERTEXT = 4d49db1532919c9f
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+CIPHERTEXT = 25eb5fc3f8cf0621
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+CIPHERTEXT = ab6a20c0620d1c6f
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+CIPHERTEXT = 79e90dbc98f92cca
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+CIPHERTEXT = 866ecedd8072bb0e
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+CIPHERTEXT = 8b54536f2f3e64a8
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+CIPHERTEXT = ea51d3975595b86b
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+CIPHERTEXT = caffc6ac4542de31
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+CIPHERTEXT = 8dd45a2ddf90796c
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+CIPHERTEXT = 1029d55e880ec2d0
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+CIPHERTEXT = 5d86cb23639dbea9
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+CIPHERTEXT = 1d1ca853ae7c0c5f
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+CIPHERTEXT = ce332329248f3228
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+CIPHERTEXT = 8405d1abe24fb942
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+CIPHERTEXT = e643d78090ca4207
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+CIPHERTEXT = 48221b9937748a23
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+CIPHERTEXT = dd7c0bbd61fafd54
+PLAINTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+CIPHERTEXT = 2fbc291a570db5c4
+PLAINTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+CIPHERTEXT = e07c30d7e4e26e12
+PLAINTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+CIPHERTEXT = 0953e2258e8e90a1
+PLAINTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+CIPHERTEXT = 5b711bc4ceebf2ee
+PLAINTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+CIPHERTEXT = cc083f1e6d9e85f6
+PLAINTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+CIPHERTEXT = d2fd8867d50d2dfe
+PLAINTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+CIPHERTEXT = 06e7ea22ce92708f
+PLAINTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+CIPHERTEXT = 166b40b44aba4bd6
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TOFBMMT1.sam b/fips/testvectors/des3/sample/TOFBMMT1.sam
new file mode 100644 (file)
index 0000000..9acca0e
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for OFB
+# State : Encrypt and Decrypt
+# Tue Jun 24 03:00:17 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = fee57ffb1ca72675
+KEY2 = fee57ffb1ca72675
+KEY3 = fee57ffb1ca72675
+IV1 = f1a42447a333caa3
+PLAINTEXT = 8aabb83216e4bd5a
+CIPHERTEXT = 38107e3b6136a726
+
+COUNT = 1
+KEY1 = 01d9b91091251570
+KEY2 = 01d9b91091251570
+KEY3 = 01d9b91091251570
+IV1 = 2f7cf59ed4507378
+PLAINTEXT = dcd1c7148f2aa118123219450c02aead
+CIPHERTEXT = 016bcd50de8eed403b92f321d0ecc478
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 7673d56191b0ae40
+KEY2 = 7673d56191b0ae40
+KEY3 = 7673d56191b0ae40
+IV1 = c72fae3dd6e80dc2
+CIPHERTEXT = 9132407528c7b2ca
+PLAINTEXT = 70d25a20bb5545fb
+
+COUNT = 1
+KEY1 = 8a7975e64a26ea43
+KEY2 = 8a7975e64a26ea43
+KEY3 = 8a7975e64a26ea43
+IV1 = 1dde7e6318bbbe60
+CIPHERTEXT = 30b8c7d95094c083d9aaaf675bd94389
+PLAINTEXT = f18024b68de3abc33ff585694f7730cb
+
diff --git a/fips/testvectors/des3/sample/TOFBMMT2.sam b/fips/testvectors/des3/sample/TOFBMMT2.sam
new file mode 100644 (file)
index 0000000..947ecb3
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for OFB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:59:56 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 98b0ef16aea7b02c
+KEY2 = a4a8f47c4f91cb8f
+KEY3 = 98b0ef16aea7b02c
+IV1 = 0b7505a2d356fe20
+PLAINTEXT = 6144b78070aff48b
+CIPHERTEXT = d6fc2402b265e29c
+
+COUNT = 1
+KEY1 = e9b56ddfe62fefce
+KEY2 = 85ae3404201c7008
+KEY3 = e9b56ddfe62fefce
+IV1 = 6aeec9f662b4aedf
+PLAINTEXT = 3dabe1f11853808d180f5533f843848a
+CIPHERTEXT = 269aaec648423dc11e7ecb3fca376af1
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 7f5210977a5e3789
+KEY2 = 1c10c89b20c2b30e
+KEY3 = 7f5210977a5e3789
+IV1 = b771165eccdb18d6
+CIPHERTEXT = fd9f18fb1d48405a
+PLAINTEXT = e0b73d268add817f
+
+COUNT = 1
+KEY1 = dc2f6e3ba2bc6e7f
+KEY2 = 70ad80d51980d0bc
+KEY3 = dc2f6e3ba2bc6e7f
+IV1 = 98fb805652d12d03
+CIPHERTEXT = 4165f2524a842354c3de080ca84da1c9
+PLAINTEXT = 19a7ff6dc0cd2f6bf3e25a6c9e386d8a
+
diff --git a/fips/testvectors/des3/sample/TOFBMMT3.sam b/fips/testvectors/des3/sample/TOFBMMT3.sam
new file mode 100644 (file)
index 0000000..c8aabe7
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Multi block Message Test for OFB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:59:33 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = b0d04619f883da9e
+KEY2 = f8fb624cd3618a04
+KEY3 = f4917fe0df6d6119
+IV1 = 874e55dd58e1ca32
+PLAINTEXT = 4d6a73eabfc49341
+CIPHERTEXT = 04b044acd257d4d2
+
+COUNT = 1
+KEY1 = c804f8d5075434e0
+KEY2 = 759891b59d8fabba
+KEY3 = 858c64feea6bd0e5
+IV1 = 9450e440915afd90
+PLAINTEXT = 74d1ba74953678afc832ffe6fb51bda3
+CIPHERTEXT = 07fa030763fa8ebb793aca1982cca869
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 16b69d46196b9757
+KEY2 = 61d0b5a475d338b3
+KEY3 = 9db0ab4a34c4154c
+IV1 = 39565252a90b62da
+CIPHERTEXT = 547ff94cfd1f8c79
+PLAINTEXT = 263eb83965a26a48
+
+COUNT = 1
+KEY1 = 6da23e9d20261340
+KEY2 = abab5251ad0b514a
+KEY3 = b0cd9e9d75e65d86
+IV1 = 1493130e5d9a9114
+CIPHERTEXT = f98080f0c493374792ee1327cee56ba3
+PLAINTEXT = 9da23517f83598b85d8f3425264d5183
+
diff --git a/fips/testvectors/des3/sample/TOFBMonte1.sam b/fips/testvectors/des3/sample/TOFBMonte1.sam
new file mode 100644 (file)
index 0000000..7e222d5
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for OFB
+# State : Encrypt and Decrypt
+# Tue Jun 24 03:00:17 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 3b19402a3dd31ac8
+KEY2 = 3b19402a3dd31ac8
+KEY3 = 3b19402a3dd31ac8
+IV = 7396e253b756496b
+PLAINTEXT = 9d5f7e60abe51d30
+CIPHERTEXT = 6c39ae670968f0cc
+
+COUNT = 1
+KEY1 = 5720ef4c34baea04
+KEY2 = 5720ef4c34baea04
+KEY3 = 5720ef4c34baea04
+IV = 3d8f479d1f225244
+PLAINTEXT = a381fe0821462c6c
+CIPHERTEXT = 47e44e06382dbab4
+
+COUNT = 2
+KEY1 = 10c4a14a0d9751b0
+KEY2 = 10c4a14a0d9751b0
+KEY3 = 10c4a14a0d9751b0
+IV = 63281afd12f75adf
+PLAINTEXT = ea820e31ffb20f73
+CIPHERTEXT = 92c2d9463d84f716
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 62b96d9dd9b0b08a
+KEY2 = 62b96d9dd9b0b08a
+KEY3 = 62b96d9dd9b0b08a
+IV = 88a90ad02fac5c0a
+CIPHERTEXT = 18abd071509e62bb
+PLAINTEXT = ace665b6ed149e38
+
+COUNT = 1
+KEY1 = ce5e082a34a42fb3
+KEY2 = ce5e082a34a42fb3
+KEY3 = ce5e082a34a42fb3
+IV = 0a28fc0de2bc555c
+CIPHERTEXT = 133da05d9d115cd7
+PLAINTEXT = 8e9414023c22efa9
+
+COUNT = 2
+KEY1 = 40cb1c290886c11a
+KEY2 = 40cb1c290886c11a
+KEY3 = 40cb1c290886c11a
+IV = d3a5d6c01647607f
+CIPHERTEXT = 6f1a9f2ff1822d2a
+PLAINTEXT = 26661d82a29271a6
+
diff --git a/fips/testvectors/des3/sample/TOFBMonte2.sam b/fips/testvectors/des3/sample/TOFBMonte2.sam
new file mode 100644 (file)
index 0000000..394fc9a
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for OFB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:59:56 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = e9b667f883920d97
+KEY2 = 80ea9da4545db645
+KEY3 = e9b667f883920d97
+IV = 336a436b4b50477d
+PLAINTEXT = caefa501a5fbe848
+CIPHERTEXT = 26d03843dcd763f2
+
+COUNT = 1
+KEY1 = ce675eba5e456e64
+KEY2 = 859dd64f927f49a2
+KEY3 = ce675eba5e456e64
+IV = 8c0417b425f320a1
+PLAINTEXT = 5c1be7bd3ee9dd42
+CIPHERTEXT = cb40ed89bd245a48
+
+COUNT = 2
+KEY1 = 0426b332e361342c
+KEY2 = 4f800413580b13d6
+KEY3 = 0426b332e361342c
+IV = ea57b9cb858b3a66
+PLAINTEXT = 1ba1652f8edbef16
+CIPHERTEXT = 1c766f1294fc28dd
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 520e317c6d492ace
+KEY2 = b568808f9467fd08
+KEY3 = 520e317c6d492ace
+IV = 9480345efcfed377
+CIPHERTEXT = 034c69582793b356
+PLAINTEXT = 98b92f362af097c8
+
+COUNT = 1
+KEY1 = cbb61f4a46b9bc07
+KEY2 = 7397d3bf8a3d4a73
+KEY3 = cbb61f4a46b9bc07
+IV = c3a02a1949d2506c
+CIPHERTEXT = 769460b3cff729a1
+PLAINTEXT = 89d755057043e0fe
+
+COUNT = 2
+KEY1 = 43614a4f37fb5df8
+KEY2 = 0dba70bcab986d85
+KEY3 = 43614a4f37fb5df8
+IV = 82c2e5f7258b7b52
+CIPHERTEXT = 1ef2cef16d40da94
+PLAINTEXT = 8be59a13d652dc1a
+
diff --git a/fips/testvectors/des3/sample/TOFBMonte3.sam b/fips/testvectors/des3/sample/TOFBMonte3.sam
new file mode 100644 (file)
index 0000000..aa31648
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# TDES Monte Carlo (Modes) Test for OFB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:59:33 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 54d513893bd9204c
+KEY2 = c7fe6401f232d6b5
+KEY3 = 70764a4f384f80b6
+IV = 258b89eecd77551c
+PLAINTEXT = e6e6fce943c6bebe
+CIPHERTEXT = 7bfd1b71db3d8b5d
+
+COUNT = 1
+KEY1 = 2f2908f8e0e5ab10
+KEY2 = 8386c75d97fd8325
+KEY3 = 611cf27f1c7085b9
+IV = e3f3eb7bca6bdd00
+PLAINTEXT = 2fa72d8c41b3afc3
+CIPHERTEXT = 5c73d655142a4da5
+
+COUNT = 2
+KEY1 = 735bdfadf4cee6b5
+KEY2 = 20c78c9b92296d7f
+KEY3 = 6440c7fe5daeef15
+IV = be9c5b6d306eb192
+PLAINTEXT = a629268f70de6226
+CIPHERTEXT = 1ef79fdb6d7e3567
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 13b9da2f31ae51fe
+KEY2 = c761f86e0443c113
+KEY3 = 7fe9e95831da325e
+IV = a57d8ccc3529b024
+CIPHERTEXT = fcf144e4a7293977
+PLAINTEXT = 70b3dd174951dd9b
+
+COUNT = 1
+KEY1 = 620b073879fe8c64
+KEY2 = 899d89a4b94c5725
+KEY3 = a2d02f38f783d907
+IV = 0100d424613cdd47
+CIPHERTEXT = 596dbb04bfde54e9
+PLAINTEXT = 493a793d5bca3af2
+
+COUNT = 2
+KEY1 = 2a317f042334b697
+KEY2 = bc0e80f7e6cd8076
+KEY3 = 3492dfd04f19df89
+IV = f2b1e9d359767ae2
+CIPHERTEXT = b089afedfd7f9c29
+PLAINTEXT = 83b5cc4c26498d0f
+
diff --git a/fips/testvectors/des3/sample/TOFBinvperm.sam b/fips/testvectors/des3/sample/TOFBinvperm.sam
new file mode 100644 (file)
index 0000000..d2fb513
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# INVERSE PERMUTATION - KAT for OFB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+PLAINTEXT = 95f8a5e5dd31d900
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+PLAINTEXT = dd7f121ca5015619
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+PLAINTEXT = 2e8653104f3834ea
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+PLAINTEXT = 4bd388ff6cd81d4f
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+PLAINTEXT = 20b9e767b2fb1456
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+PLAINTEXT = 55579380d77138ef
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+PLAINTEXT = 6cc5defaaf04512f
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+PLAINTEXT = 0d9f279ba5d87260
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+PLAINTEXT = d9031b0271bd5a0a
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+PLAINTEXT = 424250b37c3dd951
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+PLAINTEXT = b8061b7ecd9a21e5
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+PLAINTEXT = f15d0f286b65bd28
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+PLAINTEXT = add0cc8d6e5deba1
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+PLAINTEXT = e6d5f82752ad63d1
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+PLAINTEXT = ecbfe3bd3f591a5e
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+PLAINTEXT = f356834379d165cd
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+PLAINTEXT = 2b9f982f20037fa9
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+PLAINTEXT = 889de068a16f0be6
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+PLAINTEXT = e19e275d846a1298
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+PLAINTEXT = 329a8ed523d71aec
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+PLAINTEXT = e7fce22557d23c97
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+PLAINTEXT = 12a9f5817ff2d65d
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+PLAINTEXT = a484c3ad38dc9c19
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+PLAINTEXT = fbe00a8a1ef8ad72
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+PLAINTEXT = 750d079407521363
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+PLAINTEXT = 64feed9c724c2faf
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+PLAINTEXT = f02b263b328e2b60
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+PLAINTEXT = 9d64555a9a10b852
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+PLAINTEXT = d106ff0bed5255d7
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+PLAINTEXT = e1652c6b138c64a5
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+PLAINTEXT = e428581186ec8f46
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+PLAINTEXT = aeb5f5ede22d1a36
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+PLAINTEXT = e943d7568aec0c5c
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+PLAINTEXT = df98c8276f54b04b
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+PLAINTEXT = b160e4680f6c696f
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+PLAINTEXT = fa0752b07d9c4ab8
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+PLAINTEXT = ca3a2b036dbc8502
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+PLAINTEXT = 5e0905517bb59bcf
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+PLAINTEXT = 814eeb3b91d90726
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+PLAINTEXT = 4d49db1532919c9f
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+PLAINTEXT = 25eb5fc3f8cf0621
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+PLAINTEXT = ab6a20c0620d1c6f
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+PLAINTEXT = 79e90dbc98f92cca
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+PLAINTEXT = 866ecedd8072bb0e
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+PLAINTEXT = 8b54536f2f3e64a8
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+PLAINTEXT = ea51d3975595b86b
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+PLAINTEXT = caffc6ac4542de31
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+PLAINTEXT = 8dd45a2ddf90796c
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+PLAINTEXT = 1029d55e880ec2d0
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+PLAINTEXT = 5d86cb23639dbea9
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+PLAINTEXT = 1d1ca853ae7c0c5f
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+PLAINTEXT = ce332329248f3228
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+PLAINTEXT = 8405d1abe24fb942
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+PLAINTEXT = e643d78090ca4207
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+PLAINTEXT = 48221b9937748a23
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+PLAINTEXT = dd7c0bbd61fafd54
+CIPHERTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+PLAINTEXT = 2fbc291a570db5c4
+CIPHERTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+PLAINTEXT = e07c30d7e4e26e12
+CIPHERTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+PLAINTEXT = 0953e2258e8e90a1
+CIPHERTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+PLAINTEXT = 5b711bc4ceebf2ee
+CIPHERTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+PLAINTEXT = cc083f1e6d9e85f6
+CIPHERTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+PLAINTEXT = d2fd8867d50d2dfe
+CIPHERTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+PLAINTEXT = 06e7ea22ce92708f
+CIPHERTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+PLAINTEXT = 166b40b44aba4bd6
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+CIPHERTEXT = 95f8a5e5dd31d900
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+CIPHERTEXT = dd7f121ca5015619
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+CIPHERTEXT = 2e8653104f3834ea
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+CIPHERTEXT = 4bd388ff6cd81d4f
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+CIPHERTEXT = 20b9e767b2fb1456
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+CIPHERTEXT = 55579380d77138ef
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+CIPHERTEXT = 6cc5defaaf04512f
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+CIPHERTEXT = 0d9f279ba5d87260
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+CIPHERTEXT = d9031b0271bd5a0a
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+CIPHERTEXT = 424250b37c3dd951
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+CIPHERTEXT = b8061b7ecd9a21e5
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+CIPHERTEXT = f15d0f286b65bd28
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+CIPHERTEXT = add0cc8d6e5deba1
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+CIPHERTEXT = e6d5f82752ad63d1
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+CIPHERTEXT = ecbfe3bd3f591a5e
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+CIPHERTEXT = f356834379d165cd
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+CIPHERTEXT = 2b9f982f20037fa9
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+CIPHERTEXT = 889de068a16f0be6
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+CIPHERTEXT = e19e275d846a1298
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+CIPHERTEXT = 329a8ed523d71aec
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+CIPHERTEXT = e7fce22557d23c97
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+CIPHERTEXT = 12a9f5817ff2d65d
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+CIPHERTEXT = a484c3ad38dc9c19
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+CIPHERTEXT = fbe00a8a1ef8ad72
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+CIPHERTEXT = 750d079407521363
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+CIPHERTEXT = 64feed9c724c2faf
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+CIPHERTEXT = f02b263b328e2b60
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+CIPHERTEXT = 9d64555a9a10b852
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+CIPHERTEXT = d106ff0bed5255d7
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+CIPHERTEXT = e1652c6b138c64a5
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+CIPHERTEXT = e428581186ec8f46
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+CIPHERTEXT = aeb5f5ede22d1a36
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+CIPHERTEXT = e943d7568aec0c5c
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+CIPHERTEXT = df98c8276f54b04b
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+CIPHERTEXT = b160e4680f6c696f
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+CIPHERTEXT = fa0752b07d9c4ab8
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+CIPHERTEXT = ca3a2b036dbc8502
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+CIPHERTEXT = 5e0905517bb59bcf
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+CIPHERTEXT = 814eeb3b91d90726
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+CIPHERTEXT = 4d49db1532919c9f
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+CIPHERTEXT = 25eb5fc3f8cf0621
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+CIPHERTEXT = ab6a20c0620d1c6f
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+CIPHERTEXT = 79e90dbc98f92cca
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+CIPHERTEXT = 866ecedd8072bb0e
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+CIPHERTEXT = 8b54536f2f3e64a8
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+CIPHERTEXT = ea51d3975595b86b
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+CIPHERTEXT = caffc6ac4542de31
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+CIPHERTEXT = 8dd45a2ddf90796c
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+CIPHERTEXT = 1029d55e880ec2d0
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+CIPHERTEXT = 5d86cb23639dbea9
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+CIPHERTEXT = 1d1ca853ae7c0c5f
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+CIPHERTEXT = ce332329248f3228
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+CIPHERTEXT = 8405d1abe24fb942
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+CIPHERTEXT = e643d78090ca4207
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+CIPHERTEXT = 48221b9937748a23
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+CIPHERTEXT = dd7c0bbd61fafd54
+PLAINTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+CIPHERTEXT = 2fbc291a570db5c4
+PLAINTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+CIPHERTEXT = e07c30d7e4e26e12
+PLAINTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+CIPHERTEXT = 0953e2258e8e90a1
+PLAINTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+CIPHERTEXT = 5b711bc4ceebf2ee
+PLAINTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+CIPHERTEXT = cc083f1e6d9e85f6
+PLAINTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+CIPHERTEXT = d2fd8867d50d2dfe
+PLAINTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+CIPHERTEXT = 06e7ea22ce92708f
+PLAINTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+CIPHERTEXT = 166b40b44aba4bd6
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TOFBpermop.sam b/fips/testvectors/des3/sample/TOFBpermop.sam
new file mode 100644 (file)
index 0000000..dd2f1aa
--- /dev/null
@@ -0,0 +1,392 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# PERMUTATION OPERATION - KAT for OFB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 1046913489980131
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 1007103489988020
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 10071034c8980120
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 1046103489988020
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 1086911519190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 1086911519580101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 5107b01519580101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 1007b01519190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 3107915498080101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 3107919498080101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 10079115b9080140
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 3107911598080140
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 1007d01589980101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 9107911589980101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 9107d01589190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 1007d01598980120
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 1007940498190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0107910491190401
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0107910491190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0107940491190401
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 19079210981a0101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 1007911998190801
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 10079119981a0801
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 1007921098190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 100791159819010b
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 1004801598190101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 1004801598190102
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 1004801598190108
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 1002911598100104
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 1002911598190104
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 1002911598100201
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 1002911698100101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 1046913489980131
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 1007103489988020
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 10071034c8980120
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 1046103489988020
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 1086911519190101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 1086911519580101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 5107b01519580101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 1007b01519190101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 3107915498080101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 3107919498080101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 10079115b9080140
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 3107911598080140
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 1007d01589980101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 9107911589980101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 9107d01589190101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 1007d01598980120
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 1007940498190101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0107910491190401
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0107910491190101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0107940491190401
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 19079210981a0101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 1007911998190801
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 10079119981a0801
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 1007921098190101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 100791159819010b
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 1004801598190101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 1004801598190102
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 1004801598190108
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 1002911598100104
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 1002911598190104
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 1002911598100201
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 1002911698100101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TOFBsubtab.sam b/fips/testvectors/des3/sample/TOFBsubtab.sam
new file mode 100644 (file)
index 0000000..b283fc2
--- /dev/null
@@ -0,0 +1,236 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# SUBSTITUTION TABLE - KAT for OFB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 7ca110454a1a6e57
+IV = 01a1d6d039776742
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0131d9619dc1376e
+IV = 5cd54ca83def57da
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 07a1133e4a0b2686
+IV = 0248d43806f67172
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 3849674c2602319e
+IV = 51454b582ddf440a
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 04b915ba43feb5b6
+IV = 42fd443059577fa2
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0113b970fd34f2ce
+IV = 059b5e0851cf143a
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0170f175468fb5e6
+IV = 0756d8e0774761d2
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 43297fad38e373fe
+IV = 762514b829bf486a
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 07a7137045da2a16
+IV = 3bdd119049372802
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 04689104c2fd3b2f
+IV = 26955f6835af609a
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 37d06bb516cb7546
+IV = 164d5e404f275232
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 1f08260d1ac2465e
+IV = 6b056e18759f5cca
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 584023641aba6176
+IV = 004bd6ef09176062
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 025816164629b007
+IV = 480d39006ee762f2
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 49793ebc79b3258f
+IV = 437540c8698f3cfa
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 4fb05e1515ab73a7
+IV = 072d43a077075292
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 49e95d6d4ca229bf
+IV = 02fe55778117f12a
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 018310dc409b26d6
+IV = 1d9d5c5018f728c2
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 1c587f1c13924fef
+IV = 305532286d6f295a
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 7ca110454a1a6e57
+IV = 01a1d6d039776742
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0131d9619dc1376e
+IV = 5cd54ca83def57da
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 07a1133e4a0b2686
+IV = 0248d43806f67172
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 3849674c2602319e
+IV = 51454b582ddf440a
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 04b915ba43feb5b6
+IV = 42fd443059577fa2
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0113b970fd34f2ce
+IV = 059b5e0851cf143a
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0170f175468fb5e6
+IV = 0756d8e0774761d2
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 43297fad38e373fe
+IV = 762514b829bf486a
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 07a7137045da2a16
+IV = 3bdd119049372802
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 04689104c2fd3b2f
+IV = 26955f6835af609a
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 37d06bb516cb7546
+IV = 164d5e404f275232
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 1f08260d1ac2465e
+IV = 6b056e18759f5cca
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 584023641aba6176
+IV = 004bd6ef09176062
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 025816164629b007
+IV = 480d39006ee762f2
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 49793ebc79b3258f
+IV = 437540c8698f3cfa
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 4fb05e1515ab73a7
+IV = 072d43a077075292
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 49e95d6d4ca229bf
+IV = 02fe55778117f12a
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 018310dc409b26d6
+IV = 1d9d5c5018f728c2
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 1c587f1c13924fef
+IV = 305532286d6f295a
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TOFBvarkey.sam b/fips/testvectors/des3/sample/TOFBvarkey.sam
new file mode 100644 (file)
index 0000000..852ee9f
--- /dev/null
@@ -0,0 +1,680 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# VARIABLE KEY - KAT for OFB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 8001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 4001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 2001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 1001010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0801010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0401010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0201010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0180010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0140010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0120010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0110010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0108010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0104010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0102010101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101800101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101400101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101200101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101100101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101080101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101040101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101020101010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101018001010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101014001010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101012001010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101011001010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010801010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010401010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010201010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010180010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010140010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010120010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010110010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010108010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010104010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010102010101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101800101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101400101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101200101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101100101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101080101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101040101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101020101
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101018001
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101014001
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101012001
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101011001
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010801
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010401
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010201
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010180
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010140
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010120
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010110
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010108
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010104
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010102
+IV = 0000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 8001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 4001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 2001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 1001010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0801010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0401010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0201010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0180010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0140010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0120010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0110010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0108010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0104010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0102010101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101800101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101400101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101200101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101100101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101080101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101040101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101020101010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101018001010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101014001010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101012001010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101011001010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010801010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010401010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010201010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010180010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010140010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010120010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010110010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010108010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010104010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010102010101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101800101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101400101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101200101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101100101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101080101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101040101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101020101
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101018001
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101014001
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101012001
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101011001
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010801
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010401
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010201
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010180
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010140
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010120
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010110
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010108
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010104
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010102
+IV = 0000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
diff --git a/fips/testvectors/des3/sample/TOFBvartext.sam b/fips/testvectors/des3/sample/TOFBvartext.sam
new file mode 100644 (file)
index 0000000..76ad734
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS 2.0
+# Config Info for : "OpenSSL_3Key_TDES"
+# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for OFB
+# State : Encrypt and Decrypt
+# Tue Jun 24 02:53:16 PM
+
+[ENCRYPT]
+
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+PLAINTEXT = 0000000000000000
+CIPHERTEXT = ?
+
+[DECRYPT]
+COUNT = 0
+KEYs = 0101010101010101
+IV = 8000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 1
+KEYs = 0101010101010101
+IV = 4000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 2
+KEYs = 0101010101010101
+IV = 2000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 3
+KEYs = 0101010101010101
+IV = 1000000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 4
+KEYs = 0101010101010101
+IV = 0800000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 5
+KEYs = 0101010101010101
+IV = 0400000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 6
+KEYs = 0101010101010101
+IV = 0200000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 7
+KEYs = 0101010101010101
+IV = 0100000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 8
+KEYs = 0101010101010101
+IV = 0080000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 9
+KEYs = 0101010101010101
+IV = 0040000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 10
+KEYs = 0101010101010101
+IV = 0020000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 11
+KEYs = 0101010101010101
+IV = 0010000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 12
+KEYs = 0101010101010101
+IV = 0008000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 13
+KEYs = 0101010101010101
+IV = 0004000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 14
+KEYs = 0101010101010101
+IV = 0002000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 15
+KEYs = 0101010101010101
+IV = 0001000000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 16
+KEYs = 0101010101010101
+IV = 0000800000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 17
+KEYs = 0101010101010101
+IV = 0000400000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 18
+KEYs = 0101010101010101
+IV = 0000200000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 19
+KEYs = 0101010101010101
+IV = 0000100000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 20
+KEYs = 0101010101010101
+IV = 0000080000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 21
+KEYs = 0101010101010101
+IV = 0000040000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 22
+KEYs = 0101010101010101
+IV = 0000020000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 23
+KEYs = 0101010101010101
+IV = 0000010000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 24
+KEYs = 0101010101010101
+IV = 0000008000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 25
+KEYs = 0101010101010101
+IV = 0000004000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 26
+KEYs = 0101010101010101
+IV = 0000002000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 27
+KEYs = 0101010101010101
+IV = 0000001000000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 28
+KEYs = 0101010101010101
+IV = 0000000800000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 29
+KEYs = 0101010101010101
+IV = 0000000400000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 30
+KEYs = 0101010101010101
+IV = 0000000200000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 31
+KEYs = 0101010101010101
+IV = 0000000100000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 32
+KEYs = 0101010101010101
+IV = 0000000080000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 33
+KEYs = 0101010101010101
+IV = 0000000040000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 34
+KEYs = 0101010101010101
+IV = 0000000020000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 35
+KEYs = 0101010101010101
+IV = 0000000010000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 36
+KEYs = 0101010101010101
+IV = 0000000008000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 37
+KEYs = 0101010101010101
+IV = 0000000004000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 38
+KEYs = 0101010101010101
+IV = 0000000002000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 39
+KEYs = 0101010101010101
+IV = 0000000001000000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 40
+KEYs = 0101010101010101
+IV = 0000000000800000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 41
+KEYs = 0101010101010101
+IV = 0000000000400000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 42
+KEYs = 0101010101010101
+IV = 0000000000200000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 43
+KEYs = 0101010101010101
+IV = 0000000000100000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 44
+KEYs = 0101010101010101
+IV = 0000000000080000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 45
+KEYs = 0101010101010101
+IV = 0000000000040000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 46
+KEYs = 0101010101010101
+IV = 0000000000020000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 47
+KEYs = 0101010101010101
+IV = 0000000000010000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 48
+KEYs = 0101010101010101
+IV = 0000000000008000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 49
+KEYs = 0101010101010101
+IV = 0000000000004000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 50
+KEYs = 0101010101010101
+IV = 0000000000002000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 51
+KEYs = 0101010101010101
+IV = 0000000000001000
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 52
+KEYs = 0101010101010101
+IV = 0000000000000800
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 53
+KEYs = 0101010101010101
+IV = 0000000000000400
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 54
+KEYs = 0101010101010101
+IV = 0000000000000200
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 55
+KEYs = 0101010101010101
+IV = 0000000000000100
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 56
+KEYs = 0101010101010101
+IV = 0000000000000080
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 57
+KEYs = 0101010101010101
+IV = 0000000000000040
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 58
+KEYs = 0101010101010101
+IV = 0000000000000020
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 59
+KEYs = 0101010101010101
+IV = 0000000000000010
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 60
+KEYs = 0101010101010101
+IV = 0000000000000008
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 61
+KEYs = 0101010101010101
+IV = 0000000000000004
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 62
+KEYs = 0101010101010101
+IV = 0000000000000002
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?
+
+COUNT = 63
+KEYs = 0101010101010101
+IV = 0000000000000001
+CIPHERTEXT = 0000000000000000
+PLAINTEXT = ?