Add samples.
authorBen Laurie <ben@openssl.org>
Sun, 7 Sep 2003 10:53:13 +0000 (10:53 +0000)
committerBen Laurie <ben@openssl.org>
Sun, 7 Sep 2003 10:53:13 +0000 (10:53 +0000)
54 files changed:
fips/testvectors/des2/sample/TCBCMMT1.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCBCMMT2.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCBCMonte1.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCBCMonte2.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCBCinvperm.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCBCpermop.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCBCsubtab.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCBCvarkey.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCBCvartext.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB1MMT1.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB1MMT2.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB1Monte1.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB1Monte2.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB1invperm.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB1permop.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB1subtab.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB1varkey.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB1vartext.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB64MMT1.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB64MMT2.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB64Monte1.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB64Monte2.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB64invperm.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB64permop.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB64subtab.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB64varkey.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB64vartext.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB8MMT1.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB8MMT2.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB8Monte1.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB8Monte2.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB8invperm.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB8permop.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB8subtab.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB8varkey.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TCFB8vartext.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TECBMMT1.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TECBMMT2.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TECBMonte1.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TECBMonte2.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TECBinvperm.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TECBpermop.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TECBsubtab.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TECBvarkey.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TECBvartext.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TOFBMMT1.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TOFBMMT2.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TOFBMonte1.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TOFBMonte2.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TOFBinvperm.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TOFBpermop.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TOFBsubtab.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TOFBvarkey.sam [new file with mode: 0644]
fips/testvectors/des2/sample/TOFBvartext.sam [new file with mode: 0644]

diff --git a/fips/testvectors/des2/sample/TCBCMMT1.sam b/fips/testvectors/des2/sample/TCBCMMT1.sam
new file mode 100644 (file)
index 0000000..de1b5bd
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Multi block Message Test for CBC
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:30:31 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 70b9fd0bc88567a7
+KEY2 = 70b9fd0bc88567a7
+KEY3 = 70b9fd0bc88567a7
+IV = e4149e9fec84f2f7
+PLAINTEXT = 1d08eef994bfba03
+CIPHERTEXT = 336062341882352a
+
+COUNT = 1
+KEY1 = 46fde6f792d96880
+KEY2 = 46fde6f792d96880
+KEY3 = 46fde6f792d96880
+IV = 4357324e229ef389
+PLAINTEXT = f5bae996d380bde3cf253f4e0179ce43
+CIPHERTEXT = 1b2cad192554d530fda3b1c73bdb4790
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = d31c2c9e0497cec7
+KEY2 = d31c2c9e0497cec7
+KEY3 = d31c2c9e0497cec7
+IV = 9f5e399430038250
+CIPHERTEXT = f667c973332b47d7
+PLAINTEXT = 0d1abae395d6c97f
+
+COUNT = 1
+KEY1 = d0b3fe7a5875e964
+KEY2 = d0b3fe7a5875e964
+KEY3 = d0b3fe7a5875e964
+IV = 230665667aa9c6a1
+CIPHERTEXT = 07603a6d416c29a8b8d0dc2f7fa90da6
+PLAINTEXT = ad993f92f9f00899297ffcc5f1cf3644
+
diff --git a/fips/testvectors/des2/sample/TCBCMMT2.sam b/fips/testvectors/des2/sample/TCBCMMT2.sam
new file mode 100644 (file)
index 0000000..5083896
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Multi block Message Test for CBC
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:30:09 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 5e0ec4c7085d3e64
+KEY2 = e592297980efc4cd
+KEY3 = 5e0ec4c7085d3e64
+IV = 28ab21f34c7f1dd1
+PLAINTEXT = 59c21b845c491912
+CIPHERTEXT = 4526c64bd4b08817
+
+COUNT = 1
+KEY1 = adcde94a76b69740
+KEY2 = efa46ef4a402045d
+KEY3 = adcde94a76b69740
+IV = 66b822f0d7e175d2
+PLAINTEXT = ad9c9f126eafa39295876c802dd96ed5
+CIPHERTEXT = fa589ae4f13daaff371d1cb8a3d18cc9
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 640854bfc25d4f26
+KEY2 = 8afbe526541f3734
+KEY3 = 640854bfc25d4f26
+IV = 0b7aeb0a49e5783e
+CIPHERTEXT = 443df12ce9184c9b
+PLAINTEXT = 45e89c5ac7606455
+
+COUNT = 1
+KEY1 = e9799ba46beaa1c4
+KEY2 = a754d079294cb5ab
+KEY3 = e9799ba46beaa1c4
+IV = 3e948d2392a67555
+CIPHERTEXT = b2af6b4dda46b969af8bde60de088d25
+PLAINTEXT = 717cd167ab1bbfa8569ca3d57afd2e1a
+
diff --git a/fips/testvectors/des2/sample/TCBCMonte1.sam b/fips/testvectors/des2/sample/TCBCMonte1.sam
new file mode 100644 (file)
index 0000000..53698d8
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Monte Carlo (Modes) Test for CBC
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:30:31 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 91f86275c2f8e3ad
+KEY2 = 91f86275c2f8e3ad
+KEY3 = 91f86275c2f8e3ad
+IV = 389df63e9a5c43fb
+PLAINTEXT = 6982a79d7bcc8bec
+CIPHERTEXT = e0ce96c393101232
+
+COUNT = 1
+KEY1 = 7037f4b651e9f19e
+KEY2 = 7037f4b651e9f19e
+KEY3 = 7037f4b651e9f19e
+IV = e0ce96c393101232
+PLAINTEXT = 47753ac5b83487fe
+CIPHERTEXT = 3868b919f825b135
+
+COUNT = 2
+KEY1 = 495e4caea8cd40ab
+KEY2 = 495e4caea8cd40ab
+KEY3 = 495e4caea8cd40ab
+IV = 3868b919f825b135
+PLAINTEXT = f6c6b08ac8b7575d
+CIPHERTEXT = c85af28129331d49
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = d0d6ce808c268986
+KEY2 = d0d6ce808c268986
+KEY3 = d0d6ce808c268986
+IV = f8a83c44d16f32c1
+CIPHERTEXT = 8cb253e7b0f5ba5f
+PLAINTEXT = 3bd91f0b79cd94ca
+
+COUNT = 1
+KEY1 = ea0ed08af4ea1c4c
+KEY2 = ea0ed08af4ea1c4c
+KEY3 = ea0ed08af4ea1c4c
+IV = 464520b0987b6e04
+CIPHERTEXT = 3bd91f0b79cd94ca
+PLAINTEXT = 15a0758bba123862
+
+COUNT = 2
+KEY1 = feaea4014ff8252f
+KEY2 = feaea4014ff8252f
+KEY3 = feaea4014ff8252f
+IV = 3b953da192fad5c5
+CIPHERTEXT = 15a0758bba123862
+PLAINTEXT = 59cec820149c8bb7
+
diff --git a/fips/testvectors/des2/sample/TCBCMonte2.sam b/fips/testvectors/des2/sample/TCBCMonte2.sam
new file mode 100644 (file)
index 0000000..448eae2
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Monte Carlo (Modes) Test for CBC
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:30:09 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 0ee6c891da3ebff1
+KEY2 = abbfbad0588c012c
+KEY3 = 0ee6c891da3ebff1
+IV = 4c9fb05029e68320
+PLAINTEXT = a53dd32369a8a89c
+CIPHERTEXT = a6221cb171536c0d
+
+COUNT = 1
+KEY1 = a8c4d520ab6dd3fd
+KEY2 = 0bb5daec9e1a9879
+KEY3 = a8c4d520ab6dd3fd
+IV = a6221cb171536c0d
+PLAINTEXT = a00b603cc7969955
+CIPHERTEXT = fc4e090fa04fe9bb
+
+COUNT = 2
+KEY1 = 548adc2f0b233b46
+KEY2 = 292fe631a1e90b16
+KEY3 = 548adc2f0b233b46
+IV = fc4e090fa04fe9bb
+PLAINTEXT = 229b3ddd3ff3926f
+CIPHERTEXT = c8e0e76476ff214e
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 9ea1f1314929081a
+KEY2 = 1cb9c20b31318086
+KEY3 = 9ea1f1314929081a
+IV = d8586975c7de24a1
+CIPHERTEXT = 97915137825d88ff
+PLAINTEXT = 5b8e69f716d90461
+
+COUNT = 1
+KEY1 = c42f98c75ef10d7a
+KEY2 = 94c83b573d98ce0d
+KEY3 = c42f98c75ef10d7a
+IV = 8970f95d0ca84f8b
+CIPHERTEXT = 5b8e69f716d90461
+PLAINTEXT = a1f861a8ef668d9c
+
+COUNT = 2
+KEY1 = 64d6f86eb09780e6
+KEY2 = 52a4860204a716d0
+KEY3 = 64d6f86eb09780e6
+IV = c66dbd55383fd9dc
+CIPHERTEXT = a1f861a8ef668d9c
+PLAINTEXT = cddcb942bcf41925
+
diff --git a/fips/testvectors/des2/sample/TCBCinvperm.sam b/fips/testvectors/des2/sample/TCBCinvperm.sam
new file mode 100644 (file)
index 0000000..f7e8cae
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# INVERSE PERMUTATION - KAT for CBC
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCBCpermop.sam b/fips/testvectors/des2/sample/TCBCpermop.sam
new file mode 100644 (file)
index 0000000..89b9d33
--- /dev/null
@@ -0,0 +1,392 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# PERMUTATION OPERATION - KAT for CBC
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCBCsubtab.sam b/fips/testvectors/des2/sample/TCBCsubtab.sam
new file mode 100644 (file)
index 0000000..0ce188e
--- /dev/null
@@ -0,0 +1,236 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# SUBSTITUTION TABLE - KAT for CBC
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCBCvarkey.sam b/fips/testvectors/des2/sample/TCBCvarkey.sam
new file mode 100644 (file)
index 0000000..2d50197
--- /dev/null
@@ -0,0 +1,680 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# VARIABLE KEY - KAT for CBC
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCBCvartext.sam b/fips/testvectors/des2/sample/TCBCvartext.sam
new file mode 100644 (file)
index 0000000..5ada0ce
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for CBC
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB1MMT1.sam b/fips/testvectors/des2/sample/TCFB1MMT1.sam
new file mode 100644 (file)
index 0000000..586e93f
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Multi block Message Test for CFB1
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:31:27 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = e0622307161a2a9d
+KEY2 = e0622307161a2a9d
+KEY3 = e0622307161a2a9d
+IV = 7441cff6028b5572
+PLAINTEXT = 1
+CIPHERTEXT = 0
+
+COUNT = 1
+KEY1 = 4f32434a402c2575
+KEY2 = 4f32434a402c2575
+KEY3 = 4f32434a402c2575
+IV = 5e5763cc97123e4d
+PLAINTEXT = 11
+CIPHERTEXT = 10
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 4f3ec46751ce9d97
+KEY2 = 4f3ec46751ce9d97
+KEY3 = 4f3ec46751ce9d97
+IV = b132e17446dce794
+CIPHERTEXT = 1
+PLAINTEXT = 1
+
+COUNT = 1
+KEY1 = 70b516a251f7ec89
+KEY2 = 70b516a251f7ec89
+KEY3 = 70b516a251f7ec89
+IV = ff1f561bfa8755b7
+CIPHERTEXT = 11
+PLAINTEXT = 11
+
diff --git a/fips/testvectors/des2/sample/TCFB1MMT2.sam b/fips/testvectors/des2/sample/TCFB1MMT2.sam
new file mode 100644 (file)
index 0000000..79d7f76
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Multi block Message Test for CFB1
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:31:00 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = cbfb2cfe3e8afe45
+KEY2 = 13ad5b0b4561987c
+KEY3 = cbfb2cfe3e8afe45
+IV = d984d325e1463f0b
+PLAINTEXT = 1
+CIPHERTEXT = 0
+
+COUNT = 1
+KEY1 = 0e86265407f71323
+KEY2 = 91c425087f29b36e
+KEY3 = 0e86265407f71323
+IV = c06768764a43b050
+PLAINTEXT = 11
+CIPHERTEXT = 11
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = a8548aa7d3bcd96b
+KEY2 = 3745347ffe58efb3
+KEY3 = a8548aa7d3bcd96b
+IV = 8ec17c814531b099
+CIPHERTEXT = 1
+PLAINTEXT = 0
+
+COUNT = 1
+KEY1 = 94802f7f7510329e
+KEY2 = 948cb09d85b0a8c1
+KEY3 = 94802f7f7510329e
+IV = e9672e44357a5109
+CIPHERTEXT = 11
+PLAINTEXT = 11
+
diff --git a/fips/testvectors/des2/sample/TCFB1Monte1.sam b/fips/testvectors/des2/sample/TCFB1Monte1.sam
new file mode 100644 (file)
index 0000000..e41861b
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Monte Carlo (Modes) Test for CFB1
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:31:27 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 896b3e7a1602f138
+KEY2 = 896b3e7a1602f138
+KEY3 = 896b3e7a1602f138
+IV = 3d170344248e6221
+PLAINTEXT = 0
+CIPHERTEXT = 1
+
+COUNT = 1
+KEY1 = 43f1624afb9d1c62
+KEY2 = 43f1624afb9d1c62
+KEY3 = 43f1624afb9d1c62
+IV = ca9b5d31ec9fed5b
+PLAINTEXT = 0
+CIPHERTEXT = 0
+
+COUNT = 2
+KEY1 = 5e25e980d03de308
+KEY2 = 5e25e980d03de308
+KEY3 = 5e25e980d03de308
+IV = 1dd48aca2aa1fe6a
+PLAINTEXT = 0
+CIPHERTEXT = 1
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 769e31519b3b89f8
+KEY2 = 769e31519b3b89f8
+KEY3 = 769e31519b3b89f8
+IV = fc33fc82be4fbe41
+CIPHERTEXT = 1
+PLAINTEXT = 1
+
+COUNT = 1
+KEY1 = e38c1ff4e05416b0
+KEY2 = e38c1ff4e05416b0
+KEY3 = e38c1ff4e05416b0
+IV = 8c0ee59c29da8ac7
+CIPHERTEXT = 0
+PLAINTEXT = 1
+
+COUNT = 2
+KEY1 = e934a215ef5b2c6b
+KEY2 = e934a215ef5b2c6b
+KEY3 = e934a215ef5b2c6b
+IV = f9976ba005fae9b6
+CIPHERTEXT = 1
+PLAINTEXT = 0
+
diff --git a/fips/testvectors/des2/sample/TCFB1Monte2.sam b/fips/testvectors/des2/sample/TCFB1Monte2.sam
new file mode 100644 (file)
index 0000000..b1c9502
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Monte Carlo (Modes) Test for CFB1
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:31:00 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 6d087a8c917fbc16
+KEY2 = 3786e63d8f91d3a2
+KEY3 = 6d087a8c917fbc16
+IV = 4d4b9132643e4e74
+PLAINTEXT = 1
+CIPHERTEXT = 0
+
+COUNT = 1
+KEY1 = 46e001577fe67a8f
+KEY2 = 6e916d796b1637b3
+KEY3 = 46e001577fe67a8f
+IV = 2ae97adaef98c798
+PLAINTEXT = 1
+CIPHERTEXT = 0
+
+COUNT = 2
+KEY1 = 75670ea731dc6db3
+KEY2 = 022fc2b575739d8f
+KEY3 = 75670ea731dc6db3
+IV = 33870ef04e3a163c
+PLAINTEXT = 0
+CIPHERTEXT = 0
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = c4c873468ce0238f
+KEY2 = 6e51cde61c648045
+KEY3 = c4c873468ce0238f
+IV = 68bcca71362a3648
+CIPHERTEXT = 0
+PLAINTEXT = 0
+
+COUNT = 1
+KEY1 = 5254dcd02a92237f
+KEY2 = e551f192ea45190d
+KEY3 = 5254dcd02a92237f
+IV = 8d8b9a7262d1ff50
+CIPHERTEXT = 0
+PLAINTEXT = 1
+
+COUNT = 2
+KEY1 = 29c2f4f2ecab703e
+KEY2 = a4bab36d8f5d8631
+KEY3 = 29c2f4f2ecab703e
+IV = d672181ebd17313f
+CIPHERTEXT = 0
+PLAINTEXT = 1
+
diff --git a/fips/testvectors/des2/sample/TCFB1invperm.sam b/fips/testvectors/des2/sample/TCFB1invperm.sam
new file mode 100644 (file)
index 0000000..3e1b843
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# INVERSE PERMUTATION - KAT for CFB1
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB1permop.sam b/fips/testvectors/des2/sample/TCFB1permop.sam
new file mode 100644 (file)
index 0000000..26f5708
--- /dev/null
@@ -0,0 +1,392 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# PERMUTATION OPERATION - KAT for CFB1
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB1subtab.sam b/fips/testvectors/des2/sample/TCFB1subtab.sam
new file mode 100644 (file)
index 0000000..73a5309
--- /dev/null
@@ -0,0 +1,236 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# SUBSTITUTION TABLE - KAT for CFB1
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB1varkey.sam b/fips/testvectors/des2/sample/TCFB1varkey.sam
new file mode 100644 (file)
index 0000000..819ea44
--- /dev/null
@@ -0,0 +1,680 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# VARIABLE KEY - KAT for CFB1
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB1vartext.sam b/fips/testvectors/des2/sample/TCFB1vartext.sam
new file mode 100644 (file)
index 0000000..1508d39
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for CFB1
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB64MMT1.sam b/fips/testvectors/des2/sample/TCFB64MMT1.sam
new file mode 100644 (file)
index 0000000..abdbfef
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Multi block Message Test for CFB64
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:33:01 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 643d8c4a7f3ee08c
+KEY2 = 643d8c4a7f3ee08c
+KEY3 = 643d8c4a7f3ee08c
+IV = 986e82314dace8dc
+PLAINTEXT = 8971e01138038e16
+CIPHERTEXT = ab6acab7007f81ab
+
+COUNT = 1
+KEY1 = 1abcf225833e76bc
+KEY2 = 1abcf225833e76bc
+KEY3 = 1abcf225833e76bc
+IV = 2e65ec832b21e458
+PLAINTEXT = c9571fdf07478c24da2c0678d2a2ccf2
+CIPHERTEXT = bbb34dadefdecd8242009564b24878de
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = ce61232334010e38
+KEY2 = ce61232334010e38
+KEY3 = ce61232334010e38
+IV = 30374acc8162b11f
+CIPHERTEXT = c107c73b74fa0481
+PLAINTEXT = 66fca70198fee09e
+
+COUNT = 1
+KEY1 = bf8694e083467037
+KEY2 = bf8694e083467037
+KEY3 = bf8694e083467037
+IV = 357a6c05e08c3db7
+CIPHERTEXT = 013273e9ca8b8881b8e458bf33113639
+PLAINTEXT = c3cffef4750932aa76f6c1453ad77ad8
+
diff --git a/fips/testvectors/des2/sample/TCFB64MMT2.sam b/fips/testvectors/des2/sample/TCFB64MMT2.sam
new file mode 100644 (file)
index 0000000..d2d6fa5
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Multi block Message Test for CFB64
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:32:38 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 4f94dfa48f86316b
+KEY2 = 08913ed9ce928376
+KEY3 = 4f94dfa48f86316b
+IV = cbc5ef99d5680f66
+PLAINTEXT = 36757fbce10f23c0
+CIPHERTEXT = d185f47e4447f762
+
+COUNT = 1
+KEY1 = ae7c73a837abe0ad
+KEY2 = 0deca813f13157d6
+KEY3 = ae7c73a837abe0ad
+IV = 86f5941ebcde75e9
+PLAINTEXT = 76a611ccd481e07f9dc37fb2117f45b3
+CIPHERTEXT = 81418bb24edf0bbc220e568007e400e3
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = b9f82f20341f253e
+KEY2 = 68a47c83386dcde9
+KEY3 = b9f82f20341f253e
+IV = 103c961c3c79d7ab
+CIPHERTEXT = 900acfd4f7693368
+PLAINTEXT = b30480574e4d6c5c
+
+COUNT = 1
+KEY1 = 432fc1adf13e7529
+KEY2 = ad70345d799b46c8
+KEY3 = 432fc1adf13e7529
+IV = c162820ed3b33632
+CIPHERTEXT = f28ae3256aad23b415e028063b610c60
+PLAINTEXT = 2acaf1682241c92b3f5fc7cc3284e70f
+
diff --git a/fips/testvectors/des2/sample/TCFB64Monte1.sam b/fips/testvectors/des2/sample/TCFB64Monte1.sam
new file mode 100644 (file)
index 0000000..bc55ea8
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Monte Carlo (Modes) Test for CFB64
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:33:01 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = f7705176a768a132
+KEY2 = f7705176a768a132
+KEY3 = f7705176a768a132
+IV = 29531482d4fe4c6f
+PLAINTEXT = 0deab5dfb4691a47
+CIPHERTEXT = 4af70261d0ed8b52
+
+COUNT = 1
+KEY1 = bc86521676852a61
+KEY2 = bc86521676852a61
+KEY3 = bc86521676852a61
+IV = 4af70261d0ed8b52
+PLAINTEXT = 5ef6059d6eb4e33c
+CIPHERTEXT = f4682c5072fe1a1f
+
+COUNT = 2
+KEY1 = 49ef7f46047a317f
+KEY2 = 49ef7f46047a317f
+KEY3 = 49ef7f46047a317f
+IV = f4682c5072fe1a1f
+PLAINTEXT = bc62af9dab387827
+CIPHERTEXT = 59499a8ad8974751
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 977562b3629e80c1
+KEY2 = 977562b3629e80c1
+KEY3 = 977562b3629e80c1
+IV = 66a4c73614ea4802
+CIPHERTEXT = 854ba77c71a969e3
+PLAINTEXT = 9c8bca00b54aeabf
+
+COUNT = 1
+KEY1 = 0bfea8b3d6d56b7f
+KEY2 = 0bfea8b3d6d56b7f
+KEY3 = 0bfea8b3d6d56b7f
+IV = 037bf0c5bd232e05
+CIPHERTEXT = 9ff03ac50869c4ba
+PLAINTEXT = 75724b9b9c176f0e
+
+COUNT = 2
+KEY1 = 7f8ce3294ac20470
+KEY2 = 7f8ce3294ac20470
+KEY3 = 7f8ce3294ac20470
+IV = 20d7afc7c9210029
+CIPHERTEXT = 55a5e45c55366f27
+PLAINTEXT = 69f85bc178557c0f
+
diff --git a/fips/testvectors/des2/sample/TCFB64Monte2.sam b/fips/testvectors/des2/sample/TCFB64Monte2.sam
new file mode 100644 (file)
index 0000000..87f8eff
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Monte Carlo (Modes) Test for CFB64
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:32:38 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 291357f8808fa40d
+KEY2 = 43daa86eb586df54
+KEY3 = 291357f8808fa40d
+IV = 51160ffaa68d8255
+PLAINTEXT = f89ac212fd19de35
+CIPHERTEXT = 76c640dd79f0976c
+
+COUNT = 1
+KEY1 = 5ed51625f87f3261
+KEY2 = 0486269ed3d615d9
+KEY3 = 5ed51625f87f3261
+IV = 76c640dd79f0976c
+PLAINTEXT = 475d8ff06750ca8c
+CIPHERTEXT = e0e1719ce7b3c5b8
+
+COUNT = 2
+KEY1 = bf3467b91fcdf7d9
+KEY2 = a291d5e33101c298
+KEY3 = bf3467b91fcdf7d9
+IV = e0e1719ce7b3c5b8
+PLAINTEXT = a616f37ce3d7d740
+CIPHERTEXT = dbd260e910488f41
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = da9bdc408a75cd2a
+KEY2 = ba8fba2a376e629d
+KEY3 = da9bdc408a75cd2a
+IV = e5fd50b1eec58897
+CIPHERTEXT = 023fee20798f1e6b
+PLAINTEXT = bf164b562046a00f
+
+COUNT = 1
+KEY1 = 648c9716ab326d25
+KEY2 = e054e33bba61019d
+KEY3 = 648c9716ab326d25
+IV = e7d433143367e9cd
+CIPHERTEXT = 58c27842132149c2
+PLAINTEXT = 9b0db8d5590c42c8
+
+COUNT = 2
+KEY1 = fe802fc2f23e2fec
+KEY2 = e9139b3876da944c
+KEY3 = fe802fc2f23e2fec
+IV = 258a44f123746944
+CIPHERTEXT = be87fc247a782b8c
+PLAINTEXT = a4ebb34b491fbd0c
+
diff --git a/fips/testvectors/des2/sample/TCFB64invperm.sam b/fips/testvectors/des2/sample/TCFB64invperm.sam
new file mode 100644 (file)
index 0000000..2997370
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# INVERSE PERMUTATION - KAT for CFB64
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB64permop.sam b/fips/testvectors/des2/sample/TCFB64permop.sam
new file mode 100644 (file)
index 0000000..80048ca
--- /dev/null
@@ -0,0 +1,392 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# PERMUTATION OPERATION - KAT for CFB64
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB64subtab.sam b/fips/testvectors/des2/sample/TCFB64subtab.sam
new file mode 100644 (file)
index 0000000..6f4eeb8
--- /dev/null
@@ -0,0 +1,236 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# SUBSTITUTION TABLE - KAT for CFB64
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB64varkey.sam b/fips/testvectors/des2/sample/TCFB64varkey.sam
new file mode 100644 (file)
index 0000000..3101520
--- /dev/null
@@ -0,0 +1,680 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# VARIABLE KEY - KAT for CFB64
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB64vartext.sam b/fips/testvectors/des2/sample/TCFB64vartext.sam
new file mode 100644 (file)
index 0000000..c53512f
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for CFB64
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB8MMT1.sam b/fips/testvectors/des2/sample/TCFB8MMT1.sam
new file mode 100644 (file)
index 0000000..41ae623
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Multi block Message Test for CFB8
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:32:14 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = fde0d679bc5d67fd
+KEY2 = fde0d679bc5d67fd
+KEY3 = fde0d679bc5d67fd
+IV = 753ce88d8bfcdc54
+PLAINTEXT = ca
+CIPHERTEXT = 4c
+
+COUNT = 1
+KEY1 = 0beaf8ab2f4ab529
+KEY2 = 0beaf8ab2f4ab529
+KEY3 = 0beaf8ab2f4ab529
+IV = 03c605dd0725e975
+PLAINTEXT = 2097
+CIPHERTEXT = b6d3
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 49a8c8d9cd3132d5
+KEY2 = 49a8c8d9cd3132d5
+KEY3 = 49a8c8d9cd3132d5
+IV = 7a3c522eacae2481
+CIPHERTEXT = 7e
+PLAINTEXT = 06
+
+COUNT = 1
+KEY1 = 6dadc7a192626b9d
+KEY2 = 6dadc7a192626b9d
+KEY3 = 6dadc7a192626b9d
+IV = 0648315772eadce7
+CIPHERTEXT = 3ce3
+PLAINTEXT = 7885
+
diff --git a/fips/testvectors/des2/sample/TCFB8MMT2.sam b/fips/testvectors/des2/sample/TCFB8MMT2.sam
new file mode 100644 (file)
index 0000000..7677eb4
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Multi block Message Test for CFB8
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:31:51 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 7af8a7577f1320c8
+KEY2 = c7e36e9d4a862f9d
+KEY3 = 7af8a7577f1320c8
+IV = 0d495c00ec4ea84f
+PLAINTEXT = b7
+CIPHERTEXT = b6
+
+COUNT = 1
+KEY1 = cd91b32f9198df26
+KEY2 = bc4329f7469e6885
+KEY3 = cd91b32f9198df26
+IV = 7f41aff754cc2780
+PLAINTEXT = ec02
+CIPHERTEXT = 1ad7
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = a1072c299231f24f
+KEY2 = 45910b6e017f20cd
+KEY3 = a1072c299231f24f
+IV = dcd6ae82e0675b95
+CIPHERTEXT = 32
+PLAINTEXT = 04
+
+COUNT = 1
+KEY1 = 34ce8a23a4347362
+KEY2 = c7518a08f4252ff7
+KEY3 = 34ce8a23a4347362
+IV = db56316f37870bd2
+CIPHERTEXT = 9ec5
+PLAINTEXT = 7293
+
diff --git a/fips/testvectors/des2/sample/TCFB8Monte1.sam b/fips/testvectors/des2/sample/TCFB8Monte1.sam
new file mode 100644 (file)
index 0000000..eae6521
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Monte Carlo (Modes) Test for CFB8
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:32:14 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = b36db99425bc15d9
+KEY2 = b36db99425bc15d9
+KEY3 = b36db99425bc15d9
+IV = 8d4ccc44641e9472
+PLAINTEXT = 73
+CIPHERTEXT = 14
+
+COUNT = 1
+KEY1 = b698fd239d85f2cd
+KEY2 = b698fd239d85f2cd
+KEY3 = b698fd239d85f2cd
+IV = 04f445b6b838e614
+PLAINTEXT = e3
+CIPHERTEXT = d6
+
+COUNT = 2
+KEY1 = 0492ab4fd5d0461a
+KEY2 = 0492ab4fd5d0461a
+KEY3 = 0492ab4fd5d0461a
+IV = b30a576d4854b5d6
+PLAINTEXT = 2f
+CIPHERTEXT = 73
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 15940d29fbfeb0da
+KEY2 = 15940d29fbfeb0da
+KEY3 = 15940d29fbfeb0da
+IV = f5bbe990f8d37c83
+CIPHERTEXT = 96
+PLAINTEXT = f9
+
+COUNT = 1
+KEY1 = 1aabc115ae704023
+KEY2 = 1aabc115ae704023
+KEY3 = 1aabc115ae704023
+IV = 3d320cc1fda926d6
+CIPHERTEXT = 2f
+PLAINTEXT = 60
+
+COUNT = 2
+KEY1 = 5270fd3d57d98543
+KEY2 = 5270fd3d57d98543
+KEY3 = 5270fd3d57d98543
+IV = 96df053911e94084
+CIPHERTEXT = e4
+PLAINTEXT = 94
+
diff --git a/fips/testvectors/des2/sample/TCFB8Monte2.sam b/fips/testvectors/des2/sample/TCFB8Monte2.sam
new file mode 100644 (file)
index 0000000..1cdff97
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Monte Carlo (Modes) Test for CFB8
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:31:51 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = fbabeaa4b9a89210
+KEY2 = 79da02863bd394a4
+KEY3 = fbabeaa4b9a89210
+IV = 4387826c8d42c971
+PLAINTEXT = 84
+CIPHERTEXT = ee
+
+COUNT = 1
+KEY1 = 91988f04e5d501fe
+KEY2 = 6d869e709840e002
+KEY3 = 91988f04e5d501fe
+IV = 6a3265a05c7c93ee
+PLAINTEXT = a6
+CIPHERTEXT = 05
+
+COUNT = 2
+KEY1 = 4ff440e3085410fb
+KEY2 = ea5e1a2fdc46b949
+KEY3 = 4ff440e3085410fb
+IV = de6dcfe7ec801105
+PLAINTEXT = 4b
+CIPHERTEXT = fd
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 490776df67b0a215
+KEY2 = a2b9a8b5b33e38e9
+KEY3 = 490776df67b0a215
+IV = b858ce5731b890af
+CIPHERTEXT = e7
+PLAINTEXT = 91
+
+COUNT = 1
+KEY1 = a49d791964b34085
+KEY2 = 978a52c8dabcc152
+KEY3 = a49d791964b34085
+IV = 18f56e61a7a4a645
+CIPHERTEXT = d4
+PLAINTEXT = 2f
+
+COUNT = 2
+KEY1 = 9b8f8cb3c8624aab
+KEY2 = 20616b0b2a89ec58
+KEY3 = 9b8f8cb3c8624aab
+IV = 714f5da903af7f75
+CIPHERTEXT = 5a
+PLAINTEXT = 15
+
diff --git a/fips/testvectors/des2/sample/TCFB8invperm.sam b/fips/testvectors/des2/sample/TCFB8invperm.sam
new file mode 100644 (file)
index 0000000..8d5b297
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# INVERSE PERMUTATION - KAT for CFB8
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB8permop.sam b/fips/testvectors/des2/sample/TCFB8permop.sam
new file mode 100644 (file)
index 0000000..dea534a
--- /dev/null
@@ -0,0 +1,392 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# PERMUTATION OPERATION - KAT for CFB8
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB8subtab.sam b/fips/testvectors/des2/sample/TCFB8subtab.sam
new file mode 100644 (file)
index 0000000..41e45c5
--- /dev/null
@@ -0,0 +1,236 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# SUBSTITUTION TABLE - KAT for CFB8
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB8varkey.sam b/fips/testvectors/des2/sample/TCFB8varkey.sam
new file mode 100644 (file)
index 0000000..a31914f
--- /dev/null
@@ -0,0 +1,680 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# VARIABLE KEY - KAT for CFB8
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TCFB8vartext.sam b/fips/testvectors/des2/sample/TCFB8vartext.sam
new file mode 100644 (file)
index 0000000..51d9f25
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for CFB8
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TECBMMT1.sam b/fips/testvectors/des2/sample/TECBMMT1.sam
new file mode 100644 (file)
index 0000000..df82ea9
--- /dev/null
@@ -0,0 +1,38 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Multi block Message Test for ECB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:46 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 7c6e4acd769dbadf
+KEY2 = 7c6e4acd769dbadf
+KEY3 = 7c6e4acd769dbadf
+PLAINTEXT = 879201b5857ccdea
+CIPHERTEXT = 912186b0e8b32514
+
+COUNT = 1
+KEY1 = 0431293dc8ba4cc7
+KEY2 = 0431293dc8ba4cc7
+KEY3 = 0431293dc8ba4cc7
+PLAINTEXT = 276d559e33d7b2fef23cdead8db2e499
+CIPHERTEXT = dd57e1b2714c86459ae2bdc29d3e91cd
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 23b097da1a6eaee9
+KEY2 = 23b097da1a6eaee9
+KEY3 = 23b097da1a6eaee9
+CIPHERTEXT = 2018179229fbb13d
+PLAINTEXT = bafe069310f55ece
+
+COUNT = 1
+KEY1 = 7c43ecdf6d10e029
+KEY2 = 7c43ecdf6d10e029
+KEY3 = 7c43ecdf6d10e029
+CIPHERTEXT = 528db3709d161c6b4a7803d108b13db3
+PLAINTEXT = 5e404e0c474f37c36f5764599406a3a7
+
diff --git a/fips/testvectors/des2/sample/TECBMMT2.sam b/fips/testvectors/des2/sample/TECBMMT2.sam
new file mode 100644 (file)
index 0000000..9e3caa7
--- /dev/null
@@ -0,0 +1,38 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Multi block Message Test for ECB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:24 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 7c4f6ef7a20416ec
+KEY2 = 0b6b7c9e5e19a7c4
+KEY3 = 7c4f6ef7a20416ec
+PLAINTEXT = 06a7d879aace69ef
+CIPHERTEXT = 4c111755bfc44efd
+
+COUNT = 1
+KEY1 = 5d9e01d325c73e34
+KEY2 = 01167c8523dfe068
+KEY3 = 5d9e01d325c73e34
+PLAINTEXT = 9c50090f5e7d697ea147988609cb1539
+CIPHERTEXT = d20b18dfd90d9effe2380f2c3dbe7e2d
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 1c015b2f37f7e094
+KEY2 = 76dff1d515fef1fb
+KEY3 = 1c015b2f37f7e094
+CIPHERTEXT = 2c41624f4bff2074
+PLAINTEXT = 5f6e577f56501ace
+
+COUNT = 1
+KEY1 = fb0892cdcb3b6276
+KEY2 = 3494ad261913e5a7
+KEY3 = fb0892cdcb3b6276
+CIPHERTEXT = 0f73c0db3321a59fd4baa7710d3bdee1
+PLAINTEXT = ce5f909e02e82c11d4b655c278ea0cd4
+
diff --git a/fips/testvectors/des2/sample/TECBMonte1.sam b/fips/testvectors/des2/sample/TECBMonte1.sam
new file mode 100644 (file)
index 0000000..7ac588b
--- /dev/null
@@ -0,0 +1,52 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Monte Carlo (Modes) Test for ECB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:46 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = ef9202947092b5a1
+KEY2 = ef9202947092b5a1
+KEY3 = ef9202947092b5a1
+PLAINTEXT = 5a2b4aa9076aff75
+CIPHERTEXT = e64e95a7d092103a
+
+COUNT = 1
+KEY1 = 08dc9732a101a49b
+KEY2 = 08dc9732a101a49b
+KEY3 = 08dc9732a101a49b
+PLAINTEXT = e64e95a7d092103a
+CIPHERTEXT = b507c385e67abb11
+
+COUNT = 2
+KEY1 = bcda54b6467a1f8a
+KEY2 = bcda54b6467a1f8a
+KEY3 = bcda54b6467a1f8a
+PLAINTEXT = b507c385e67abb11
+CIPHERTEXT = eab4a67cffe8d493
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 2a20cb51a7a4981f
+KEY2 = 2a20cb51a7a4981f
+KEY3 = 2a20cb51a7a4981f
+CIPHERTEXT = 21330dfcac569ab4
+PLAINTEXT = c5752daeea1319f3
+
+COUNT = 1
+KEY1 = ef54e6fe4cb680ec
+KEY2 = ef54e6fe4cb680ec
+KEY3 = ef54e6fe4cb680ec
+CIPHERTEXT = c5752daeea1319f3
+PLAINTEXT = 20f8baa384160e6e
+
+COUNT = 2
+KEY1 = cead5d5dc8a18f83
+KEY2 = cead5d5dc8a18f83
+KEY3 = cead5d5dc8a18f83
+CIPHERTEXT = 20f8baa384160e6e
+PLAINTEXT = 0f593d44e2663c6b
+
diff --git a/fips/testvectors/des2/sample/TECBMonte2.sam b/fips/testvectors/des2/sample/TECBMonte2.sam
new file mode 100644 (file)
index 0000000..68a63bf
--- /dev/null
@@ -0,0 +1,52 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Monte Carlo (Modes) Test for ECB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:24 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = cef8b6fb2083cece
+KEY2 = 0ec10176e5d64364
+KEY3 = cef8b6fb2083cece
+PLAINTEXT = 77dfeaf38c0f5022
+CIPHERTEXT = d382e3c819a54a0d
+
+COUNT = 1
+KEY1 = 1c7a5432382685c2
+KEY2 = f8e0fd023ba4c889
+KEY3 = 1c7a5432382685c2
+PLAINTEXT = d382e3c819a54a0d
+CIPHERTEXT = e61165de6fadcac5
+
+COUNT = 2
+KEY1 = fb6b31ec578a4f07
+KEY2 = 7c26796e610dd379
+KEY3 = fb6b31ec578a4f07
+PLAINTEXT = e61165de6fadcac5
+CIPHERTEXT = cd20acb709bb4aca
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = c27f7092f2733e70
+KEY2 = ecf4e0b65e201a19
+KEY3 = c27f7092f2733e70
+CIPHERTEXT = ddadf81435264254
+PLAINTEXT = df4527c89a16bc0d
+
+COUNT = 1
+KEY1 = 1c3b575b6864837c
+KEY2 = 0bfd98407ca4d9ce
+KEY3 = 1c3b575b6864837c
+CIPHERTEXT = df4527c89a16bc0d
+PLAINTEXT = 148b61acf383da09
+
+COUNT = 2
+KEY1 = 08b037f79be65875
+KEY2 = 920dd6167a64b62f
+KEY3 = 08b037f79be65875
+CIPHERTEXT = 148b61acf383da09
+PLAINTEXT = a4e801c1bca39f68
+
diff --git a/fips/testvectors/des2/sample/TECBinvperm.sam b/fips/testvectors/des2/sample/TECBinvperm.sam
new file mode 100644 (file)
index 0000000..139b4f9
--- /dev/null
@@ -0,0 +1,648 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# INVERSE PERMUTATION - KAT for ECB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TECBpermop.sam b/fips/testvectors/des2/sample/TECBpermop.sam
new file mode 100644 (file)
index 0000000..4b3d6fc
--- /dev/null
@@ -0,0 +1,328 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# PERMUTATION OPERATION - KAT for ECB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TECBsubtab.sam b/fips/testvectors/des2/sample/TECBsubtab.sam
new file mode 100644 (file)
index 0000000..6868501
--- /dev/null
@@ -0,0 +1,198 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# SUBSTITUTION TABLE - KAT for ECB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TECBvarkey.sam b/fips/testvectors/des2/sample/TECBvarkey.sam
new file mode 100644 (file)
index 0000000..6487450
--- /dev/null
@@ -0,0 +1,568 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# VARIABLE KEY - KAT for ECB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TECBvartext.sam b/fips/testvectors/des2/sample/TECBvartext.sam
new file mode 100644 (file)
index 0000000..ee81585
--- /dev/null
@@ -0,0 +1,648 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for ECB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TOFBMMT1.sam b/fips/testvectors/des2/sample/TOFBMMT1.sam
new file mode 100644 (file)
index 0000000..4d47288
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Multi block Message Test for OFB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:33:46 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 7f9b6bcbb5855b31
+KEY2 = 7f9b6bcbb5855b31
+KEY3 = 7f9b6bcbb5855b31
+IV1 = 2006b0127c79015b
+PLAINTEXT = df71dc2cb812ba8f
+CIPHERTEXT = 350910206b7573bb
+
+COUNT = 1
+KEY1 = c1e9e5831975bfb5
+KEY2 = c1e9e5831975bfb5
+KEY3 = c1e9e5831975bfb5
+IV1 = d49f580eba00407b
+PLAINTEXT = 85aa4e97cfe0b58bb71b6789c6115685
+CIPHERTEXT = a728ca68d618905ee4fe932f14537aef
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = e0c7abb03e9e91ea
+KEY2 = e0c7abb03e9e91ea
+KEY3 = e0c7abb03e9e91ea
+IV1 = 0c3253e5431e192f
+CIPHERTEXT = a3baa2ce51a257b0
+PLAINTEXT = 1f8fdf8ea6a836cc
+
+COUNT = 1
+KEY1 = b0976ef81aa2ad5b
+KEY2 = b0976ef81aa2ad5b
+KEY3 = b0976ef81aa2ad5b
+IV1 = 12df9d62c57bec52
+CIPHERTEXT = f27d68eebba98dca87672f916f3b547d
+PLAINTEXT = 89575f4fd509a7fd8f2a05311573b947
+
diff --git a/fips/testvectors/des2/sample/TOFBMMT2.sam b/fips/testvectors/des2/sample/TOFBMMT2.sam
new file mode 100644 (file)
index 0000000..61f8e07
--- /dev/null
@@ -0,0 +1,42 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Multi block Message Test for OFB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:33:24 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = 0d8a15a2df206e79
+KEY2 = 7c7fbf130da8ecd3
+KEY3 = 0d8a15a2df206e79
+IV1 = 95e96383a81fb9db
+PLAINTEXT = 7fa43d86deed7005
+CIPHERTEXT = 0975edbceeaa718a
+
+COUNT = 1
+KEY1 = 89b97f1ca167ce5d
+KEY2 = c201e6b961086d9b
+KEY3 = 89b97f1ca167ce5d
+IV1 = e153aebca560b74a
+PLAINTEXT = c8ebfd86215e693194e95fca97b8acfd
+CIPHERTEXT = 50d09a70507142f0b6dfb72df2a16c19
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 7026167970256702
+KEY2 = b320730e37bf577a
+KEY3 = 7026167970256702
+IV1 = 01a18870128ea7a3
+CIPHERTEXT = c8ca2794b063a676
+PLAINTEXT = d111cac3ee073925
+
+COUNT = 1
+KEY1 = f840bc86e634ef0d
+KEY2 = 9785d6fbf8adb0b5
+KEY3 = f840bc86e634ef0d
+IV1 = 79f3ffdbfa77a1b2
+CIPHERTEXT = e37b1f5dd6bf36ac6ac32a10c26b6025
+PLAINTEXT = 3bf23040063876d802edbfdec7ee2e1f
+
diff --git a/fips/testvectors/des2/sample/TOFBMonte1.sam b/fips/testvectors/des2/sample/TOFBMonte1.sam
new file mode 100644 (file)
index 0000000..ddbc4fe
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Monte Carlo (Modes) Test for OFB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:33:46 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = f807e56be3010129
+KEY2 = f807e56be3010129
+KEY3 = f807e56be3010129
+IV = 476ff0b115a2c431
+PLAINTEXT = fa1ee7a02b94ae0f
+CIPHERTEXT = 06284177418df1f4
+
+COUNT = 1
+KEY1 = fe2fa41ca28cf1dc
+KEY2 = fe2fa41ca28cf1dc
+KEY3 = fe2fa41ca28cf1dc
+IV = 912b553393fa2196
+PLAINTEXT = f83f8604d672241b
+CIPHERTEXT = 3fc77b76459f77a8
+
+COUNT = 2
+KEY1 = c1e9df6be6138675
+KEY2 = c1e9df6be6138675
+KEY3 = c1e9df6be6138675
+IV = f0458b6a27178fbc
+PLAINTEXT = 7816a78fe38e055e
+CIPHERTEXT = 311c310a9fafa7a6
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = 5423455e01023b01
+KEY2 = 5423455e01023b01
+KEY3 = 5423455e01023b01
+IV = 3f6050b74ed64416
+CIPHERTEXT = 377e14863fd6fe2e
+PLAINTEXT = e58be3a0a01f6e76
+
+COUNT = 1
+KEY1 = b0a8a7fea11c5476
+KEY2 = b0a8a7fea11c5476
+KEY3 = b0a8a7fea11c5476
+IV = b84b5c1261f3cedd
+CIPHERTEXT = e977355e7848968b
+PLAINTEXT = 1db3cc19da4d45e5
+
+COUNT = 2
+KEY1 = ad1a6be67a511092
+KEY2 = ad1a6be67a511092
+KEY3 = ad1a6be67a511092
+IV = fd04c886402f9b68
+CIPHERTEXT = 05f48d98ecc31f19
+PLAINTEXT = d538c17dbd7af651
+
diff --git a/fips/testvectors/des2/sample/TOFBMonte2.sam b/fips/testvectors/des2/sample/TOFBMonte2.sam
new file mode 100644 (file)
index 0000000..d1b23a1
--- /dev/null
@@ -0,0 +1,58 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# TDES Monte Carlo (Modes) Test for OFB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:33:24 AM
+
+[ENCRYPT]
+
+COUNT = 0
+KEY1 = f2b554c1c15e61b6
+KEY2 = 2fad3ed6dc586726
+KEY3 = f2b554c1c15e61b6
+IV = 628a16990c71f96b
+PLAINTEXT = f668c38dd18f669f
+CIPHERTEXT = f76cf79e1c85c7fa
+
+COUNT = 1
+KEY1 = 04d9a25edcdaa74c
+KEY2 = 3820796e9bf4cd0b
+KEY3 = 04d9a25edcdaa74c
+IV = e99e267060bb1e5e
+PLAINTEXT = d1477345742fbf42
+CIPHERTEXT = cdac68c9d56df791
+
+COUNT = 2
+KEY1 = c875cb9708b651dc
+KEY2 = df85a47f8694d9a8
+KEY3 = c875cb9708b651dc
+IV = b456ac75e4d937de
+PLAINTEXT = 10009648bdcc9bce
+CIPHERTEXT = 34990b9bd3515ae9
+
+[DECRYPT]
+
+COUNT = 0
+KEY1 = c8f19e1a435e070e
+KEY2 = 4c4c8a4626f42adc
+KEY3 = c8f19e1a435e070e
+IV = 3d5ab501b4c54711
+CIPHERTEXT = c898dd628209f326
+PLAINTEXT = 3bd8da7bafde4011
+
+COUNT = 1
+KEY1 = f2294561ec80461f
+KEY2 = 43e02391c89b1af7
+KEY3 = f2294561ec80461f
+IV = 488f41f05b57ab10
+CIPHERTEXT = 592e0a952481d17e
+PLAINTEXT = cf73d0e68ce33fb7
+
+COUNT = 2
+KEY1 = 3d5b9486616279a8
+KEY2 = 6b6da443a8f2494c
+KEY3 = 3d5b9486616279a8
+IV = 0534777dc1907243
+CIPHERTEXT = 43a2ab93c0873117
+PLAINTEXT = 7bdb810cff78960d
+
diff --git a/fips/testvectors/des2/sample/TOFBinvperm.sam b/fips/testvectors/des2/sample/TOFBinvperm.sam
new file mode 100644 (file)
index 0000000..c6a4e5d
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# INVERSE PERMUTATION - KAT for OFB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TOFBpermop.sam b/fips/testvectors/des2/sample/TOFBpermop.sam
new file mode 100644 (file)
index 0000000..7a2bf93
--- /dev/null
@@ -0,0 +1,392 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# PERMUTATION OPERATION - KAT for OFB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TOFBsubtab.sam b/fips/testvectors/des2/sample/TOFBsubtab.sam
new file mode 100644 (file)
index 0000000..3cf9b68
--- /dev/null
@@ -0,0 +1,236 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# SUBSTITUTION TABLE - KAT for OFB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TOFBvarkey.sam b/fips/testvectors/des2/sample/TOFBvarkey.sam
new file mode 100644 (file)
index 0000000..f8fe071
--- /dev/null
@@ -0,0 +1,680 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# VARIABLE KEY - KAT for OFB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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/des2/sample/TOFBvartext.sam b/fips/testvectors/des2/sample/TOFBvartext.sam
new file mode 100644 (file)
index 0000000..94d269d
--- /dev/null
@@ -0,0 +1,776 @@
+# CAVS Version 1.3
+# Config Info for : "Open SSL 2Key 3DES"
+# VARIABLE PLAINTEXT/CIPHERTEXT - KAT for OFB
+# State : Encrypt and Decrypt
+# Wed Aug 13 09:29:01 AM
+
+[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 = ?