]> git.cryptolib.org Git - avr-crypto-lib.git/commitdiff
present looks better now (using unverified testvectors)
authorbg <bg@b1d182e4-1ff8-0310-901f-bddb46175740>
Wed, 25 Apr 2012 22:36:52 +0000 (22:36 +0000)
committerbg <bg@b1d182e4-1ff8-0310-901f-bddb46175740>
Wed, 25 Apr 2012 22:36:52 +0000 (22:36 +0000)
34 files changed:
Makefile_main.inc
Makefile_sys_conf.inc
bcal/bcal_present.c [deleted file]
bcal/bcal_present.h [deleted file]
bcal/bcal_present128.c [new file with mode: 0644]
bcal/bcal_present128.h [new file with mode: 0644]
bcal/bcal_present80.c [new file with mode: 0644]
bcal/bcal_present80.h [new file with mode: 0644]
host/get_test.rb
host/rsa_pkcs1v15_check.rb
host/sumsize.rb [new file with mode: 0644]
mkfiles/hmac-md5.mk
mkfiles/hmac-sha1.mk
mkfiles/present.mk
present/present.c [deleted file]
present/present.h [deleted file]
present/present128.c [new file with mode: 0644]
present/present128.h [new file with mode: 0644]
present/present80.c [new file with mode: 0644]
present/present80.h [new file with mode: 0644]
present/present_common.c [new file with mode: 0644]
present/present_common.h [new file with mode: 0644]
present/present_speed.c [new file with mode: 0644]
present/present_speed.h [new file with mode: 0644]
rsa/rsa_basic.c
rsa/rsa_basic.h
rsa/rsaes_oaep.c
rsa/rsaes_pkcs1v15.c
sumsize.rb [deleted file]
test_src/main-present-test.c
test_src/main-rsaes_oaep-test.c
test_src/main-rsaes_pkcs1v15-test.c
testvectors/present/nessie-present-128_le.txt [new file with mode: 0644]
testvectors/present/nessie-present-80_le.txt [new file with mode: 0644]

index 9ace98f9bbb3f410e43b4e1baad428daecb0e1c7..1edb6601f601c719bf59330314f0948a054de713 100644 (file)
@@ -36,6 +36,8 @@ GLOBAL_INCDIR := ./ $(TESTSRC_DIR)
 # inclusion of make stubs
 include $(sort $(wildcard mkfiles/*.mk))
 
 # inclusion of make stubs
 include $(sort $(wildcard mkfiles/*.mk))
 
+default: info
+
 #-------------------------------------------------------------------------------
 ALGORITHMS = $(BLOCK_CIPHERS) $(STREAM_CIPHERS) $(HASHES) $(PRNGS) $(MACS) \
                         $(ENCODINGS) $(SIGNATURE) $(PK_CIPHERS) $(AUX)
 #-------------------------------------------------------------------------------
 ALGORITHMS = $(BLOCK_CIPHERS) $(STREAM_CIPHERS) $(HASHES) $(PRNGS) $(MACS) \
                         $(ENCODINGS) $(SIGNATURE) $(PK_CIPHERS) $(AUX)
@@ -62,7 +64,9 @@ $(foreach a, $(ALGORITHMS), $(eval $(call Assert_Template, \
 
 #-------------------------------------------------------------------------------
 
 
 #-------------------------------------------------------------------------------
 
-
+define GenericTarget_Template
+$(1): $(2)
+endef
 
 define TargetSource_Template
 $(1): $(2)
 
 define TargetSource_Template
 $(1): $(2)
@@ -173,7 +177,7 @@ $(1):
        @mkdir -p $(1)
 endef
 
        @mkdir -p $(1)
 endef
 
-$(foreach d, DEP_DIR BIN_DIR TESTSRC_DIR TESTLOG_DIR SPEEDLOG_DIR SIZE_DIR LIST_DIR STAT_DIR AUTOASM_DIR, $(eval $(call MakeDir_TEMPLATE, \
+$(foreach d, DEP_DIR BIN_DIR TESTSRC_DIR TESTLOG_DIR SPEEDLOG_DIR SIZE_DIR LIST_DIR STAT_DIR, $(eval $(call MakeDir_TEMPLATE, \
    $($(d)) \
 )))
 
    $($(d)) \
 )))
 
@@ -238,15 +242,26 @@ hash_speed: $(foreach algo, $(HASHES), $(algo)_SPEED)
 blockcipher_speed: $(foreach algo, $(BLOCK_CIPHERS), $(algo)_SPEED)
 #-------------------------------------------------------------------------------
 
 blockcipher_speed: $(foreach algo, $(BLOCK_CIPHERS), $(algo)_SPEED)
 #-------------------------------------------------------------------------------
 
+define Size_Template
+$(1):  $(2)
+       @echo "[size] $(3)"
+       @mkdir -p $(dir $(1))
+       @$(SIZE) $(2) > $(1)
+endef
+
+$(foreach algo, $(ALGORITHMS), $(eval $(call Size_Template, \
+    $(strip $(SIZE_DIR))$(strip $(call lc, $(algo))).size,$($(algo)_BINOBJ),$(algo) \
+)))
 
 define Size_Template
 $(1)_SIZE:  $(2)
        @echo "[size] $(1)"
 
 define Size_Template
 $(1)_SIZE:  $(2)
        @echo "[size] $(1)"
-       $(SIZE) $(2) > $(strip $(SIZE_DIR))$(strip $(call lc, $(1))).size
+       @mkdir -p $(dir $(strip $(SIZE_DIR))$(strip $(call lc, $(1))).size)
+       @$(SIZE) $(2) > $(strip $(SIZE_DIR))$(strip $(call lc, $(1))).size
 endef
 
 endef
 
-$(foreach algo, $(ALGORITHMS), $(eval $(call Size_Template, \
-    $(strip $(algo)), $($(algo)_BINOBJ) \
+$(foreach algo, $(ALGORITHMS), $(eval $(call GenericTarget_Template, \
+    $(strip $(algo))_SIZE,$(strip $(SIZE_DIR))$(strip $(call lc, $(algo))).size \
 )))
 
 .PHONY: hash_size
 )))
 
 .PHONY: hash_size
@@ -255,6 +270,13 @@ hash_size: $(foreach algo, $(HASHES), $(algo)_SIZE)
 .PHONY: blockcipher_size
 blockcipher_size: $(foreach algo, $(BLOCK_CIPHERS), $(algo)_SIZE)
 
 .PHONY: blockcipher_size
 blockcipher_size: $(foreach algo, $(BLOCK_CIPHERS), $(algo)_SIZE)
 
+.PHONY: size
+size: $(foreach algo, $(ALGORITHMS), $(algo)_SIZE)
+
+.PHONY: size_clean
+size_clean:
+       rm -vf $(strip $(SIZE_DIR))*.size
+
 #-------------------------------------------------------------------------------
 
 .PHONY: tests
 #-------------------------------------------------------------------------------
 
 .PHONY: tests
@@ -352,7 +374,7 @@ info:
        @echo "  cores              - all algorithm cores"
        @echo "  listings           - all algorithm core listings"
        @echo "  tests              - all algorithm test programs"
        @echo "  cores              - all algorithm cores"
        @echo "  listings           - all algorithm core listings"
        @echo "  tests              - all algorithm test programs"
-       @echo "  stats              - all algorithm size statistics"
+       @echo "  size               - all algorithm size statistics"
        @echo "  blockciphers       - all blockcipher cores"
        @echo "  streamciphers      - all streamcipher cores"
        @echo "  hashes             - all hash cores"
        @echo "  blockciphers       - all blockcipher cores"
        @echo "  streamciphers      - all streamcipher cores"
        @echo "  hashes             - all hash cores"
index b617523bd5ade730c6a0edc60a55b9a40bdbb517..f40623cd80d350549d544801f12cfd4773611032 100644 (file)
@@ -24,9 +24,7 @@ SIZE_DIR       = size_log/$(BOARD_NAME)/#
 LIST_DIR       = listings/$(BOARD_NAME)/#
 LIST_OPT       = -Wa,-adhln -g
 STAT_DIR       = stats/$(BOARD_NAME)/#
 LIST_DIR       = listings/$(BOARD_NAME)/#
 LIST_OPT       = -Wa,-adhln -g
 STAT_DIR       = stats/$(BOARD_NAME)/#
-AUTOASM_DIR    = autoasm/$(BOARD_NAME)/#
-AUTOASM_OPT    = -S
-CC                = avr-gcc
+CC            = avr-gcc
 CSTD           = gnu99
 
 SIZESTAT_FILE = sizestats.txt
 CSTD           = gnu99
 
 SIZESTAT_FILE = sizestats.txt
diff --git a/bcal/bcal_present.c b/bcal/bcal_present.c
deleted file mode 100644 (file)
index 96842b1..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/* bcal_present.c */
-/*
-    This file is part of the AVR-Crypto-Lib.
-    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-/**
- * \file     bcal_present.c
- * \email    daniel.otte@rub.de
- * \author   Daniel Otte 
- * \date     2009-01-09
- * \license  GPLv3 or later
- * 
- */
-
-#include <avr/pgmspace.h>
-#include <stdlib.h>
-#include "blockcipher_descriptor.h"
-#include "present.h"
-#include "keysize_descriptor.h"
-
-const char present_str[]   PROGMEM = "Present";
-
-const uint8_t present_keysize_desc[] PROGMEM = { KS_TYPE_LIST, 1, KS_INT(80), 
-                                                KS_TYPE_TERMINATOR    };
-
-const bcdesc_t present_desc PROGMEM = {
-       BCDESC_TYPE_BLOCKCIPHER,
-       BC_INIT_TYPE_2,
-       present_str,
-       sizeof(present_ctx_t),
-       64,
-       {(void_fpt)present_init},
-       {(void_fpt)present_enc},
-       {(void_fpt)present_dec},
-       (bc_free_fpt)NULL,
-       present_keysize_desc
-};
-
-
diff --git a/bcal/bcal_present.h b/bcal/bcal_present.h
deleted file mode 100644 (file)
index 1de8365..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/* bcal_present.h */
-/*
-    This file is part of the AVR-Crypto-Lib.
-    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-/**
- * \file     bcal_present.h
- * \email    daniel.otte@rub.de
- * \author   Daniel Otte 
- * \date     2009-01-09
- * \license  GPLv3 or later
- * 
- */
-
-#include <avr/pgmspace.h>
-#include "blockcipher_descriptor.h"
-#include "present.h"
-#include "keysize_descriptor.h"
-
-extern const bcdesc_t present_desc;
diff --git a/bcal/bcal_present128.c b/bcal/bcal_present128.c
new file mode 100644 (file)
index 0000000..e3e8fe1
--- /dev/null
@@ -0,0 +1,51 @@
+/* bcal_present.c */
+/*
+    This file is part of the AVR-Crypto-Lib.
+    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+/**
+ * \file     bcal_present.c
+ * \email    daniel.otte@rub.de
+ * \author   Daniel Otte 
+ * \date     2009-01-09
+ * \license  GPLv3 or later
+ * 
+ */
+
+#include <avr/pgmspace.h>
+#include <stdlib.h>
+#include "blockcipher_descriptor.h"
+#include "present128.h"
+#include "keysize_descriptor.h"
+
+const char present128_str[]   PROGMEM = "Present128";
+
+const uint8_t present128_keysize_desc[] PROGMEM = { KS_TYPE_LIST, 1, KS_INT(128),
+                                                KS_TYPE_TERMINATOR    };
+
+const bcdesc_t present128_desc PROGMEM = {
+       BCDESC_TYPE_BLOCKCIPHER,
+       BC_INIT_TYPE_2,
+       present128_str,
+       sizeof(present128_ctx_t),
+       64,
+       {(void_fpt)present128_init},
+       {(void_fpt)present128_enc},
+       {(void_fpt)present128_dec},
+       (bc_free_fpt)NULL,
+       present128_keysize_desc
+};
+
diff --git a/bcal/bcal_present128.h b/bcal/bcal_present128.h
new file mode 100644 (file)
index 0000000..9e26171
--- /dev/null
@@ -0,0 +1,33 @@
+/* bcal_present.h */
+/*
+    This file is part of the AVR-Crypto-Lib.
+    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+/**
+ * \file     bcal_present.h
+ * \email    daniel.otte@rub.de
+ * \author   Daniel Otte 
+ * \date     2009-01-09
+ * \license  GPLv3 or later
+ * 
+ */
+
+#include <avr/pgmspace.h>
+#include "blockcipher_descriptor.h"
+#include "present128.h"
+#include "keysize_descriptor.h"
+
+extern const bcdesc_t present128_desc;
diff --git a/bcal/bcal_present80.c b/bcal/bcal_present80.c
new file mode 100644 (file)
index 0000000..73a073a
--- /dev/null
@@ -0,0 +1,52 @@
+/* bcal_present.c */
+/*
+    This file is part of the AVR-Crypto-Lib.
+    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+/**
+ * \file     bcal_present.c
+ * \email    daniel.otte@rub.de
+ * \author   Daniel Otte 
+ * \date     2009-01-09
+ * \license  GPLv3 or later
+ * 
+ */
+
+#include <avr/pgmspace.h>
+#include <stdlib.h>
+#include "blockcipher_descriptor.h"
+#include "present80.h"
+#include "keysize_descriptor.h"
+
+const char present80_str[]   PROGMEM = "Present80";
+
+const uint8_t present80_keysize_desc[] PROGMEM = { KS_TYPE_LIST, 1, KS_INT(80),
+                                                KS_TYPE_TERMINATOR    };
+
+const bcdesc_t present80_desc PROGMEM = {
+       BCDESC_TYPE_BLOCKCIPHER,
+       BC_INIT_TYPE_2,
+       present80_str,
+       sizeof(present80_ctx_t),
+       64,
+       {(void_fpt)present80_init},
+       {(void_fpt)present80_enc},
+       {(void_fpt)present80_dec},
+       (bc_free_fpt)NULL,
+       present80_keysize_desc
+};
+
+
diff --git a/bcal/bcal_present80.h b/bcal/bcal_present80.h
new file mode 100644 (file)
index 0000000..3a9ca72
--- /dev/null
@@ -0,0 +1,33 @@
+/* bcal_present.h */
+/*
+    This file is part of the AVR-Crypto-Lib.
+    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+/**
+ * \file     bcal_present.h
+ * \email    daniel.otte@rub.de
+ * \author   Daniel Otte 
+ * \date     2009-01-09
+ * \license  GPLv3 or later
+ * 
+ */
+
+#include <avr/pgmspace.h>
+#include "blockcipher_descriptor.h"
+#include "present80.h"
+#include "keysize_descriptor.h"
+
+extern const bcdesc_t present80_desc;
index 9d60a4a82551fbee4f0f4549bb37ba64329786ea..df16955b5d7a65c3075f7283171491314d0d3c26 100644 (file)
@@ -80,6 +80,7 @@ def readTestVector(param)
   end
   puts("-> "+fname+"txt");
   file=File.new(fname+"txt", "w");
   end
   puts("-> "+fname+"txt");
   file=File.new(fname+"txt", "w");
+  file.sync = true
     buffer+=lb;
     file.write(buffer);
     begin
     buffer+=lb;
     file.write(buffer);
     begin
index c8d51a6add551a211f69fa666e44a752f9b84034..2ce9c74c530a12e46f960f4167cdb6e11f730dd1 100644 (file)
@@ -407,6 +407,7 @@ if opts['n']
 end
 
 $logfile = STDOUT if ! $logfile
 end
 
 $logfile = STDOUT if ! $logfile
+$logfile.sync = true
 reset_system()
 
 if opts['s'] && ( m = opts['s'].match(/([\d]+)\.([\d]+)/) )
 reset_system()
 
 if opts['s'] && ( m = opts['s'].match(/([\d]+)\.([\d]+)/) )
diff --git a/host/sumsize.rb b/host/sumsize.rb
new file mode 100644 (file)
index 0000000..d20b872
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/local/bin/ruby
+
+def scanFile (filename)
+bytes = 0
+
+#   text          data     bss     dec     hex filename
+#    420             0       0     420     1a4 shabea.o
+#   1600             0       0    1600     640 sha256-asm.o
+
+
+file=File.open(filename)
+name= /(.*)_size.txt/.match(filename)[1]
+if (not name)
+  name=filename
+end
+
+while line=file.gets do
+  m = /^\s*\d+\s+\d+\s+\d+\s+(\d+)\s+.*/.match(line)
+  if m
+    bytes += m[1].to_i
+  end 
+end
+
+#puts "#{name}:\t#{bytes} bytes"
+printf("%6d bytes\t%s\n", bytes, name)
+
+end
+
+
+
+#========================================================
+# MAIN
+#========================================================
+
+ARGV.each do |x| scanFile(x) end
+
index 94ab015020b038b9e3948706f736a04abbbf991a..8238814d6de94188d83c7a518fe2106a2684bedb 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile for HMAC-SHA256
+# Makefile for HMAC-MD5
 ALGO_NAME := HMAC-MD5
 
 # comment out the following line for removement of HMAC-MD5 from the build process
 ALGO_NAME := HMAC-MD5
 
 # comment out the following line for removement of HMAC-MD5 from the build process
index f6f0a604fad5b4c718144e33ee91e87fc49272bc..3d786de9ee342f0227e6a1fdcd6936d29ebbe5f1 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile for HMAC-SHA256
+# Makefile for HMAC-SHA1
 ALGO_NAME := HMAC-SHA1
 
 # comment out the following line for removement of HMAC-SHA1 from the build process
 ALGO_NAME := HMAC-SHA1
 
 # comment out the following line for removement of HMAC-SHA1 from the build process
index d7ee96e059d9eedc8b3b04b75dc0bb323cfcdc6d..7571b28b84545f7a84246fcf1d27264749913126 100644 (file)
@@ -5,9 +5,9 @@ ALGO_NAME := PRESENT
 BLOCK_CIPHERS += $(ALGO_NAME)
 
 $(ALGO_NAME)_DIR      := present/
 BLOCK_CIPHERS += $(ALGO_NAME)
 
 $(ALGO_NAME)_DIR      := present/
-$(ALGO_NAME)_INCDIR   := bcal/
-$(ALGO_NAME)_OBJ      := present.o
-$(ALGO_NAME)_TESTBIN  := main-present-test.o bcal_present.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_INCDIR   := bcal/ memxor/
+$(ALGO_NAME)_OBJ      := present_common.o present80.o present128.o memxor.o
+$(ALGO_NAME)_TESTBIN  := main-present-test.o bcal_present80.o bcal_present128.o $(CLI_STD) $(BCAL_STD)
 $(ALGO_NAME)_NESSIE_TEST      := "nessie"
 $(ALGO_NAME)_PERFORMANCE_TEST := "performance"
 
 $(ALGO_NAME)_NESSIE_TEST      := "nessie"
 $(ALGO_NAME)_PERFORMANCE_TEST := "performance"
 
diff --git a/present/present.c b/present/present.c
deleted file mode 100644 (file)
index 376c3e3..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/* present.c */
-/*
-    This file is part of the AVR-Crypto-Lib.
-    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-/**
- * present.c
- * a implementation of the PRESENT block-cipher
- * author: Daniel Otte
- * email:  daniel.otte@rub.de
- * license: GPLv3
- * 
- * */
-#include <string.h>
-#include <stdint.h> 
-#include "present.h"
-
-static uint8_t sbox(uint8_t b){
-       uint8_t sb[]={0xC, 0x5, 0x6, 0xB, 
-                                 0x9, 0x0, 0xA, 0xD, 
-                                 0x3, 0xE, 0xF, 0x8, 
-                                 0x4, 0x7, 0x1, 0x2 };
-       return (((sb[b>>4])<<4)|(sb[b&0xf]));
-}
-
-static uint8_t sbox_inv(uint8_t b){
-       uint8_t sb[]={0x5, 0xE, 0xF, 0x8, 
-                                 0xC, 0x1, 0x2, 0xD, 
-                                 0xB, 0x4, 0x6, 0x3, 
-                                 0x0, 0x7, 0x9, 0xA };
-       return (((sb[b>>4])<<4)|(sb[b&0xf]));
-}
-
-#define SHR_O(a) c=(a)&1; (a)>>=1;
-#define SHR_I(a) (a)=(c?0x8000:0x0000) | ((a)>>1);
-
-static void p(uint16_t* o, uint8_t* i){
-       uint8_t c;
-       uint8_t m,n;
-       for(m=0; m<8; ++m){
-               for(n=0; n<2; ++n){
-                       SHR_O(i[m]);
-                       SHR_I(o[0]);
-                       SHR_O(i[m]);
-                       SHR_I(o[1]);
-                       SHR_O(i[m]);
-                       SHR_I(o[2]);
-                       SHR_O(i[m]);
-                       SHR_I(o[3]);
-               }
-       }
-}
-
-static void p_inv(uint8_t* o, uint8_t* i){
-       uint8_t tmp[8];
-       p((uint16_t*)tmp, i);
-       p((uint16_t*)o, tmp);
-}
-
-void present_init(const uint8_t* key, uint8_t keysize_b, present_ctx_t* ctx){
-       uint8_t tmp[2];
-       union __attribute__((packed)) {
-               uint8_t  v8[10];
-               uint16_t v16[5];
-               uint64_t v64;
-               struct __attribute__((packed)) {
-                       uint8_t padding;
-                       union {
-                               uint64_t v64;
-                               uint16_t v16[4];
-                       } y;
-               } x;    
-       } b;
-       uint8_t i;
-       memcpy(b.v8, key, 10);
-       memcpy(&(ctx->k[0]), b.v8+2, 8);
-       for(i=1; i<32; ++i){
-               /* rotate buffer 19 right */
-               memcpy(tmp, b.v8, 2);
-               memmove(b.v8, b.v8+2, 8);
-               memcpy(b.v8+8, tmp, 2);
-                /* three shifts to do*/
-               tmp[1]=b.v8[0];
-               b.v64 >>= 3;
-               b.v16[4] >>= 3;
-               b.v8[9] |= tmp[1]<<5;
-               b.v8[7] |= tmp[0]<<5;
-               /* rotating done now substitution */
-               b.v8[9] = (sbox(b.v8[9])&0xF0) | ((b.v8[9])&0x0F);
-               /* xor with round counter */
-               b.x.y.v16[0] ^= (uint16_t)i<<7;
-               memcpy(&(ctx->k[i]), b.v8+2, 8);
-       }
-}
-
-void present_enc(void* buffer, present_ctx_t* ctx){
-       uint8_t i,j,tmp[8];
-       for(i=0; i<31; ++i){
-               *((uint64_t*)buffer) ^= ctx->k[i];
-                for(j=0; j<8; ++j){
-                       tmp[j] = sbox(((uint8_t*)buffer)[j]);
-                }
-                p((uint16_t*)buffer, tmp);
-       }
-       *((uint64_t*)buffer) ^= ctx->k[31];
-}
-
-
-void present_dec(void* buffer, present_ctx_t* ctx){
-       uint8_t j,tmp[8];
-       int8_t i;
-       *((uint64_t*)buffer) ^= ctx->k[31];
-
-       for(i=30; i>=0; --i){ 
-               p_inv(tmp, (uint8_t*)buffer);
-               for(j=0; j<8; ++j){
-                       ((uint8_t*)buffer)[j] = sbox_inv(tmp[j]);
-               }
-               *((uint64_t*)buffer) ^= ctx->k[i];
-       }
-}
diff --git a/present/present.h b/present/present.h
deleted file mode 100644 (file)
index 320a1d8..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/* present.h */
-/*
-    This file is part of the AVR-Crypto-Lib.
-    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#ifndef PRESENT_H_
-#define PRESENT_H_
-
-#include <stdint.h>
-
-typedef struct present_ctx_st{
-       uint64_t k[32];
-} present_ctx_t;
-
-
-void present_init(const uint8_t* key, uint8_t keysize_b, present_ctx_t* ctx);
-void present_enc(void* buffer, present_ctx_t* ctx);
-void present_dec(void* buffer, present_ctx_t* ctx);
-
-
-#endif /*PRESENT_H_*/
diff --git a/present/present128.c b/present/present128.c
new file mode 100644 (file)
index 0000000..ac7c925
--- /dev/null
@@ -0,0 +1,146 @@
+/* present128.c */
+/*
+    This file is part of the AVR-Crypto-Lib.
+    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+/**
+ * present128.c
+ * a implementation of the PRESENT block-cipher
+ * author: Daniel Otte
+ * email:  daniel.otte@rub.de
+ * license: GPLv3
+ * 
+ * */
+#include <string.h>
+#include <stdint.h> 
+#include <avr/pgmspace.h>
+#include "memxor.h"
+#include "present_common.h"
+#include "present128.h"
+
+static
+void key_update_128(uint8_t* buffer, uint8_t round){
+       uint8_t j;
+       uint8_t t8;
+       union __attribute__((packed)){
+               uint8_t   v8[2];
+               uint16_t v16;
+       } tmp;
+       /* rotate buffer 67 right */
+       for(j=0; j<8; ++j){
+               tmp.v8[0] = buffer[j];
+               buffer[j] = buffer[j + 8];
+               buffer[j + 8] = tmp.v8[0];
+       }
+       j=0;
+       t8 = (uint16_t)buffer[15] << (5);
+       do{
+               tmp.v8[1] = buffer[j];
+               tmp.v16 >>= 3;
+               buffer[j] = tmp.v8[1] | t8;
+               t8 = tmp.v8[0] & 0xe0;
+       }while(++j<16);
+       /* rotating done now substitution */
+       buffer[0] = present_sbox(buffer[0]);
+       /* xor with round counter */
+       buffer[8] ^= round << 6;
+       buffer[7] ^= round >> 2;
+}
+
+
+static
+void key_update_128_inv(uint8_t* buffer, uint8_t round){
+       uint8_t j;
+       uint8_t t8;
+       union __attribute__((packed)){
+               uint8_t   v8[2];
+               uint16_t v16;
+       } tmp;
+       /* xor with round counter */
+       buffer[8] ^= round << 6;
+       buffer[7] ^= round >> 2;
+
+       /* rotating done now substitution */
+       buffer[0] = present_sbox_inv(buffer[0]);
+
+       /* rotate buffer 67 left */
+       for(j=0; j<8; ++j){
+               tmp.v8[0] = buffer[j];
+               buffer[j] = buffer[j + 8];
+               buffer[j + 8] = tmp.v8[0];
+       }
+       j=15;
+       t8 = (uint16_t)buffer[0] >> (5);
+       do{
+               tmp.v8[0] = buffer[j];
+               tmp.v16 <<= 3;
+               buffer[j] = tmp.v8[0] | t8;
+               t8 = tmp.v8[1] & 0x07;
+       }while(j--);
+}
+
+void present128_init(const uint8_t* key, uint8_t keysize_b, present128_ctx_t* ctx){
+       uint8_t i;
+       memcpy(ctx->fwd_key, key, 16);
+       memcpy(ctx->rev_key, key, 16);
+       for(i=1; i<32; ++i){
+               key_update_128(ctx->rev_key, i);
+       }
+}
+
+void present128_enc(void* buffer, present128_ctx_t* ctx){
+       present_generic_enc(buffer, (uint8_t*)ctx, 16, key_update_128);
+}
+
+void present128_dec(void* buffer, present128_ctx_t* ctx){
+       present_generic_dec(buffer, (uint8_t*)ctx, 16, key_update_128_inv);
+}
+
+/*
+void present128_enc(void* buffer, present128_ctx_t* ctx){
+       uint8_t i,j,tmp[8], k[16];
+       memcpy(k, ctx->fwd_key, 16);
+       memxor(buffer, k, 8);
+       for(i=1; i<32; ++i){
+               j = 7;
+               do{
+                       tmp[j] = present_sbox(((uint8_t*)buffer)[j]);
+               }while(j--);
+               present_p(buffer, tmp);
+               key_update_128(k, i);
+               memxor(buffer, k, 8);
+       }
+}
+
+void present128_dec(void* buffer, present128_ctx_t* ctx){
+       uint8_t j,tmp[8], k[16];
+       uint8_t i;
+       memcpy(k, ctx->rev_key, 16);
+       memxor(buffer, k, 8);
+       i = 31;
+       do{
+               present_p(tmp, buffer);
+               present_p(buffer, tmp);
+               j = 7;
+               do{
+                       ((uint8_t*)buffer)[j] = present_sbox_inv(((uint8_t*)buffer)[j]);
+               }while(j--);
+               key_update_128_inv(k, i);
+               memxor(buffer, k, 8);
+       }while(--i);
+}
+*/
diff --git a/present/present128.h b/present/present128.h
new file mode 100644 (file)
index 0000000..d74fff9
--- /dev/null
@@ -0,0 +1,35 @@
+/* present128.h */
+/*
+    This file is part of the AVR-Crypto-Lib.
+    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef PRESENT128_H_
+#define PRESENT128_H_
+
+#include <stdint.h>
+
+typedef struct __attribute__((packed)) present128_ctx_st {
+       uint8_t fwd_key[16];
+       uint8_t rev_key[16];
+} present128_ctx_t;
+
+
+void present128_init(const uint8_t* key, uint8_t keysize_b, present128_ctx_t* ctx);
+void present128_enc(void* buffer, present128_ctx_t* ctx);
+void present128_dec(void* buffer, present128_ctx_t* ctx);
+
+
+#endif /*PRESENT128_H_*/
diff --git a/present/present80.c b/present/present80.c
new file mode 100644 (file)
index 0000000..2a5589b
--- /dev/null
@@ -0,0 +1,145 @@
+/* present80.c */
+/*
+    This file is part of the AVR-Crypto-Lib.
+    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+/**
+ * present80.c
+ * a implementation of the PRESENT block-cipher
+ * author: Daniel Otte
+ * email:  daniel.otte@rub.de
+ * license: GPLv3
+ * 
+ * */
+#include <string.h>
+#include <stdint.h> 
+#include <avr/pgmspace.h>
+#include "memxor.h"
+#include "present_common.h"
+#include "present80.h"
+
+static
+void key_update(uint8_t* buffer, uint8_t round){
+       uint8_t j;
+       union __attribute__((packed)){
+               uint8_t   v8[2];
+               uint16_t v16;
+       } tmp;
+       /* rotate buffer 19 right */
+       tmp.v16 = ((uint16_t*)buffer)[4];
+       j=4;
+       do{
+               ((uint16_t*)buffer)[j] = ((uint16_t*)buffer)[j-1];
+       }while(--j);
+       ((uint16_t*)buffer)[0] = tmp.v16;
+       uint8_t t8;
+       j=0;
+       t8 = (uint16_t)buffer[9] << (5);
+       do{
+               tmp.v8[1] = buffer[j];
+               tmp.v16 >>= 3;
+               buffer[j] = tmp.v8[1] | t8;
+               t8 = tmp.v8[0] & 0xe0;
+       }while(++j<10);
+       /* rotating done now substitution */
+       buffer[0] = (present_sbox(buffer[0])&0xF0) | ((buffer[0])&0x0F);
+       /* xor with round counter */
+       buffer[8] ^= round << 7;
+       buffer[7] ^= round >> 1;
+}
+
+static
+void key_update_inv(uint8_t* buffer, uint8_t round){
+       uint8_t j;
+       union __attribute__((packed)){
+               uint8_t   v8[2];
+               uint16_t v16;
+       } tmp;
+       /* xor with round counter */
+       buffer[8] ^= round << 7;
+       buffer[7] ^= round >> 1;
+       /* rotating done now substitution */
+       buffer[0] = (present_sbox_inv(buffer[0])&0xF0) | ((buffer[0])&0x0F);
+       /* rotate buffer 19 left */
+       tmp.v16 = ((uint16_t*)buffer)[0];
+       j=0;
+       do{
+               ((uint16_t*)buffer)[j] = ((uint16_t*)buffer)[j+1];
+       }while(++j<4);
+       ((uint16_t*)buffer)[4] = tmp.v16;
+       uint8_t t8;
+       j=9;
+       t8 = (uint16_t)buffer[0] >> (5);
+       do{
+               tmp.v8[0] = buffer[j];
+               tmp.v16 <<= 3;
+               buffer[j] = tmp.v8[0] | t8;
+               t8 = tmp.v8[1] & 0x07;
+       }while(j--);
+}
+
+void present80_init(const uint8_t* key, uint8_t keysize_b, present80_ctx_t* ctx){
+       uint8_t i;
+       memcpy(ctx->fwd_key, key, 10);
+       memcpy(ctx->rev_key, key, 10);
+       for(i=1; i<32; ++i){
+               key_update(ctx->rev_key, i);
+       }
+}
+
+void present80_enc(void* buffer, present80_ctx_t* ctx){
+       present_generic_enc(buffer, (uint8_t*)ctx, 10, key_update);
+}
+
+void present80_dec(void* buffer, present80_ctx_t* ctx){
+       present_generic_dec(buffer, (uint8_t*)ctx, 10, key_update_inv);
+}
+
+/*
+void present80_enc(void* buffer, present80_ctx_t* ctx){
+       uint8_t i,j,tmp[8], k[10];
+       memcpy(k, ctx->fwd_key, 10);
+       memxor(buffer, k, 8);
+       for(i=1; i<32; ++i){
+               j = 7;
+               do{
+                       tmp[j] = present_sbox(((uint8_t*)buffer)[j]);
+               }while(j--);
+               present_p(buffer, tmp);
+               key_update(k, i);
+               memxor(buffer, k, 8);
+       }
+}
+
+void present80_dec(void* buffer, present80_ctx_t* ctx){
+       uint8_t j,tmp[8], k[10];
+       uint8_t i;
+       memcpy(k, ctx->rev_key, 10);
+       memxor(buffer, k, 8);
+       i = 31;
+       do{
+               present_p(tmp, buffer);
+               present_p(buffer, tmp);
+               j = 7;
+               do{
+                       ((uint8_t*)buffer)[j] = sbox_inv(((uint8_t*)buffer)[j]);
+               }while(j--);
+               key_update_inv(k, i);
+               memxor(buffer, k, 8);
+       }while(--i);
+}
+*/
diff --git a/present/present80.h b/present/present80.h
new file mode 100644 (file)
index 0000000..9fb73e4
--- /dev/null
@@ -0,0 +1,34 @@
+/* present.h */
+/*
+    This file is part of the AVR-Crypto-Lib.
+    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef PRESENT80_COMMON_H_
+#define PRESENT80_COMMON_H_
+
+#include <stdint.h>
+
+typedef struct __attribute__((packed)) present80_ctx_st {
+       uint8_t fwd_key[10];
+       uint8_t rev_key[10];
+} present80_ctx_t;
+
+
+void present80_init(const uint8_t* key, uint8_t keysize_b, present80_ctx_t* ctx);
+void present80_enc(void* buffer, present80_ctx_t* ctx);
+void present80_dec(void* buffer, present80_ctx_t* ctx);
+
+#endif /*PRESENT80_H_*/
diff --git a/present/present_common.c b/present/present_common.c
new file mode 100644 (file)
index 0000000..198c67b
--- /dev/null
@@ -0,0 +1,104 @@
+/* present_common.c */
+/*
+    This file is part of the AVR-Crypto-Lib.
+    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+/**
+ * present_common.c
+ * a implementation of the PRESENT block-cipher
+ * author: Daniel Otte
+ * email:  daniel.otte@rub.de
+ * license: GPLv3
+ * 
+ * */
+#include <string.h>
+#include <stdint.h> 
+#include "memxor.h"
+#include <avr/pgmspace.h>
+
+uint8_t present_sbox(uint8_t b){
+       static const uint8_t sb[] PROGMEM = {
+               0xC, 0x5, 0x6, 0xB,
+               0x9, 0x0, 0xA, 0xD,
+               0x3, 0xE, 0xF, 0x8,
+               0x4, 0x7, 0x1, 0x2
+       };
+       return (pgm_read_byte(&sb[b >> 4]) << 4) | pgm_read_byte(&sb[b & 0xf]);
+}
+
+uint8_t present_sbox_inv(uint8_t b){
+       static const uint8_t sb[] PROGMEM = {
+               0x5, 0xE, 0xF, 0x8,
+               0xC, 0x1, 0x2, 0xD,
+               0xB, 0x4, 0x6, 0x3,
+               0x0, 0x7, 0x9, 0xA
+       };
+       return (pgm_read_byte(&sb[b >> 4]) << 4) | pgm_read_byte(&sb[b & 0xf]);
+}
+
+void present_p(uint8_t* o, uint8_t* i){
+       uint8_t m,n=0,idx=0;
+       for(m=0; m<64; ++m){
+               o[idx] <<= 1;
+               o[idx] |= i[n] >> 7;
+               i[n] <<= 1;
+               idx = (idx + 2) & 7;
+               if((m & 7) == 7){
+                       ++n;
+               }
+               if(m == 31){
+                       idx += 1;
+               }
+       }
+}
+
+
+void present_generic_enc(void* buffer, uint8_t* ctx, uint8_t ksize_B,
+       void(*update)(uint8_t*, uint8_t)){
+       uint8_t i,j,tmp[8], k[ksize_B];
+       memcpy(k, ctx, ksize_B);
+       memxor(buffer, k, 8);
+       for(i=1; i<32; ++i){
+               j = 7;
+               do{
+                       tmp[j] = present_sbox(((uint8_t*)buffer)[j]);
+               }while(j--);
+               present_p(buffer, tmp);
+               update(k, i);
+               memxor(buffer, k, 8);
+       }
+}
+
+void present_generic_dec(void* buffer, uint8_t* ctx, uint8_t ksize_B,
+       void(*update)(uint8_t*, uint8_t)){
+       uint8_t j,tmp[8], k[ksize_B];
+       uint8_t i;
+       memcpy(k, ctx + ksize_B, ksize_B);
+       memxor(buffer, k, 8);
+       i = 31;
+       do{
+               present_p(tmp, buffer);
+               present_p(buffer, tmp);
+               j = 7;
+               do{
+                       ((uint8_t*)buffer)[j] = present_sbox_inv(((uint8_t*)buffer)[j]);
+               }while(j--);
+               update(k, i);
+               memxor(buffer, k, 8);
+       }while(--i);
+}
+
diff --git a/present/present_common.h b/present/present_common.h
new file mode 100644 (file)
index 0000000..f1d7ea4
--- /dev/null
@@ -0,0 +1,33 @@
+/* present_common.h */
+/*
+    This file is part of the AVR-Crypto-Lib.
+    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef PRESENT_COMMON_H_
+#define PRESENT_COMMON_H_
+
+#include <stdint.h>
+
+uint8_t present_sbox(uint8_t b);
+uint8_t present_sbox_inv(uint8_t b);
+void present_p(uint8_t* o, uint8_t* i);
+
+void present_generic_enc(void* buffer, uint8_t* ctx, uint8_t ksize_B,
+       void(*update)(uint8_t*, uint8_t));
+void present_generic_dec(void* buffer, uint8_t* ctx, uint8_t ksize_B,
+       void(*update)(uint8_t*, uint8_t));
+
+#endif /*PRESENT_H_*/
diff --git a/present/present_speed.c b/present/present_speed.c
new file mode 100644 (file)
index 0000000..00924e3
--- /dev/null
@@ -0,0 +1,103 @@
+/* present.c */
+/*
+    This file is part of the AVR-Crypto-Lib.
+    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+/**
+ * present.c
+ * a implementation of the PRESENT block-cipher
+ * author: Daniel Otte
+ * email:  daniel.otte@rub.de
+ * license: GPLv3
+ * 
+ * */
+#include <string.h>
+#include <stdint.h> 
+#include <avr/pgmspace.h>
+#include "present_speed.h"
+
+static
+void key_update(uint8_t* buffer, uint8_t round){
+       uint8_t j;
+       union __attribute__((packed)){
+               uint8_t   v8[2];
+               uint16_t v16;
+       } tmp;
+       /* rotate buffer 19 right */
+       tmp.v16 = ((uint16_t*)buffer)[4];
+       j=4;
+       do{
+               ((uint16_t*)buffer)[j] = ((uint16_t*)buffer)[j-1];
+       }while(--j);
+       ((uint16_t*)buffer)[0] = tmp.v16;
+       uint8_t t8;
+       j=0;
+       t8 = (uint16_t)buffer[9] << (5);
+       do{
+               tmp.v8[1] = buffer[j];
+               tmp.v16 >>= 3;
+               buffer[j] = tmp.v8[1] | t8;
+               t8 = tmp.v8[0] & 0xe0;
+       }while(++j<10);
+       /* rotating done now substitution */
+       buffer[0] = (present_sbox(buffer[0])&0xF0) | ((buffer[0])&0x0F);
+       /* xor with round counter */
+       buffer[8] ^= round << 7;
+       buffer[7] ^= round >> 1;
+}
+
+void present_init(const uint8_t* key, uint8_t keysize_b, present_ctx_t* ctx){
+       uint8_t i,key_buffer[10];
+       memcpy(key_buffer, key, 10);
+       memcpy(&(ctx->k[0]), key_buffer, 8);
+       for(i=1; i<32; ++i){
+               key_update(key_buffer, i);
+               memcpy(&(ctx->k[i]), key_buffer, 8);
+       }
+}
+
+
+void present_enc(void* buffer, present_ctx_t* ctx){
+       uint8_t i,j,tmp[8];
+       for(i=0; i<31; ++i){
+               *((uint64_t*)buffer) ^= ctx->k[i];
+               memxor(buffer, &ctx->k[i], 8);
+               j = 7;
+               do{
+                       tmp[j] = present_sbox(((uint8_t*)buffer)[j]);
+               }while(j--);
+               present_p(buffer, tmp);
+       }
+       memxor(buffer, &ctx->k[31], 8);
+}
+
+
+void present_dec(void* buffer, present_ctx_t* ctx){
+       uint8_t j,tmp[8];
+       uint8_t i;
+       memxor(buffer, &ctx->k[31], 8);
+       i = 30;
+       do{
+               present_p(tmp, buffer);
+               present_p(buffer, tmp);
+               j = 7;
+               do{
+                       ((uint8_t*)buffer)[j] = present_sbox_inv(((uint8_t*)buffer)[j]);
+               }while(j--);
+               memxor(buffer, &ctx->k[i], 8);
+       }while(i--);
+}
diff --git a/present/present_speed.h b/present/present_speed.h
new file mode 100644 (file)
index 0000000..320a1d8
--- /dev/null
@@ -0,0 +1,34 @@
+/* present.h */
+/*
+    This file is part of the AVR-Crypto-Lib.
+    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef PRESENT_H_
+#define PRESENT_H_
+
+#include <stdint.h>
+
+typedef struct present_ctx_st{
+       uint64_t k[32];
+} present_ctx_t;
+
+
+void present_init(const uint8_t* key, uint8_t keysize_b, present_ctx_t* ctx);
+void present_enc(void* buffer, present_ctx_t* ctx);
+void present_dec(void* buffer, present_ctx_t* ctx);
+
+
+#endif /*PRESENT_H_*/
index 98cdfb2ca5fa77498db0fe6e9c350e5559e9ac35..0c697530a89dfdceea72b1dfb429425a0df49441 100644 (file)
@@ -39,7 +39,7 @@ void rsa_enc(bigint_t* data, rsa_publickey_t* key){
        cli_putstr_P(PSTR("\r\n n = "));
        bigint_print_hex(key->modulus);
 */
        cli_putstr_P(PSTR("\r\n n = "));
        bigint_print_hex(key->modulus);
 */
-       bigint_expmod_u(data, data, key->exponent, key->modulus);
+       bigint_expmod_u(data, data, &key->exponent, &key->modulus);
 }
 
 /*
 }
 
 /*
@@ -52,8 +52,8 @@ m = m2 + q * h
 
 uint8_t rsa_dec_crt_mono(bigint_t* data, rsa_privatekey_t* key){
        bigint_t m1, m2;
 
 uint8_t rsa_dec_crt_mono(bigint_t* data, rsa_privatekey_t* key){
        bigint_t m1, m2;
-       m1.wordv = malloc((key->components[0]->length_B + 1) * sizeof(bigint_word_t));
-       m2.wordv = malloc((key->components[1]->length_B + 1) * sizeof(bigint_word_t));
+       m1.wordv = malloc((key->components[0].length_B + 1) * sizeof(bigint_word_t));
+       m2.wordv = malloc((key->components[1].length_B + 1) * sizeof(bigint_word_t));
        if(!m1.wordv || !m2.wordv){
 #if DEBUG
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
        if(!m1.wordv || !m2.wordv){
 #if DEBUG
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
@@ -67,24 +67,24 @@ uint8_t rsa_dec_crt_mono(bigint_t* data, rsa_privatekey_t* key){
        cli_putstr_P(PSTR("\r\nexpmod("));
        bigint_print_hex(data);
        cli_putc(',');
        cli_putstr_P(PSTR("\r\nexpmod("));
        bigint_print_hex(data);
        cli_putc(',');
-       bigint_print_hex(key->components[2]);
+       bigint_print_hex(&(key->components[2]));
        cli_putc(',');
        cli_putc(',');
-       bigint_print_hex(key->components[0]);
+       bigint_print_hex(&(key->components[0]));
        cli_putstr_P(PSTR(") = "));
 #endif
        cli_putstr_P(PSTR(") = "));
 #endif
-       bigint_expmod_u(&m1, data, key->components[2], key->components[0]);
+       bigint_expmod_u(&m1, data, &(key->components[2]), &(key->components[0]));
 #if DEBUG
        bigint_print_hex(&m1);
        cli_putstr_P(PSTR("expmod m2 ..."));
        cli_putstr_P(PSTR("\r\nexpmod("));
        bigint_print_hex(data);
        cli_putc(',');
 #if DEBUG
        bigint_print_hex(&m1);
        cli_putstr_P(PSTR("expmod m2 ..."));
        cli_putstr_P(PSTR("\r\nexpmod("));
        bigint_print_hex(data);
        cli_putc(',');
-       bigint_print_hex(key->components[3]);
+       bigint_print_hex(&(key->components[3]));
        cli_putc(',');
        cli_putc(',');
-       bigint_print_hex(key->components[1]);
+       bigint_print_hex(&(key->components[1]));
        cli_putstr_P(PSTR(") = "));
 #endif
        cli_putstr_P(PSTR(") = "));
 #endif
-       bigint_expmod_u(&m2, data, key->components[3], key->components[1]);
+       bigint_expmod_u(&m2, data, &(key->components[3]), &(key->components[1]));
 #if DEBUG
        bigint_print_hex(&m2);
        cli_putstr_P(PSTR("\r\nDBG: sub ..."));
 #if DEBUG
        bigint_print_hex(&m2);
        cli_putstr_P(PSTR("\r\nDBG: sub ..."));
@@ -105,44 +105,44 @@ uint8_t rsa_dec_crt_mono(bigint_t* data, rsa_privatekey_t* key){
        cli_putstr_P(PSTR("\r\nDBG: to "));
        bigint_print_hex(&m1);
 #endif
        cli_putstr_P(PSTR("\r\nDBG: to "));
        bigint_print_hex(&m1);
 #endif
-               bigint_add_s(&m1, &m1, key->components[0]);
+               bigint_add_s(&m1, &m1, &(key->components[0]));
        }
 #if DEBUG
        cli_putstr_P(PSTR("\r\nDBG: reduce-mul ..."));
        cli_putstr_P(PSTR("\r\nreduce("));
        bigint_print_hex(&m1);
        cli_putc(',');
        }
 #if DEBUG
        cli_putstr_P(PSTR("\r\nDBG: reduce-mul ..."));
        cli_putstr_P(PSTR("\r\nreduce("));
        bigint_print_hex(&m1);
        cli_putc(',');
-       bigint_print_hex(key->components[0]);
+       bigint_print_hex(&(key->components[0]));
        cli_putstr_P(PSTR(") = "));
 #endif
        cli_putstr_P(PSTR(") = "));
 #endif
-       bigint_reduce(&m1, key->components[0]);
+       bigint_reduce(&m1, &(key->components[0]));
 #if DEBUG
        bigint_print_hex(&m1);
        cli_putstr_P(PSTR("\r\nmul("));
        bigint_print_hex(&m1);
        cli_putc(',');
 #if DEBUG
        bigint_print_hex(&m1);
        cli_putstr_P(PSTR("\r\nmul("));
        bigint_print_hex(&m1);
        cli_putc(',');
-       bigint_print_hex(key->components[4]);
+       bigint_print_hex(&(key->components[4]));
        cli_putstr_P(PSTR(") = "));
 #endif
        cli_putstr_P(PSTR(") = "));
 #endif
-       bigint_mul_u(data, &m1, key->components[4]);
+       bigint_mul_u(data, &m1, &(key->components[4]));
 #if DEBUG
        bigint_print_hex(data);
        cli_putstr_P(PSTR("\r\nreduce("));
        bigint_print_hex(data);
        cli_putc(',');
 #if DEBUG
        bigint_print_hex(data);
        cli_putstr_P(PSTR("\r\nreduce("));
        bigint_print_hex(data);
        cli_putc(',');
-       bigint_print_hex(key->components[0]);
+       bigint_print_hex(&(key->components[0]));
        cli_putstr_P(PSTR(") = "));
 #endif
        cli_putstr_P(PSTR(") = "));
 #endif
-       bigint_reduce(data, key->components[0]);
+       bigint_reduce(data, &(key->components[0]));
 #if DEBUG
        bigint_print_hex(data);
        cli_putstr_P(PSTR("\r\nmul("));
        bigint_print_hex(data);
        cli_putc(',');
 #if DEBUG
        bigint_print_hex(data);
        cli_putstr_P(PSTR("\r\nmul("));
        bigint_print_hex(data);
        cli_putc(',');
-       bigint_print_hex(key->components[1]);
+       bigint_print_hex(&(key->components[1]));
        cli_putstr_P(PSTR(") = "));
 #endif
        cli_putstr_P(PSTR(") = "));
 #endif
-       bigint_mul_u(data, data, key->components[1]);
+       bigint_mul_u(data, data, &(key->components[1]));
 #if DEBUG
        bigint_print_hex(data);
        cli_putstr_P(PSTR("\r\nadd("));
 #if DEBUG
        bigint_print_hex(data);
        cli_putstr_P(PSTR("\r\nadd("));
@@ -162,7 +162,7 @@ uint8_t rsa_dec_crt_mono(bigint_t* data, rsa_privatekey_t* key){
 
 uint8_t rsa_dec(bigint_t* data, rsa_privatekey_t* key){
        if(key->n == 1){
 
 uint8_t rsa_dec(bigint_t* data, rsa_privatekey_t* key){
        if(key->n == 1){
-               bigint_expmod_u(data, data, key->components[0], key->modulus);
+               bigint_expmod_u(data, data, &(key->components[0]), &key->modulus);
                return 0;
        }
        if(key->n == 5){
                return 0;
        }
        if(key->n == 5){
index 4dc705d1b8cb151d6e37b92ea6dee07cf78bb9e5..54854a6db60c980e89b8e3b09de23136da3d98c9 100644 (file)
 #include "bigint.h"
 
 typedef struct {
 #include "bigint.h"
 
 typedef struct {
-       bigint_t* exponent;
-       bigint_t* modulus;
+       bigint_t exponent;
+       bigint_t modulus;
 } rsa_publickey_t;
 
 typedef struct {
        uint8_t n;
 } rsa_publickey_t;
 
 typedef struct {
        uint8_t n;
-       bigint_t* modulus;
-       bigint_t** components;
+       bigint_t modulus;
+       bigint_t* components;
 } rsa_privatekey_t;
 
 
 } rsa_privatekey_t;
 
 
index 0fc0c04d2de5e5238a8a2da8d63e8412b61e1ed5..3057d9a7cb6b9af409d66adc64fdc0d84885a0eb 100644 (file)
@@ -63,16 +63,16 @@ uint8_t rsa_encrypt_oaep(void* dest, uint16_t* out_length,
                label = &rsa_oaep_default_label;
        }
        uint16_t hv_len = (hfal_hash_getHashsize(p->hf)+7)/8;
                label = &rsa_oaep_default_label;
        }
        uint16_t hv_len = (hfal_hash_getHashsize(p->hf)+7)/8;
-       if(length_B > bigint_length_B(key->modulus) - 2*hv_len - 2){
+       if(length_B > bigint_length_B(&key->modulus) - 2*hv_len - 2){
                /* message too long */
                return 1;
        }
                /* message too long */
                return 1;
        }
-       uint16_t buffer_len = bigint_length_B(key->modulus);
+       uint16_t buffer_len = bigint_length_B(&key->modulus);
 #if DEBUG
        cli_putstr("\r\n buffer_len = ");
        cli_hexdump_rev(&buffer_len, 2);
        cli_putstr("\r\n modulus_len = ");
 #if DEBUG
        cli_putstr("\r\n buffer_len = ");
        cli_hexdump_rev(&buffer_len, 2);
        cli_putstr("\r\n modulus_len = ");
-       cli_hexdump_rev(&key->modulus->length_B, 2);
+       cli_hexdump_rev(&key->modulus.length_B, 2);
 #endif
        uint8_t* buffer = (uint8_t*)dest;
        uint8_t off;
 #endif
        uint8_t* buffer = (uint8_t*)dest;
        uint8_t off;
@@ -80,7 +80,7 @@ uint8_t rsa_encrypt_oaep(void* dest, uint16_t* out_length,
         * off is the offset which is used for compensating the effect of
         * changeendian() when it operates on multi-byte words.
         * */
         * off is the offset which is used for compensating the effect of
         * changeendian() when it operates on multi-byte words.
         * */
-       off = (sizeof(bigint_word_t) - (bigint_get_first_set_bit(key->modulus)/8+1) % sizeof(bigint_word_t))
+       off = (sizeof(bigint_word_t) - (bigint_get_first_set_bit(&key->modulus)/8+1) % sizeof(bigint_word_t))
                        % (sizeof(bigint_word_t));
        buffer += off;
     buffer_len -= off;
                        % (sizeof(bigint_word_t));
        buffer += off;
     buffer_len -= off;
@@ -110,7 +110,7 @@ uint8_t rsa_encrypt_oaep(void* dest, uint16_t* out_length,
        }
 #if DEBUG
        cli_putstr("\r\n  msg (raw, pre-feistel):\r\n");
        }
 #if DEBUG
        cli_putstr("\r\n  msg (raw, pre-feistel):\r\n");
-       cli_hexdump_block(dest, bigint_length_B(key->modulus), 4, 16);
+       cli_hexdump_block(dest, bigint_length_B(&key->modulus), 4, 16);
 #endif
        p->mgf(maskbuffer, seed_buffer, hv_len, db_len, p->mgf_parameter);
        memxor(db, maskbuffer, db_len);
 #endif
        p->mgf(maskbuffer, seed_buffer, hv_len, db_len, p->mgf_parameter);
        memxor(db, maskbuffer, db_len);
@@ -118,13 +118,13 @@ uint8_t rsa_encrypt_oaep(void* dest, uint16_t* out_length,
        memxor(seed_buffer, maskbuffer, hv_len);
 #if DEBUG
        cli_putstr("\r\n  msg (raw, post-feistel):\r\n");
        memxor(seed_buffer, maskbuffer, hv_len);
 #if DEBUG
        cli_putstr("\r\n  msg (raw, post-feistel):\r\n");
-       cli_hexdump_block(dest, bigint_length_B(key->modulus), 4, 16);
+       cli_hexdump_block(dest, bigint_length_B(&key->modulus), 4, 16);
 #endif
        x.info = 0;
 #endif
        x.info = 0;
-       x.length_B = key->modulus->length_B;
+       x.length_B = key->modulus.length_B;
        x.wordv = dest;
        bigint_adjust(&x);
        x.wordv = dest;
        bigint_adjust(&x);
-       rsa_os2ip(&x, NULL, bigint_length_B(key->modulus));
+       rsa_os2ip(&x, NULL, bigint_length_B(&key->modulus));
 #if DEBUG
        cli_putstr("\r\ninput-msg (pre enc):\r\n");
        cli_hexdump_rev(&src, 2);
 #if DEBUG
        cli_putstr("\r\ninput-msg (pre enc):\r\n");
        cli_hexdump_rev(&src, 2);
@@ -156,27 +156,27 @@ uint8_t rsa_decrypt_oaep(void* dest, uint16_t* out_length,
        bigint_t x;
        uint16_t hv_len = hfal_hash_getHashsize(p->hf)/8;
        uint8_t label_hv[hv_len];
        bigint_t x;
        uint16_t hv_len = hfal_hash_getHashsize(p->hf)/8;
        uint8_t label_hv[hv_len];
-       uint16_t msg_len = bigint_get_first_set_bit(key->modulus) / 8 + 1;
+       uint16_t msg_len = bigint_get_first_set_bit(&key->modulus) / 8 + 1;
        uint16_t db_len = msg_len - hv_len - 1;
        uint8_t maskbuffer[db_len>hv_len?db_len:hv_len];
 
        uint8_t *seed_buffer = dest;
        uint8_t *db_buffer = seed_buffer + hv_len;
 
        uint16_t db_len = msg_len - hv_len - 1;
        uint8_t maskbuffer[db_len>hv_len?db_len:hv_len];
 
        uint8_t *seed_buffer = dest;
        uint8_t *db_buffer = seed_buffer + hv_len;
 
-       x_len = bigint_get_first_set_bit(key->modulus)/8;
-       memset(dest, 0, bigint_length_B(key->modulus) - length_B);
-       memcpy((uint8_t*)dest + bigint_length_B(key->modulus) - length_B, src, length_B);
+       x_len = bigint_get_first_set_bit(&key->modulus)/8;
+       memset(dest, 0, bigint_length_B(&key->modulus) - length_B);
+       memcpy((uint8_t*)dest + bigint_length_B(&key->modulus) - length_B, src, length_B);
 
 //     cli_putc('a'); uart_flush(0);
 
        x.wordv = dest;
 
 //     cli_putc('a'); uart_flush(0);
 
        x.wordv = dest;
-       x.length_B = key->modulus->length_B;
+       x.length_B = key->modulus.length_B;
        x.info = 0;
        bigint_adjust(&x);
 
 
 //     cli_putc('b'); uart_flush(0);
        x.info = 0;
        bigint_adjust(&x);
 
 
 //     cli_putc('b'); uart_flush(0);
-       rsa_os2ip(&x, NULL, bigint_length_B(key->modulus));
+       rsa_os2ip(&x, NULL, bigint_length_B(&key->modulus));
 #if DEBUG
        cli_putstr_P(PSTR("\r\n rsa decrypting ..."));
 #endif
 #if DEBUG
        cli_putstr_P(PSTR("\r\n rsa decrypting ..."));
 #endif
index 459c62b427aaf147e3d7240089aa23e09f6da028..ac7e87ff18ccc078f55e62cfcece33b93e140664 100644 (file)
@@ -41,7 +41,7 @@ uint8_t rsa_encrypt_pkcs1v15(void* dest, uint16_t* out_length, const void* src,
        uint16_t length_B, rsa_publickey_t* key, const void* pad){
        int16_t pad_length;
        bigint_t x;
        uint16_t length_B, rsa_publickey_t* key, const void* pad){
        int16_t pad_length;
        bigint_t x;
-       pad_length = rsa_pkcs1v15_compute_padlength_B(key->modulus, length_B);
+       pad_length = rsa_pkcs1v15_compute_padlength_B(&key->modulus, length_B);
        if(pad_length<8){
 #if DEBUG
                cli_putstr_P(PSTR("\r\nERROR: pad_length<8; pad_length: "));
        if(pad_length<8){
 #if DEBUG
                cli_putstr_P(PSTR("\r\nERROR: pad_length<8; pad_length: "));
diff --git a/sumsize.rb b/sumsize.rb
deleted file mode 100644 (file)
index d20b872..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/local/bin/ruby
-
-def scanFile (filename)
-bytes = 0
-
-#   text          data     bss     dec     hex filename
-#    420             0       0     420     1a4 shabea.o
-#   1600             0       0    1600     640 sha256-asm.o
-
-
-file=File.open(filename)
-name= /(.*)_size.txt/.match(filename)[1]
-if (not name)
-  name=filename
-end
-
-while line=file.gets do
-  m = /^\s*\d+\s+\d+\s+\d+\s+(\d+)\s+.*/.match(line)
-  if m
-    bytes += m[1].to_i
-  end 
-end
-
-#puts "#{name}:\t#{bytes} bytes"
-printf("%6d bytes\t%s\n", bytes, name)
-
-end
-
-
-
-#========================================================
-# MAIN
-#========================================================
-
-ARGV.each do |x| scanFile(x) end
-
index 1b981fa720a1097fd509ffe2033d38553858c181..442e14237d62f1954c13ba50abfdf630abd8def1 100644 (file)
 #include "uart_i.h"
 #include "debug.h"
 
 #include "uart_i.h"
 #include "debug.h"
 
-#include <present.h>
+#include <present80.h>
+#include <present128.h>
 #include "cli.h"
 #include "performance_test.h"
 #include "bcal-performance.h"
 #include "bcal-nessie.h"
 #include "cli.h"
 #include "performance_test.h"
 #include "bcal-performance.h"
 #include "bcal-nessie.h"
-#include "bcal_present.h"
+#include "bcal_present80.h"
+#include "bcal_present128.h"
 
 #include <stdlib.h>
 #include <stdint.h>
 
 #include <stdlib.h>
 #include <stdint.h>
 char* algo_name = "Present";
 
 const bcdesc_t* const algolist[] PROGMEM = {
 char* algo_name = "Present";
 
 const bcdesc_t* const algolist[] PROGMEM = {
-       (bcdesc_t*)&present_desc,
+       (bcdesc_t*)&present80_desc,
+       (bcdesc_t*)&present128_desc,
        NULL
 };
 /*****************************************************************************
  *  additional validation-functions                                                                                     *
  *****************************************************************************/
        NULL
 };
 /*****************************************************************************
  *  additional validation-functions                                                                                     *
  *****************************************************************************/
-void present_genctx_dummy(uint8_t* key, uint16_t keysize_b, present_ctx_t* ctx){
-       present_init(key, keysize_b, ctx);
-}
-
 void testrun_nessie_present(void){
        bcal_nessie_multiple(algolist);
 }
 
 void testrun_selfenc(uint8_t* key, uint8_t* buffer){
 void testrun_nessie_present(void){
        bcal_nessie_multiple(algolist);
 }
 
 void testrun_selfenc(uint8_t* key, uint8_t* buffer){
-       present_ctx_t ctx;
+
+       present80_ctx_t ctx;
        cli_putstr_P(PSTR("\r\nkey   : "));
        cli_hexdump(key, 10);
        cli_putstr_P(PSTR("\r\nplain : "));
        cli_hexdump(buffer, 8);
        cli_putstr_P(PSTR("\r\nkey   : "));
        cli_hexdump(key, 10);
        cli_putstr_P(PSTR("\r\nplain : "));
        cli_hexdump(buffer, 8);
-       present_init(key, 80, &ctx);
-       present_enc(buffer, &ctx);
+       present80_init(key, 80, &ctx);
+       present80_enc(buffer, &ctx);
+       cli_putstr_P(PSTR("\r\ncipher: "));
+       cli_hexdump(buffer, 8);
+       present80_dec(buffer, &ctx);
+       cli_putstr_P(PSTR("\r\nplain : "));
+       cli_hexdump(buffer, 8);
+       cli_putstr_P(PSTR("\r\n"));
+}
+
+void testrun_selfenc_128(uint8_t* key, uint8_t* buffer){
+
+       present128_ctx_t ctx;
+       cli_putstr_P(PSTR("\r\nkey   : "));
+       cli_hexdump(key, 16);
+       cli_putstr_P(PSTR("\r\nplain : "));
+       cli_hexdump(buffer, 8);
+       present128_init(key, 128, &ctx);
+       present128_enc(buffer, &ctx);
        cli_putstr_P(PSTR("\r\ncipher: "));
        cli_hexdump(buffer, 8);
        cli_putstr_P(PSTR("\r\ncipher: "));
        cli_hexdump(buffer, 8);
-       present_dec(buffer, &ctx);
+       present128_dec(buffer, &ctx);
        cli_putstr_P(PSTR("\r\nplain : "));
        cli_hexdump(buffer, 8);
        cli_putstr_P(PSTR("\r\n"));
 }
        cli_putstr_P(PSTR("\r\nplain : "));
        cli_hexdump(buffer, 8);
        cli_putstr_P(PSTR("\r\n"));
 }
+// void present_key_test(const uint8_t* key);
+
 
 void testrun_self_present(void){
 
 void testrun_self_present(void){
-       uint8_t buffer[8], key[10];
+       uint8_t buffer[8], key[10], i;
        cli_putstr_P(PSTR("\r\n\r\n=== Testvectors from the paper ===\r\n"));
        cli_putstr_P(PSTR("\r\n\r\n=== Testvectors from the paper ===\r\n"));
-       
-       memset(buffer, 0, 8);
-       memset(key, 0, 10);
-       testrun_selfenc(key, buffer);
-       
-       memset(buffer, 0, 8);
-       memset(key, 0xFF, 10);
-       testrun_selfenc(key, buffer);
-       
-       memset(buffer, 0xFF, 8);
-       memset(key, 0, 10);
-       testrun_selfenc(key, buffer);
-       
-       memset(buffer, 0xFF, 8);
-       memset(key, 0xFF, 10);
+       for(i=0; i<4; ++i){
+               memset(buffer, (i&2)?0xff:0x00,  8);
+               memset(key,    (i&1)?0xff:0x00, 10);
+               testrun_selfenc(key, buffer);
+       }
+       memset(buffer, 0x00,  8);
+       memset(key,    0x00, 10);
+       key[0] = 0x80;
        testrun_selfenc(key, buffer);
        testrun_selfenc(key, buffer);
-       
+
+//     present_key_test(key);
+
+}
+
+void testrun_self_present_128(void){
+       uint8_t buffer[8], key[16], i;
+       cli_putstr_P(PSTR("\r\n\r\n=== Testvectors from the paper ===\r\n"));
+       for(i=0; i<4; ++i){
+               memset(buffer, (i&2)?0xff:0x00,  8);
+               memset(key,    (i&1)?0xff:0x00, 16);
+               testrun_selfenc_128(key, buffer);
+       }
+       memset(buffer, 0x00,  8);
+       memset(key,    0x00, 16);
+       key[0] = 0x80;
+       testrun_selfenc_128(key, buffer);
+
+//     present_key_test(key);
+
 }
 
 void testrun_performance_present(void){
 }
 
 void testrun_performance_present(void){
@@ -102,12 +133,14 @@ void testrun_performance_present(void){
 
 const char nessie_str[]      PROGMEM = "nessie";
 const char test_str[]        PROGMEM = "test";
 
 const char nessie_str[]      PROGMEM = "nessie";
 const char test_str[]        PROGMEM = "test";
+const char test_128_str[]    PROGMEM = "test-128";
 const char performance_str[] PROGMEM = "performance";
 const char echo_str[]        PROGMEM = "echo";
 
 const cmdlist_entry_t cmdlist[] PROGMEM = {
        { nessie_str,      NULL, testrun_nessie_present},
        { test_str,        NULL, testrun_self_present},
 const char performance_str[] PROGMEM = "performance";
 const char echo_str[]        PROGMEM = "echo";
 
 const cmdlist_entry_t cmdlist[] PROGMEM = {
        { nessie_str,      NULL, testrun_nessie_present},
        { test_str,        NULL, testrun_self_present},
+       { test_128_str,    NULL, testrun_self_present_128},
        { performance_str, NULL, testrun_performance_present},
        { echo_str,    (void*)1, (void_fpt)echo_ctrl},
        { NULL,            NULL, NULL}
        { performance_str, NULL, testrun_performance_present},
        { echo_str,    (void*)1, (void_fpt)echo_ctrl},
        { NULL,            NULL, NULL}
index f3199756299931d92de47944266cfe0601028ab2..26cb449697d6c7c6bed47601c8ef90e954539b73 100644 (file)
@@ -430,48 +430,24 @@ uint8_t read_bigint(bigint_t* a, char* prompt){
 }
 
 uint8_t pre_alloc_key_crt(void){
 }
 
 uint8_t pre_alloc_key_crt(void){
-       uint8_t c;
-       pub_key.modulus = malloc(sizeof(bigint_t));
-       if(!pub_key.modulus){
-               cli_putstr_P(PSTR("\r\nERROR: OOM!"));
-               return 2;
-       }
-       priv_key.modulus = pub_key.modulus;
        priv_key.n = 5;
        priv_key.n = 5;
-       priv_key.components = malloc(5 * sizeof(bigint_t*));
+       priv_key.components = malloc(5 * sizeof(bigint_t));
        if(!priv_key.components){
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
                return 2;
        }
        if(!priv_key.components){
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
                return 2;
        }
-       pub_key.exponent = malloc(sizeof(bigint_t));
-       if(!pub_key.exponent){
-               cli_putstr_P(PSTR("\r\nERROR: OOM!"));
-               return 2;
-       }
-       for(c=0; c<5; ++c){
-               priv_key.components[c] = malloc(sizeof(bigint_t));
-               if(!priv_key.components[c]){
-                       cli_putstr_P(PSTR("\r\nERROR: OOM!"));
-                       return 2;
-               }
-       }
        return 0;
 }
 
 void free_key(void){
        uint8_t c;
        return 0;
 }
 
 void free_key(void){
        uint8_t c;
-       free(pub_key.modulus->wordv);
-       free(pub_key.exponent->wordv);
-       free(pub_key.modulus);
-       pub_key.modulus = priv_key.modulus = NULL;
-       free(pub_key.exponent);
-       pub_key.exponent = NULL;
+       free(pub_key.modulus.wordv);
+       free(pub_key.exponent.wordv);
        for(c = 0; c < priv_key.n; ++c){
        for(c = 0; c < priv_key.n; ++c){
-               free(priv_key.components[c]->wordv);
-               free(priv_key.components[c]);
+               free(priv_key.components[c].wordv);
        }
        free(priv_key.components);
        }
        free(priv_key.components);
-       priv_key.components = NULL;
+       keys_allocated = 0;
 }
 
 uint8_t read_key_crt(void){
 }
 
 uint8_t read_key_crt(void){
@@ -479,109 +455,41 @@ uint8_t read_key_crt(void){
        cli_putstr_P(PSTR("\r\n== reading key (crt) =="));
        r = pre_alloc_key_crt();
        if(r) return r;
        cli_putstr_P(PSTR("\r\n== reading key (crt) =="));
        r = pre_alloc_key_crt();
        if(r) return r;
-       r = read_bigint(pub_key.modulus,"\r\n = module =");
+       r = read_bigint(&pub_key.modulus,"\r\n = module =");
        if(r) return r;
        if(r) return r;
-       r = read_bigint(pub_key.exponent,"\r\n = public exponent =");
+       memcpy(&priv_key.modulus, &pub_key.modulus, sizeof(bigint_t));
+       r = read_bigint(&pub_key.exponent,"\r\n = public exponent =");
        if(r) return r;
        if(r) return r;
-       r = read_bigint(priv_key.components[0],"\r\n = p (first prime) =");
+       r = read_bigint(&(priv_key.components[0]),"\r\n = p (first prime) =");
        if(r) return r;
        if(r) return r;
-       r = read_bigint(priv_key.components[1],"\r\n = q (second prime) =");
+       r = read_bigint(&(priv_key.components[1]),"\r\n = q (second prime) =");
        if(r) return r;
        if(r) return r;
-       r = read_bigint(priv_key.components[2],"\r\n = dp (p's exponent) =");
+       r = read_bigint(&(priv_key.components[2]),"\r\n = dp (p's exponent) =");
        if(r) return r;
        if(r) return r;
-       r = read_bigint(priv_key.components[3],"\r\n = dq (q's exponent) =");
+       r = read_bigint(&(priv_key.components[3]),"\r\n = dq (q's exponent) =");
        if(r) return r;
        if(r) return r;
-       r = read_bigint(priv_key.components[4],"\r\n = qInv (q' coefficient) =");
+       r = read_bigint(&(priv_key.components[4]),"\r\n = qInv (q' coefficient) =");
        return r;
 }
 
 uint8_t read_key_conv(void){
        uint8_t r;
        return r;
 }
 
 uint8_t read_key_conv(void){
        uint8_t r;
-       cli_putstr_P(PSTR("\r\n== reading key (crt) =="));
-       pub_key.modulus = malloc(sizeof(bigint_t));
-       if(!pub_key.modulus){
+       priv_key.components = malloc(sizeof(bigint_t));
+       if(!priv_key.components){
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
                return 2;
        }
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
                return 2;
        }
-       r = read_bigint(pub_key.modulus,"\r\n = module =");
+       cli_putstr_P(PSTR("\r\n== reading key (conv) =="));
+       r = read_bigint(&pub_key.modulus,"\r\n = module =");
        if(r) return r;
        if(r) return r;
-       priv_key.modulus = pub_key.modulus;
+       memcpy(&priv_key.modulus, &pub_key.modulus, sizeof(bigint_t));
        priv_key.n = 1;
        priv_key.n = 1;
-       pub_key.exponent = malloc(sizeof(bigint_t));
-       if(!pub_key.exponent){
-               cli_putstr_P(PSTR("\r\nERROR: OOM!"));
-               return 2;
-       }
-       priv_key.components = malloc(sizeof(bigint_t*));
-       if(!priv_key.components){
-               cli_putstr_P(PSTR("\r\nERROR: OOM!"));
-               return 2;
-       }
-       priv_key.components[0] = malloc(sizeof(bigint_t));
-       if(!priv_key.components[0]){
-               cli_putstr_P(PSTR("\r\nERROR: OOM!"));
-               return 2;
-       }
-       r = read_bigint(pub_key.exponent,"\r\n = public exponent =");
+       r = read_bigint(&pub_key.exponent,"\r\n = public exponent =");
        if(r) return r;
        if(r) return r;
-       r = read_bigint(priv_key.components[0],"\r\n = private exponent =");
+       r = read_bigint(priv_key.components,"\r\n = private exponent =");
        return r;
 }
 
        return r;
 }
 
-void load_priv_conventional(void){
-       bigint_t *epriv;
-       epriv = malloc(sizeof(bigint_t));
-       if(!epriv){
-               cli_putstr_P(PSTR("\r\nERROR: OOM!"));
-               return;
-       }
-       epriv->length_B = (sizeof(PRIV_EXPONENT) + sizeof(bigint_word_t) - 1) / sizeof(bigint_word_t);
-       epriv->wordv =  malloc(epriv->length_B * sizeof(bigint_word_t));
-       if(!epriv->wordv){
-               cli_putstr_P(PSTR("\r\nERROR: OOM!"));
-               return;
-       }
-       memcpy(epriv->wordv, PRIV_EXPONENT, sizeof(PRIV_EXPONENT));
-       priv_key.components = malloc(sizeof(bigint_t*));
-       priv_key.components[0] = epriv;
-       priv_key.n = 1;
-       bigint_changeendianess(epriv);
-       bigint_adjust(epriv);
-}
-
-
-void load_priv_crt_mono(void){
-       bigint_t **v;
-       const uint8_t *bv[5] = {P,Q,DP,DQ,QINV};
-       uint16_t sv[5] = {sizeof(P), sizeof(Q), sizeof(DP), sizeof(DQ), sizeof(QINV)};
-       uint8_t i;
-       v = malloc(5 * sizeof(bigint_t));
-       if(!v){
-               cli_putstr_P(PSTR("\r\nERROR: OOM!"));
-               return;
-       }
-       priv_key.components = malloc(5*sizeof(bigint_t*));
-       if(!priv_key.components){
-               cli_putstr_P(PSTR("\r\nERROR: OOM!"));
-               return;
-       }
-       priv_key.n = 5;
-       for(i=0; i<5; ++i){
-               v[i] = malloc(sizeof(bigint_t));
-               v[i]->info = 0;
-               v[i]->length_B = (sv[i] + sizeof(bigint_word_t) - 1) / sizeof(bigint_word_t);
-               v[i]->wordv = calloc(v[i]->length_B , sizeof(bigint_word_t));
-               if(!v[i]->wordv){
-                       cli_putstr_P(PSTR("\r\nERROR: OOM!"));
-                       return;
-               }
-               memcpy(v[i]->wordv, bv[i], sv[i]);
-               bigint_changeendianess(v[i]);
-               bigint_adjust(v[i]);
-               priv_key.components[i] = v[i];
-       }
-}
-
 uint8_t load_bigint_from_os(bigint_t* a, PGM_VOID_P os, uint16_t length_B){
        a->length_B = BIGINT_CEIL(length_B) / sizeof(bigint_word_t);
        a->wordv = malloc(BIGINT_CEIL(length_B));
 uint8_t load_bigint_from_os(bigint_t* a, PGM_VOID_P os, uint16_t length_B){
        a->length_B = BIGINT_CEIL(length_B) / sizeof(bigint_word_t);
        a->wordv = malloc(BIGINT_CEIL(length_B));
@@ -608,25 +516,23 @@ void load_fix_rsa(void){
                return;
        }
 
                return;
        }
 
-       load_bigint_from_os(pub_key.modulus, MODULUS, sizeof(MODULUS));
-       load_bigint_from_os(pub_key.exponent, PUB_EXPONENT, sizeof(PUB_EXPONENT));
+       load_bigint_from_os(&pub_key.modulus, MODULUS, sizeof(MODULUS));
+       memcpy(&priv_key.modulus, &pub_key.modulus, sizeof(bigint_t));
+       load_bigint_from_os(&pub_key.exponent, PUB_EXPONENT, sizeof(PUB_EXPONENT));
        priv_key.n = 5;
        priv_key.n = 5;
-       load_bigint_from_os(priv_key.components[0], P, sizeof(P));
-       load_bigint_from_os(priv_key.components[1], Q, sizeof(Q));
-       load_bigint_from_os(priv_key.components[2], DP, sizeof(DP));
-       load_bigint_from_os(priv_key.components[3], DQ, sizeof(DQ));
-       load_bigint_from_os(priv_key.components[4], QINV, sizeof(QINV));
-
-//     load_priv_conventional();
-//     load_priv_crt_mono();
+       load_bigint_from_os(&(priv_key.components[0]), P, sizeof(P));
+       load_bigint_from_os(&(priv_key.components[1]), Q, sizeof(Q));
+       load_bigint_from_os(&(priv_key.components[2]), DP, sizeof(DP));
+       load_bigint_from_os(&(priv_key.components[3]), DQ, sizeof(DQ));
+       load_bigint_from_os(&(priv_key.components[4]), QINV, sizeof(QINV));
 }
 
 void quick_test(void){
        uint8_t *ciphertext, *plaintext, rc;
        uint8_t seed[sizeof(SEED)];
        uint16_t clen, plen;
 }
 
 void quick_test(void){
        uint8_t *ciphertext, *plaintext, rc;
        uint8_t seed[sizeof(SEED)];
        uint16_t clen, plen;
-       ciphertext = malloc(clen = pub_key.modulus->length_B * sizeof(bigint_word_t));
-       plaintext = malloc(pub_key.modulus->length_B * sizeof(bigint_word_t));
+       ciphertext = malloc(clen = pub_key.modulus.length_B * sizeof(bigint_word_t));
+       plaintext = malloc(pub_key.modulus.length_B * sizeof(bigint_word_t));
        memcpy_P(plaintext, MSG, sizeof(MSG));
        memcpy_P(seed, SEED, sizeof(SEED));
        cli_putstr_P(PSTR("\r\nplaintext:"));
        memcpy_P(plaintext, MSG, sizeof(MSG));
        memcpy_P(seed, SEED, sizeof(SEED));
        cli_putstr_P(PSTR("\r\nplaintext:"));
@@ -681,12 +587,12 @@ void run_seed_test(void){
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
                return;
        }
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
                return;
        }
-       ciph = malloc(bigint_length_B(pub_key.modulus));
+       ciph = malloc(bigint_length_B(&pub_key.modulus));
        if(!ciph){
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
                return;
        }
        if(!ciph){
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
                return;
        }
-       msg_ = malloc(bigint_length_B(pub_key.modulus) + sizeof(bigint_word_t));
+       msg_ = malloc(bigint_length_B(&pub_key.modulus) + sizeof(bigint_word_t));
        if(!msg_){
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
                return;
        if(!msg_){
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
                return;
@@ -764,7 +670,7 @@ void test_dump(void){
        cli_putstr_P(PSTR("\r\ndumping 0x"));
        cli_hexdump_rev(&len, 2);
        cli_putstr_P(PSTR(" byte:"));
        cli_putstr_P(PSTR("\r\ndumping 0x"));
        cli_hexdump_rev(&len, 2);
        cli_putstr_P(PSTR(" byte:"));
-       cli_hexdump_block(pub_key.modulus->wordv, len, 4, 8);
+       cli_hexdump_block(pub_key.modulus.wordv, len, 4, 8);
 }
 
 /*****************************************************************************
 }
 
 /*****************************************************************************
index efea72c122c0596e4915e822c4dbf9200b3ba1ca..a5a3a88e93863cd2af028d3efad44f697286c937 100644 (file)
@@ -247,6 +247,106 @@ uint8_t read_bigint(bigint_t* a, char* prompt){
        return 0;
 }
 
        return 0;
 }
 
+uint8_t pre_alloc_key_crt(void){
+       priv_key.n = 5;
+       priv_key.components = malloc(5 * sizeof(bigint_t));
+       if(!priv_key.components){
+               cli_putstr_P(PSTR("\r\nERROR: OOM!"));
+               return 2;
+       }
+       return 0;
+}
+
+void free_key(void){
+       uint8_t c;
+       free(pub_key.modulus.wordv);
+       free(pub_key.exponent.wordv);
+       for(c = 0; c < priv_key.n; ++c){
+               free(priv_key.components[c].wordv);
+       }
+       free(priv_key.components);
+       keys_allocated = 0;
+}
+
+uint8_t read_key_crt(void){
+       uint8_t r;
+       cli_putstr_P(PSTR("\r\n== reading key (crt) =="));
+       r = pre_alloc_key_crt();
+       if(r) return r;
+       r = read_bigint(&pub_key.modulus,"\r\n = module =");
+       if(r) return r;
+       memcpy(&priv_key.modulus, &pub_key.modulus, sizeof(bigint_t));
+       r = read_bigint(&pub_key.exponent,"\r\n = public exponent =");
+       if(r) return r;
+       r = read_bigint(&(priv_key.components[0]),"\r\n = p (first prime) =");
+       if(r) return r;
+       r = read_bigint(&(priv_key.components[1]),"\r\n = q (second prime) =");
+       if(r) return r;
+       r = read_bigint(&(priv_key.components[2]),"\r\n = dp (p's exponent) =");
+       if(r) return r;
+       r = read_bigint(&(priv_key.components[3]),"\r\n = dq (q's exponent) =");
+       if(r) return r;
+       r = read_bigint(&(priv_key.components[4]),"\r\n = qInv (q' coefficient) =");
+       return r;
+}
+
+uint8_t read_key_conv(void){
+       uint8_t r;
+       priv_key.components = malloc(sizeof(bigint_t));
+       if(!priv_key.components){
+               cli_putstr_P(PSTR("\r\nERROR: OOM!"));
+               return 2;
+       }
+       cli_putstr_P(PSTR("\r\n== reading key (conv) =="));
+       r = read_bigint(&pub_key.modulus,"\r\n = module =");
+       if(r) return r;
+       memcpy(&priv_key.modulus, &pub_key.modulus, sizeof(bigint_t));
+       priv_key.n = 1;
+       r = read_bigint(&pub_key.exponent,"\r\n = public exponent =");
+       if(r) return r;
+       r = read_bigint(priv_key.components,"\r\n = private exponent =");
+       return r;
+}
+
+uint8_t load_bigint_from_os(bigint_t* a, PGM_VOID_P os, uint16_t length_B){
+       a->length_B = BIGINT_CEIL(length_B) / sizeof(bigint_word_t);
+       a->wordv = malloc(BIGINT_CEIL(length_B));
+       if(!a->wordv){
+               cli_putstr_P(PSTR("\r\nOOM!\r\n"));
+               return 1;
+       }
+       memset(a->wordv, 0, sizeof(bigint_word_t));
+       memcpy_P((uint8_t*)a->wordv + BIGINT_OFF(length_B), os, length_B);
+       a->info = 0;
+       bigint_changeendianess(a);
+       bigint_adjust(a);
+       return 0;
+}
+
+void load_fix_rsa(void){
+       if(keys_allocated){
+               free_key();
+       }
+       keys_allocated = 1;
+
+       if(pre_alloc_key_crt()){
+               cli_putstr_P(PSTR("\r\nOOM!\r\n"));
+               return;
+       }
+
+       load_bigint_from_os(&pub_key.modulus, MODULUS, sizeof(MODULUS));
+       memcpy(&priv_key.modulus, &pub_key.modulus, sizeof(bigint_t));
+       load_bigint_from_os(&pub_key.exponent, PUB_EXPONENT, sizeof(PUB_EXPONENT));
+       priv_key.n = 5;
+       load_bigint_from_os(&(priv_key.components[0]), P, sizeof(P));
+       load_bigint_from_os(&(priv_key.components[1]), Q, sizeof(Q));
+       load_bigint_from_os(&(priv_key.components[2]), DP, sizeof(DP));
+       load_bigint_from_os(&(priv_key.components[3]), DQ, sizeof(DQ));
+       load_bigint_from_os(&(priv_key.components[4]), QINV, sizeof(QINV));
+}
+
+/*
+
 uint8_t pre_alloc_key_crt(void){
        uint8_t c;
        pub_key.modulus = malloc(sizeof(bigint_t));
 uint8_t pre_alloc_key_crt(void){
        uint8_t c;
        pub_key.modulus = malloc(sizeof(bigint_t));
@@ -459,6 +559,7 @@ void load_fix_rsa(void){
 //     load_priv_conventional();
 //     load_priv_crt_mono();
 }
 //     load_priv_conventional();
 //     load_priv_crt_mono();
 }
+*/
 
 void quick_test(void){
        uint8_t *ciphertext, *plaintext, rc;
 
 void quick_test(void){
        uint8_t *ciphertext, *plaintext, rc;
@@ -467,8 +568,8 @@ void quick_test(void){
        if(!keys_allocated){
                load_fix_rsa();
        }
        if(!keys_allocated){
                load_fix_rsa();
        }
-       ciphertext = malloc(clen = pub_key.modulus->length_B * sizeof(bigint_word_t));
-       plaintext = malloc(pub_key.modulus->length_B * sizeof(bigint_word_t));
+       ciphertext = malloc(clen = bigint_length_B(&pub_key.modulus));
+       plaintext = malloc(clen);
        memcpy_P(plaintext, MSG, sizeof(MSG));
        memcpy_P(seed, SEED, sizeof(SEED));
        cli_putstr_P(PSTR("\r\nplaintext:"));
        memcpy_P(plaintext, MSG, sizeof(MSG));
        memcpy_P(seed, SEED, sizeof(SEED));
        cli_putstr_P(PSTR("\r\nplaintext:"));
@@ -525,7 +626,7 @@ void run_seed_test(void){
        cli_putstr_P(PSTR("\r\n  length: "));
        cli_getsn(read_int_str, 16);
        msg_len = own_atou(read_int_str);
        cli_putstr_P(PSTR("\r\n  length: "));
        cli_getsn(read_int_str, 16);
        msg_len = own_atou(read_int_str);
-       seed_len = rsa_pkcs1v15_compute_padlength_B(pub_key.modulus, msg_len);
+       seed_len = rsa_pkcs1v15_compute_padlength_B(&pub_key.modulus, msg_len);
        seed = malloc(seed_len);
 #if DEBUG
        cli_putstr_P(PSTR("\r\nDBG: @seed: 0x"));
        seed = malloc(seed_len);
 #if DEBUG
        cli_putstr_P(PSTR("\r\nDBG: @seed: 0x"));
@@ -553,7 +654,7 @@ void run_seed_test(void){
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
                return;
        }
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
                return;
        }
-       ciph = malloc(bigint_length_B(pub_key.modulus));
+       ciph = malloc(bigint_length_B(&pub_key.modulus));
 #if DEBUG
        cli_putstr_P(PSTR("\r\nDBG: @ciph: 0x"));
        cli_hexdump_rev(&ciph, 2);
 #if DEBUG
        cli_putstr_P(PSTR("\r\nDBG: @ciph: 0x"));
        cli_hexdump_rev(&ciph, 2);
@@ -562,7 +663,7 @@ void run_seed_test(void){
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
                return;
        }
                cli_putstr_P(PSTR("\r\nERROR: OOM!"));
                return;
        }
-       msg_ = malloc(bigint_length_B(pub_key.modulus) + sizeof(bigint_word_t));
+       msg_ = malloc(bigint_length_B(&pub_key.modulus) + sizeof(bigint_word_t));
 #if DEBUG
        cli_putstr_P(PSTR("\r\nDBG: @msg_: 0x"));
        cli_hexdump_rev(&msg_, 2);
 #if DEBUG
        cli_putstr_P(PSTR("\r\nDBG: @msg_: 0x"));
        cli_hexdump_rev(&msg_, 2);
@@ -587,14 +688,14 @@ void run_seed_test(void){
 */
 #if DEBUG
        cli_putstr_P(PSTR("\r\n  first prime:"));
 */
 #if DEBUG
        cli_putstr_P(PSTR("\r\n  first prime:"));
-       bigint_print_hex(priv_key.components[0]);
+       bigint_print_hex(&priv_key.components[0]);
 #endif
        rsa_encrypt_pkcs1v15(ciph, &ciph_len, msg, msg_len, &pub_key, seed);
        cli_putstr_P(PSTR("\r\n  ciphertext:"));
        cli_hexdump_block(ciph, ciph_len, 4, 16);
 #if DEBUG
        cli_putstr_P(PSTR("\r\n  first prime:"));
 #endif
        rsa_encrypt_pkcs1v15(ciph, &ciph_len, msg, msg_len, &pub_key, seed);
        cli_putstr_P(PSTR("\r\n  ciphertext:"));
        cli_hexdump_block(ciph, ciph_len, 4, 16);
 #if DEBUG
        cli_putstr_P(PSTR("\r\n  first prime:"));
-       bigint_print_hex(priv_key.components[0]);
+       bigint_print_hex(&priv_key.components[0]);
 #endif
        cli_putstr_P(PSTR("\r\n  decrypting ... "));
 
 #endif
        cli_putstr_P(PSTR("\r\n  decrypting ... "));
 
@@ -671,7 +772,7 @@ void test_dump(void){
        cli_putstr_P(PSTR("\r\ndumping 0x"));
        cli_hexdump_rev(&len, 2);
        cli_putstr_P(PSTR(" byte:"));
        cli_putstr_P(PSTR("\r\ndumping 0x"));
        cli_hexdump_rev(&len, 2);
        cli_putstr_P(PSTR(" byte:"));
-       cli_hexdump_block(pub_key.modulus->wordv, len, 4, 8);
+       cli_hexdump_block(pub_key.modulus.wordv, len, 4, 8);
 }
 
 /*****************************************************************************
 }
 
 /*****************************************************************************
diff --git a/testvectors/present/nessie-present-128_le.txt b/testvectors/present/nessie-present-128_le.txt
new file mode 100644 (file)
index 0000000..af1dc15
--- /dev/null
@@ -0,0 +1,6338 @@
+PROCESSOR_UNKNOWN is defined. If you know your processors characteristics,
+please update them in include/portable.h.
+********************************************************************************
+*Project NESSIE - New European Schemes for Signature, Integrity, and Encryption*
+********************************************************************************
+
+Primitive Name: Present
+=======================
+Key size: 128 bits
+Block size: 64 bits
+
+Test vectors -- set 1
+=====================
+
+Set 1, vector#  0:
+                           key=80000000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=72FDB8013B1AB576
+                     decrypted=0000000000000000
+            Iterated 100 times=0D23A87B65B1F841
+           Iterated 1000 times=0BB3152B1829A94E
+
+Set 1, vector#  1:
+                           key=40000000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=DE64C9FEAAC499D4
+                     decrypted=0000000000000000
+            Iterated 100 times=5AC65D57D012BA20
+           Iterated 1000 times=81ED8E02D46E8B40
+
+Set 1, vector#  2:
+                           key=20000000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=0F9880255E377309
+                     decrypted=0000000000000000
+            Iterated 100 times=840E5D77D269F88A
+           Iterated 1000 times=73B2A81CCDDFEE64
+
+Set 1, vector#  3:
+                           key=10000000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=9696044F43F41B95
+                     decrypted=0000000000000000
+            Iterated 100 times=361699609065C949
+           Iterated 1000 times=405CF5E02112B5E8
+
+Set 1, vector#  4:
+                           key=08000000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=28FFB577F73FAA49
+                     decrypted=0000000000000000
+            Iterated 100 times=B2890F6989C0C717
+           Iterated 1000 times=6DC470A2063A7A26
+
+Set 1, vector#  5:
+                           key=04000000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=3A90E5F496AC2B6E
+                     decrypted=0000000000000000
+            Iterated 100 times=E1A5D2D758316C47
+           Iterated 1000 times=33BC0C2EB20F12DC
+
+Set 1, vector#  6:
+                           key=02000000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=697499AEF8A4C3CE
+                     decrypted=0000000000000000
+            Iterated 100 times=5E213920C3D1A83C
+           Iterated 1000 times=2E4D210C2A873610
+
+Set 1, vector#  7:
+                           key=01000000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=75AAA60BA0179FA5
+                     decrypted=0000000000000000
+            Iterated 100 times=08F4A60B32F47BE9
+           Iterated 1000 times=76527D56307C1C64
+
+Set 1, vector#  8:
+                           key=00800000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=04EB57A097A4CC90
+                     decrypted=0000000000000000
+            Iterated 100 times=18869DAB2A9B0C29
+           Iterated 1000 times=1AC140174B817E37
+
+Set 1, vector#  9:
+                           key=00400000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=1A4A84E3B4D2958E
+                     decrypted=0000000000000000
+            Iterated 100 times=46B2C15541B69E7D
+           Iterated 1000 times=AB618231E9CCEEA6
+
+Set 1, vector# 10:
+                           key=00200000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=56A7E021D7FCE50A
+                     decrypted=0000000000000000
+            Iterated 100 times=1C090570834277BF
+           Iterated 1000 times=CF77324B40D940DC
+
+Set 1, vector# 11:
+                           key=00100000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=F7622A36AF76AD27
+                     decrypted=0000000000000000
+            Iterated 100 times=5A9C41B775082A7D
+           Iterated 1000 times=B99C3C8B253776D2
+
+Set 1, vector# 12:
+                           key=00080000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=2CAA4726720075CB
+                     decrypted=0000000000000000
+            Iterated 100 times=0EADB25BF5131CEC
+           Iterated 1000 times=1B822D7199CEC5D1
+
+Set 1, vector# 13:
+                           key=00040000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=409DB13C29F397EA
+                     decrypted=0000000000000000
+            Iterated 100 times=07DCFB16CC2C166A
+           Iterated 1000 times=6850D0B24C36B3B4
+
+Set 1, vector# 14:
+                           key=00020000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=45E849E4BAC1353D
+                     decrypted=0000000000000000
+            Iterated 100 times=5C722F943720E38D
+           Iterated 1000 times=CDE66BECA89D5815
+
+Set 1, vector# 15:
+                           key=00010000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=0012DC85874E2DBC
+                     decrypted=0000000000000000
+            Iterated 100 times=2FF7230E1DFF2E0D
+           Iterated 1000 times=5DC7E5E88AEF2AD0
+
+Set 1, vector# 16:
+                           key=00008000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=07DA8CA6EA4AEF0C
+                     decrypted=0000000000000000
+            Iterated 100 times=F73FAD672D5BAC16
+           Iterated 1000 times=1AA6598AFFBE307E
+
+Set 1, vector# 17:
+                           key=00004000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=4C12BE333AA52B73
+                     decrypted=0000000000000000
+            Iterated 100 times=57BDD76228A721C4
+           Iterated 1000 times=62AE00D5D8D71636
+
+Set 1, vector# 18:
+                           key=00002000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=B2B6135B5CB8D0FD
+                     decrypted=0000000000000000
+            Iterated 100 times=C562FA230A622700
+           Iterated 1000 times=E048A410957EA309
+
+Set 1, vector# 19:
+                           key=00001000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=4C53A47EC809B9AB
+                     decrypted=0000000000000000
+            Iterated 100 times=F3DAF188864A9DF0
+           Iterated 1000 times=1B9BC0D64C71FFEB
+
+Set 1, vector# 20:
+                           key=00000800000000000000000000000000
+                         plain=0000000000000000
+                        cipher=77A11E2ED8D86FF6
+                     decrypted=0000000000000000
+            Iterated 100 times=D02695324C8C268E
+           Iterated 1000 times=D7EF6044E33EB191
+
+Set 1, vector# 21:
+                           key=00000400000000000000000000000000
+                         plain=0000000000000000
+                        cipher=44AEC6E3F461A4E3
+                     decrypted=0000000000000000
+            Iterated 100 times=F3A3E098DFE48174
+           Iterated 1000 times=30BF46C49ADE890A
+
+Set 1, vector# 22:
+                           key=00000200000000000000000000000000
+                         plain=0000000000000000
+                        cipher=0B74C3CF6BD0991E
+                     decrypted=0000000000000000
+            Iterated 100 times=71EA1E0CF8F598BC
+           Iterated 1000 times=2A06143A69AEDACF
+
+Set 1, vector# 23:
+                           key=00000100000000000000000000000000
+                         plain=0000000000000000
+                        cipher=6F23AE9325010950
+                     decrypted=0000000000000000
+            Iterated 100 times=FF3DCEBEF3B00D3F
+           Iterated 1000 times=CCE547B0CF178659
+
+Set 1, vector# 24:
+                           key=00000080000000000000000000000000
+                         plain=0000000000000000
+                        cipher=6D0506E348486EE1
+                     decrypted=0000000000000000
+            Iterated 100 times=779A70DE27BDFC94
+           Iterated 1000 times=4DC8B0CB4B69F984
+
+Set 1, vector# 25:
+                           key=00000040000000000000000000000000
+                         plain=0000000000000000
+                        cipher=9C09147138AE0ED6
+                     decrypted=0000000000000000
+            Iterated 100 times=CFF6F636AC23DDCF
+           Iterated 1000 times=1BD8F0B05FA0F2A5
+
+Set 1, vector# 26:
+                           key=00000020000000000000000000000000
+                         plain=0000000000000000
+                        cipher=72437558E1E18449
+                     decrypted=0000000000000000
+            Iterated 100 times=E48057DEF41A03BF
+           Iterated 1000 times=4CCA6FDFEA18956A
+
+Set 1, vector# 27:
+                           key=00000010000000000000000000000000
+                         plain=0000000000000000
+                        cipher=FB0DF6155C821925
+                     decrypted=0000000000000000
+            Iterated 100 times=5D3AF2C245E689B0
+           Iterated 1000 times=DB99863165128CB4
+
+Set 1, vector# 28:
+                           key=00000008000000000000000000000000
+                         plain=0000000000000000
+                        cipher=26445080F4190D62
+                     decrypted=0000000000000000
+            Iterated 100 times=9053FADDFF0C4A6E
+           Iterated 1000 times=1086CBD98F528801
+
+Set 1, vector# 29:
+                           key=00000004000000000000000000000000
+                         plain=0000000000000000
+                        cipher=4DB2FB085EFA4C20
+                     decrypted=0000000000000000
+            Iterated 100 times=9D8E7D68D1E421F2
+           Iterated 1000 times=DF70134B4471407C
+
+Set 1, vector# 30:
+                           key=00000002000000000000000000000000
+                         plain=0000000000000000
+                        cipher=017449BB75BEBFE0
+                     decrypted=0000000000000000
+            Iterated 100 times=9E9052236110F1D5
+           Iterated 1000 times=05943618D999A5B2
+
+Set 1, vector# 31:
+                           key=00000001000000000000000000000000
+                         plain=0000000000000000
+                        cipher=409179387DAB9233
+                     decrypted=0000000000000000
+            Iterated 100 times=CD846A5C28D1BA55
+           Iterated 1000 times=902553C631CA1032
+
+Set 1, vector# 32:
+                           key=00000000800000000000000000000000
+                         plain=0000000000000000
+                        cipher=41821C017CA9D7B7
+                     decrypted=0000000000000000
+            Iterated 100 times=507CAB33E5641BCA
+           Iterated 1000 times=923046FA554516FC
+
+Set 1, vector# 33:
+                           key=00000000400000000000000000000000
+                         plain=0000000000000000
+                        cipher=6BDD878BAB942ADD
+                     decrypted=0000000000000000
+            Iterated 100 times=40D411D32DAAB3AA
+           Iterated 1000 times=31520281D81BD491
+
+Set 1, vector# 34:
+                           key=00000000200000000000000000000000
+                         plain=0000000000000000
+                        cipher=7E3ABB7B3A63B847
+                     decrypted=0000000000000000
+            Iterated 100 times=C2C98C56C30A8AF6
+           Iterated 1000 times=F7BBAAEE025828DE
+
+Set 1, vector# 35:
+                           key=00000000100000000000000000000000
+                         plain=0000000000000000
+                        cipher=7816DD375D04917E
+                     decrypted=0000000000000000
+            Iterated 100 times=A249AAB087C92357
+           Iterated 1000 times=2886B82106D88D23
+
+Set 1, vector# 36:
+                           key=00000000080000000000000000000000
+                         plain=0000000000000000
+                        cipher=2F0FE31537EB4A46
+                     decrypted=0000000000000000
+            Iterated 100 times=A3A785EB4101AFA6
+           Iterated 1000 times=3E5F7C0A64C03A7A
+
+Set 1, vector# 37:
+                           key=00000000040000000000000000000000
+                         plain=0000000000000000
+                        cipher=4CA3BD3DDC1504FE
+                     decrypted=0000000000000000
+            Iterated 100 times=7793CF17F05D1F7A
+           Iterated 1000 times=06778F1FFC20B3C0
+
+Set 1, vector# 38:
+                           key=00000000020000000000000000000000
+                         plain=0000000000000000
+                        cipher=4854C3A54DBE3637
+                     decrypted=0000000000000000
+            Iterated 100 times=69388D820A88A552
+           Iterated 1000 times=84FD1DCE4CC2CC06
+
+Set 1, vector# 39:
+                           key=00000000010000000000000000000000
+                         plain=0000000000000000
+                        cipher=C7D9E418FC33115C
+                     decrypted=0000000000000000
+            Iterated 100 times=2E510C213B6EA057
+           Iterated 1000 times=999A6B256C140D2C
+
+Set 1, vector# 40:
+                           key=00000000008000000000000000000000
+                         plain=0000000000000000
+                        cipher=9C52F9CD22B1FE38
+                     decrypted=0000000000000000
+            Iterated 100 times=5BD80E4BFE27BC9A
+           Iterated 1000 times=D8CF1AE4E75EA256
+
+Set 1, vector# 41:
+                           key=00000000004000000000000000000000
+                         plain=0000000000000000
+                        cipher=F8C7857EC2BA89AF
+                     decrypted=0000000000000000
+            Iterated 100 times=449D950AF7D24921
+           Iterated 1000 times=4927A041D1143C30
+
+Set 1, vector# 42:
+                           key=00000000002000000000000000000000
+                         plain=0000000000000000
+                        cipher=DC4DEE2088075D2F
+                     decrypted=0000000000000000
+            Iterated 100 times=A42969C40B41C9FA
+           Iterated 1000 times=4DC714CC5B8D4018
+
+Set 1, vector# 43:
+                           key=00000000001000000000000000000000
+                         plain=0000000000000000
+                        cipher=67F16DB78C245A2B
+                     decrypted=0000000000000000
+            Iterated 100 times=1A77CD86B825158A
+           Iterated 1000 times=1B2FD1D6B2A5BFF3
+
+Set 1, vector# 44:
+                           key=00000000000800000000000000000000
+                         plain=0000000000000000
+                        cipher=67A7AA91D5379929
+                     decrypted=0000000000000000
+            Iterated 100 times=1CF604550332C6BD
+           Iterated 1000 times=FA546A969104511A
+
+Set 1, vector# 45:
+                           key=00000000000400000000000000000000
+                         plain=0000000000000000
+                        cipher=153EC4C36F13887A
+                     decrypted=0000000000000000
+            Iterated 100 times=9327BFCE630F3AAD
+           Iterated 1000 times=3A57C2E898137B1E
+
+Set 1, vector# 46:
+                           key=00000000000200000000000000000000
+                         plain=0000000000000000
+                        cipher=D1451995339562AE
+                     decrypted=0000000000000000
+            Iterated 100 times=DF87C657A421715B
+           Iterated 1000 times=271DD98AFB14A9BF
+
+Set 1, vector# 47:
+                           key=00000000000100000000000000000000
+                         plain=0000000000000000
+                        cipher=C0097CE69FCDF53A
+                     decrypted=0000000000000000
+            Iterated 100 times=93268895B244504E
+           Iterated 1000 times=72EBFE4EDD2E1592
+
+Set 1, vector# 48:
+                           key=00000000000080000000000000000000
+                         plain=0000000000000000
+                        cipher=22104E5C159B0FF2
+                     decrypted=0000000000000000
+            Iterated 100 times=DB4215A7B25FC0CC
+           Iterated 1000 times=27280A039E96B8CE
+
+Set 1, vector# 49:
+                           key=00000000000040000000000000000000
+                         plain=0000000000000000
+                        cipher=02B87EA3FE6E2BD8
+                     decrypted=0000000000000000
+            Iterated 100 times=F23C6A265A9A7728
+           Iterated 1000 times=4043722FF936DC3E
+
+Set 1, vector# 50:
+                           key=00000000000020000000000000000000
+                         plain=0000000000000000
+                        cipher=609D7D81CBF58A10
+                     decrypted=0000000000000000
+            Iterated 100 times=AF6793BD0E015F13
+           Iterated 1000 times=E4B55514ED9E948E
+
+Set 1, vector# 51:
+                           key=00000000000010000000000000000000
+                         plain=0000000000000000
+                        cipher=D0F30120F08AD2C3
+                     decrypted=0000000000000000
+            Iterated 100 times=427B2287848A8D86
+           Iterated 1000 times=4860A78203629FB6
+
+Set 1, vector# 52:
+                           key=00000000000008000000000000000000
+                         plain=0000000000000000
+                        cipher=456D079F47C014F8
+                     decrypted=0000000000000000
+            Iterated 100 times=8D99A57D8A8B2E40
+           Iterated 1000 times=55C37DE67DCF8DEC
+
+Set 1, vector# 53:
+                           key=00000000000004000000000000000000
+                         plain=0000000000000000
+                        cipher=4BFA164CD34B2AB4
+                     decrypted=0000000000000000
+            Iterated 100 times=97ADB54DF21B515D
+           Iterated 1000 times=B73CB62B45A83FD1
+
+Set 1, vector# 54:
+                           key=00000000000002000000000000000000
+                         plain=0000000000000000
+                        cipher=7E35EF5DBE2659C9
+                     decrypted=0000000000000000
+            Iterated 100 times=1BAB478F3C9852F3
+           Iterated 1000 times=8CE396FF47525712
+
+Set 1, vector# 55:
+                           key=00000000000001000000000000000000
+                         plain=0000000000000000
+                        cipher=478824E419E521F5
+                     decrypted=0000000000000000
+            Iterated 100 times=10B40D42E0EE7EBB
+           Iterated 1000 times=964ADAA75555AB8E
+
+Set 1, vector# 56:
+                           key=00000000000000800000000000000000
+                         plain=0000000000000000
+                        cipher=F8ACCD8DB36B7D29
+                     decrypted=0000000000000000
+            Iterated 100 times=E828351AD8CA3824
+           Iterated 1000 times=F7D05443E5D0ADE4
+
+Set 1, vector# 57:
+                           key=00000000000000400000000000000000
+                         plain=0000000000000000
+                        cipher=F2ADBF32760BF795
+                     decrypted=0000000000000000
+            Iterated 100 times=E553FE7AE6216DA4
+           Iterated 1000 times=78ED726E42D392A6
+
+Set 1, vector# 58:
+                           key=00000000000000200000000000000000
+                         plain=0000000000000000
+                        cipher=CB4260FEEFA9C93A
+                     decrypted=0000000000000000
+            Iterated 100 times=0AEAB7E6F2829657
+           Iterated 1000 times=9E7F9D5D3D5761F7
+
+Set 1, vector# 59:
+                           key=00000000000000100000000000000000
+                         plain=0000000000000000
+                        cipher=B7AB29C828ED3D53
+                     decrypted=0000000000000000
+            Iterated 100 times=9A744C1C96FD32F2
+           Iterated 1000 times=F049DDB3EBEB558D
+
+Set 1, vector# 60:
+                           key=00000000000000080000000000000000
+                         plain=0000000000000000
+                        cipher=4E9770C6D731477A
+                     decrypted=0000000000000000
+            Iterated 100 times=B372DADE463CA990
+           Iterated 1000 times=F4E665669A5D1AFD
+
+Set 1, vector# 61:
+                           key=00000000000000040000000000000000
+                         plain=0000000000000000
+                        cipher=1B3AF1F80CA3CA8E
+                     decrypted=0000000000000000
+            Iterated 100 times=B66E1DB372CE40E1
+           Iterated 1000 times=E1BCDE3A5119FE88
+
+Set 1, vector# 62:
+                           key=00000000000000020000000000000000
+                         plain=0000000000000000
+                        cipher=859735265EA07963
+                     decrypted=0000000000000000
+            Iterated 100 times=4F94893F46BED832
+           Iterated 1000 times=22D37B4C41F76021
+
+Set 1, vector# 63:
+                           key=00000000000000010000000000000000
+                         plain=0000000000000000
+                        cipher=A845713A50BBDE2F
+                     decrypted=0000000000000000
+            Iterated 100 times=5CD0FB864FDC25F0
+           Iterated 1000 times=98FBC9CEF499DC82
+
+Set 1, vector# 64:
+                           key=00000000000000008000000000000000
+                         plain=0000000000000000
+                        cipher=C6EF3E81CB16C1F5
+                     decrypted=0000000000000000
+            Iterated 100 times=03EB1BF485C874B2
+           Iterated 1000 times=8727038ABBD3F995
+
+Set 1, vector# 65:
+                           key=00000000000000004000000000000000
+                         plain=0000000000000000
+                        cipher=B3B4A8BC1B96F4A8
+                     decrypted=0000000000000000
+            Iterated 100 times=F03C234EC20ADAD3
+           Iterated 1000 times=ADB2FE2184E18B6C
+
+Set 1, vector# 66:
+                           key=00000000000000002000000000000000
+                         plain=0000000000000000
+                        cipher=47151DA2DBE39D18
+                     decrypted=0000000000000000
+            Iterated 100 times=1AB5AC815BE205FC
+           Iterated 1000 times=7F4E6C8362AA0DDD
+
+Set 1, vector# 67:
+                           key=00000000000000001000000000000000
+                         plain=0000000000000000
+                        cipher=DC4FC73C16E5E1C0
+                     decrypted=0000000000000000
+            Iterated 100 times=A928540ACCB1C603
+           Iterated 1000 times=6E1514142C697E41
+
+Set 1, vector# 68:
+                           key=00000000000000000800000000000000
+                         plain=0000000000000000
+                        cipher=0774BCE0D4230DA7
+                     decrypted=0000000000000000
+            Iterated 100 times=AA6B1EFEC33484CB
+           Iterated 1000 times=DF3499B0496C7D0B
+
+Set 1, vector# 69:
+                           key=00000000000000000400000000000000
+                         plain=0000000000000000
+                        cipher=6550A5BFD8285837
+                     decrypted=0000000000000000
+            Iterated 100 times=91320C96E548E743
+           Iterated 1000 times=D230DF462065A302
+
+Set 1, vector# 70:
+                           key=00000000000000000200000000000000
+                         plain=0000000000000000
+                        cipher=E901DE339450F19C
+                     decrypted=0000000000000000
+            Iterated 100 times=F610AB78A41B93A5
+           Iterated 1000 times=0A5FFBB8C2C78025
+
+Set 1, vector# 71:
+                           key=00000000000000000100000000000000
+                         plain=0000000000000000
+                        cipher=8A644F0C4F239D36
+                     decrypted=0000000000000000
+            Iterated 100 times=73F6591B761BECAC
+           Iterated 1000 times=C4267C9DCCB2175F
+
+Set 1, vector# 72:
+                           key=00000000000000000080000000000000
+                         plain=0000000000000000
+                        cipher=A46E6F7050D06084
+                     decrypted=0000000000000000
+            Iterated 100 times=88CCFF9444528CC2
+           Iterated 1000 times=B53B7281ACAF2AC1
+
+Set 1, vector# 73:
+                           key=00000000000000000040000000000000
+                         plain=0000000000000000
+                        cipher=F5F7CBB12F24D2CA
+                     decrypted=0000000000000000
+            Iterated 100 times=5D307ADC4C6D58D1
+           Iterated 1000 times=014C3B2E2A8B2917
+
+Set 1, vector# 74:
+                           key=00000000000000000020000000000000
+                         plain=0000000000000000
+                        cipher=9D00748075096DE9
+                     decrypted=0000000000000000
+            Iterated 100 times=20038ACCDCD097EC
+           Iterated 1000 times=F9EAB4DE92BB87E1
+
+Set 1, vector# 75:
+                           key=00000000000000000010000000000000
+                         plain=0000000000000000
+                        cipher=A92D1158AC8ACDFD
+                     decrypted=0000000000000000
+            Iterated 100 times=BE62EEE8E213B01F
+           Iterated 1000 times=581E595A62EF9C4B
+
+Set 1, vector# 76:
+                           key=00000000000000000008000000000000
+                         plain=0000000000000000
+                        cipher=F621839CC5AF3F88
+                     decrypted=0000000000000000
+            Iterated 100 times=82E40B1E252AE04F
+           Iterated 1000 times=E10A6A41BF0D69C8
+
+Set 1, vector# 77:
+                           key=00000000000000000004000000000000
+                         plain=0000000000000000
+                        cipher=E706E61BE90BFB0D
+                     decrypted=0000000000000000
+            Iterated 100 times=FE559E95DBFB9C6F
+           Iterated 1000 times=7B8D0C697223EE5C
+
+Set 1, vector# 78:
+                           key=00000000000000000002000000000000
+                         plain=0000000000000000
+                        cipher=C9C433F5FF161CC6
+                     decrypted=0000000000000000
+            Iterated 100 times=2B46502B5D701999
+           Iterated 1000 times=B5CAC10439514AED
+
+Set 1, vector# 79:
+                           key=00000000000000000001000000000000
+                         plain=0000000000000000
+                        cipher=E29CE1F728A1289D
+                     decrypted=0000000000000000
+            Iterated 100 times=2DF4DCFEAE11F1A4
+           Iterated 1000 times=AAD44FB38380F91E
+
+Set 1, vector# 80:
+                           key=00000000000000000000800000000000
+                         plain=0000000000000000
+                        cipher=0114BF459848D647
+                     decrypted=0000000000000000
+            Iterated 100 times=F628B4B0BA010E9C
+           Iterated 1000 times=2917D2CC8C0528A7
+
+Set 1, vector# 81:
+                           key=00000000000000000000400000000000
+                         plain=0000000000000000
+                        cipher=AE8F6923AAF1C0C9
+                     decrypted=0000000000000000
+            Iterated 100 times=25552CECFE596262
+           Iterated 1000 times=37F71C1D938C348F
+
+Set 1, vector# 82:
+                           key=00000000000000000000200000000000
+                         plain=0000000000000000
+                        cipher=3E0D49FB44819413
+                     decrypted=0000000000000000
+            Iterated 100 times=F87D55FA50F5D89E
+           Iterated 1000 times=B0191F59D7C2A4AC
+
+Set 1, vector# 83:
+                           key=00000000000000000000100000000000
+                         plain=0000000000000000
+                        cipher=2190EDD52444E0D2
+                     decrypted=0000000000000000
+            Iterated 100 times=F46DB8273882B106
+           Iterated 1000 times=0E20C2B1162EFA1F
+
+Set 1, vector# 84:
+                           key=00000000000000000000080000000000
+                         plain=0000000000000000
+                        cipher=F93B2426ABE49F6F
+                     decrypted=0000000000000000
+            Iterated 100 times=2CC96F8B3D7310D4
+           Iterated 1000 times=9B8949DD2A91427B
+
+Set 1, vector# 85:
+                           key=00000000000000000000040000000000
+                         plain=0000000000000000
+                        cipher=4E5271179500655C
+                     decrypted=0000000000000000
+            Iterated 100 times=E4446AE35ED093D1
+           Iterated 1000 times=BC533E614D666D10
+
+Set 1, vector# 86:
+                           key=00000000000000000000020000000000
+                         plain=0000000000000000
+                        cipher=AB2810F51FFF4187
+                     decrypted=0000000000000000
+            Iterated 100 times=B18554327C6C5144
+           Iterated 1000 times=06D47EA79E20993F
+
+Set 1, vector# 87:
+                           key=00000000000000000000010000000000
+                         plain=0000000000000000
+                        cipher=127D318502D11EF2
+                     decrypted=0000000000000000
+            Iterated 100 times=5AEB1A478551AFBE
+           Iterated 1000 times=BC805C7AB152B725
+
+Set 1, vector# 88:
+                           key=00000000000000000000008000000000
+                         plain=0000000000000000
+                        cipher=8C350E378D718D0C
+                     decrypted=0000000000000000
+            Iterated 100 times=D367C0F7B2D5CFBE
+           Iterated 1000 times=58373DBCD693DA81
+
+Set 1, vector# 89:
+                           key=00000000000000000000004000000000
+                         plain=0000000000000000
+                        cipher=1BDA4F81FC0E7487
+                     decrypted=0000000000000000
+            Iterated 100 times=E9DCC635B56963B2
+           Iterated 1000 times=C50B90E4B8606622
+
+Set 1, vector# 90:
+                           key=00000000000000000000002000000000
+                         plain=0000000000000000
+                        cipher=CECA1AF137185885
+                     decrypted=0000000000000000
+            Iterated 100 times=B72B559FB065575C
+           Iterated 1000 times=F175F19DFB014B85
+
+Set 1, vector# 91:
+                           key=00000000000000000000001000000000
+                         plain=0000000000000000
+                        cipher=D275817A974EB7A5
+                     decrypted=0000000000000000
+            Iterated 100 times=EBCF02AF8D314C87
+           Iterated 1000 times=EF2295B692C28EC7
+
+Set 1, vector# 92:
+                           key=00000000000000000000000800000000
+                         plain=0000000000000000
+                        cipher=43354907F29E11A7
+                     decrypted=0000000000000000
+            Iterated 100 times=197751E048E4853A
+           Iterated 1000 times=AFA4CF12D3F5BFAB
+
+Set 1, vector# 93:
+                           key=00000000000000000000000400000000
+                         plain=0000000000000000
+                        cipher=C2D1A1E2D9AE2567
+                     decrypted=0000000000000000
+            Iterated 100 times=846BA11FF41F4E24
+           Iterated 1000 times=45B5B936A9D4B1C5
+
+Set 1, vector# 94:
+                           key=00000000000000000000000200000000
+                         plain=0000000000000000
+                        cipher=8B7DBCF95901BF2B
+                     decrypted=0000000000000000
+            Iterated 100 times=0C0262AF9889864F
+           Iterated 1000 times=002DF3647FC20F84
+
+Set 1, vector# 95:
+                           key=00000000000000000000000100000000
+                         plain=0000000000000000
+                        cipher=3B1C121A2A6B48C5
+                     decrypted=0000000000000000
+            Iterated 100 times=EF60C03AB39275A7
+           Iterated 1000 times=5E4CDF9AD04D3D21
+
+Set 1, vector# 96:
+                           key=00000000000000000000000080000000
+                         plain=0000000000000000
+                        cipher=2B134098AFC81672
+                     decrypted=0000000000000000
+            Iterated 100 times=F8680E16C3167500
+           Iterated 1000 times=ACDA8656032FE21B
+
+Set 1, vector# 97:
+                           key=00000000000000000000000040000000
+                         plain=0000000000000000
+                        cipher=DA6B16504C893456
+                     decrypted=0000000000000000
+            Iterated 100 times=393F13E9338DD9E2
+           Iterated 1000 times=2BC9321AE0217FE0
+
+Set 1, vector# 98:
+                           key=00000000000000000000000020000000
+                         plain=0000000000000000
+                        cipher=2236921DF63C72E8
+                     decrypted=0000000000000000
+            Iterated 100 times=F49112218A8C4EBE
+           Iterated 1000 times=9D6349B15C3C3049
+
+Set 1, vector# 99:
+                           key=00000000000000000000000010000000
+                         plain=0000000000000000
+                        cipher=887EE7CD23ED98C9
+                     decrypted=0000000000000000
+            Iterated 100 times=A32ED404C8AD8965
+           Iterated 1000 times=9575F534E7A25A4E
+
+Set 1, vector#100:
+                           key=00000000000000000000000008000000
+                         plain=0000000000000000
+                        cipher=0049F5A96DDB3430
+                     decrypted=0000000000000000
+            Iterated 100 times=F23546938F4934EB
+           Iterated 1000 times=7BBFEE4F06A3B937
+
+Set 1, vector#101:
+                           key=00000000000000000000000004000000
+                         plain=0000000000000000
+                        cipher=7477888D6526A189
+                     decrypted=0000000000000000
+            Iterated 100 times=55813228DE75C46A
+           Iterated 1000 times=E6FB04353C8BCB9E
+
+Set 1, vector#102:
+                           key=00000000000000000000000002000000
+                         plain=0000000000000000
+                        cipher=49EB4B58709A0FB2
+                     decrypted=0000000000000000
+            Iterated 100 times=003F31835F610FF3
+           Iterated 1000 times=D5D257FE1BB61B45
+
+Set 1, vector#103:
+                           key=00000000000000000000000001000000
+                         plain=0000000000000000
+                        cipher=9DE45EA0BB953355
+                     decrypted=0000000000000000
+            Iterated 100 times=0DD7D5142BF1D7F8
+           Iterated 1000 times=B07587D40B8870FC
+
+Set 1, vector#104:
+                           key=00000000000000000000000000800000
+                         plain=0000000000000000
+                        cipher=CFC7C9D57B235CAC
+                     decrypted=0000000000000000
+            Iterated 100 times=88818F5A895ED37B
+           Iterated 1000 times=DFD6A3F9A7BF553B
+
+Set 1, vector#105:
+                           key=00000000000000000000000000400000
+                         plain=0000000000000000
+                        cipher=A9C14416243749F6
+                     decrypted=0000000000000000
+            Iterated 100 times=419473ADB503F663
+           Iterated 1000 times=A452DE8704FD949C
+
+Set 1, vector#106:
+                           key=00000000000000000000000000200000
+                         plain=0000000000000000
+                        cipher=2CB82FE7C64C90BB
+                     decrypted=0000000000000000
+            Iterated 100 times=18B2F6646746623B
+           Iterated 1000 times=EA6E22D6C698FF80
+
+Set 1, vector#107:
+                           key=00000000000000000000000000100000
+                         plain=0000000000000000
+                        cipher=4680867E2A5B199B
+                     decrypted=0000000000000000
+            Iterated 100 times=927D167FDB67E8C8
+           Iterated 1000 times=7E6A637DB006F866
+
+Set 1, vector#108:
+                           key=00000000000000000000000000080000
+                         plain=0000000000000000
+                        cipher=11FB29D24A82A93D
+                     decrypted=0000000000000000
+            Iterated 100 times=CFF70F159CCC38F1
+           Iterated 1000 times=1E5678C012115942
+
+Set 1, vector#109:
+                           key=00000000000000000000000000040000
+                         plain=0000000000000000
+                        cipher=740483E91D2FE479
+                     decrypted=0000000000000000
+            Iterated 100 times=C268BCB8CE84412F
+           Iterated 1000 times=9CFF5A00AF510946
+
+Set 1, vector#110:
+                           key=00000000000000000000000000020000
+                         plain=0000000000000000
+                        cipher=B91DB6D9B3204014
+                     decrypted=0000000000000000
+            Iterated 100 times=53EF3ECA13708AC7
+           Iterated 1000 times=61EA0CE529AC2EEE
+
+Set 1, vector#111:
+                           key=00000000000000000000000000010000
+                         plain=0000000000000000
+                        cipher=98A2174EADE81306
+                     decrypted=0000000000000000
+            Iterated 100 times=9253FC622110E59A
+           Iterated 1000 times=8E5FABEE1A560B49
+
+Set 1, vector#112:
+                           key=00000000000000000000000000008000
+                         plain=0000000000000000
+                        cipher=061DE4CB99168AB3
+                     decrypted=0000000000000000
+            Iterated 100 times=CB9573FE1E129C9E
+           Iterated 1000 times=E0AC9CF56765FE36
+
+Set 1, vector#113:
+                           key=00000000000000000000000000004000
+                         plain=0000000000000000
+                        cipher=90B29039B080FC16
+                     decrypted=0000000000000000
+            Iterated 100 times=D509E89211F512F5
+           Iterated 1000 times=ED18483A17E8C1E1
+
+Set 1, vector#114:
+                           key=00000000000000000000000000002000
+                         plain=0000000000000000
+                        cipher=C536AA27C58FA41F
+                     decrypted=0000000000000000
+            Iterated 100 times=432759D81BBA5930
+           Iterated 1000 times=FCDD90CD65D9EFB0
+
+Set 1, vector#115:
+                           key=00000000000000000000000000001000
+                         plain=0000000000000000
+                        cipher=CFACA9C3C8A381BD
+                     decrypted=0000000000000000
+            Iterated 100 times=A7736696B83E3A05
+           Iterated 1000 times=82850BD0BCAE4CBB
+
+Set 1, vector#116:
+                           key=00000000000000000000000000000800
+                         plain=0000000000000000
+                        cipher=AB649E01FCA3094A
+                     decrypted=0000000000000000
+            Iterated 100 times=9BEE5A84966A648B
+           Iterated 1000 times=3439D810A4EB86E4
+
+Set 1, vector#117:
+                           key=00000000000000000000000000000400
+                         plain=0000000000000000
+                        cipher=1F414B93E8CF6A2B
+                     decrypted=0000000000000000
+            Iterated 100 times=EDB859473C4BE88B
+           Iterated 1000 times=6D4EF3EA8815588F
+
+Set 1, vector#118:
+                           key=00000000000000000000000000000200
+                         plain=0000000000000000
+                        cipher=5594431FF3E5DB5A
+                     decrypted=0000000000000000
+            Iterated 100 times=DBF6579D770F56D9
+           Iterated 1000 times=BC644A9F2AA95960
+
+Set 1, vector#119:
+                           key=00000000000000000000000000000100
+                         plain=0000000000000000
+                        cipher=5E48F569098B5C41
+                     decrypted=0000000000000000
+            Iterated 100 times=EC5511DC257AA656
+           Iterated 1000 times=C1C4AC695873C74C
+
+Set 1, vector#120:
+                           key=00000000000000000000000000000080
+                         plain=0000000000000000
+                        cipher=B7DBC2F53F93F8DF
+                     decrypted=0000000000000000
+            Iterated 100 times=AAE9DCCA9C6389A1
+           Iterated 1000 times=A044C4C2001CE835
+
+Set 1, vector#121:
+                           key=00000000000000000000000000000040
+                         plain=0000000000000000
+                        cipher=5871100CB2ECD3F4
+                     decrypted=0000000000000000
+            Iterated 100 times=1A0F75062283DB0E
+           Iterated 1000 times=99F9FA0C3EBCBDE7
+
+Set 1, vector#122:
+                           key=00000000000000000000000000000020
+                         plain=0000000000000000
+                        cipher=08B4D56E51DA121B
+                     decrypted=0000000000000000
+            Iterated 100 times=01E9BC499FE3231B
+           Iterated 1000 times=710A77E256E72FF7
+
+Set 1, vector#123:
+                           key=00000000000000000000000000000010
+                         plain=0000000000000000
+                        cipher=5BBB07ED078B9E43
+                     decrypted=0000000000000000
+            Iterated 100 times=A01547DB13C1E734
+           Iterated 1000 times=307B192B609C8013
+
+Set 1, vector#124:
+                           key=00000000000000000000000000000008
+                         plain=0000000000000000
+                        cipher=F386F757CBA3ED32
+                     decrypted=0000000000000000
+            Iterated 100 times=C9214E33E9A251F2
+           Iterated 1000 times=B0D069EFE0F87955
+
+Set 1, vector#125:
+                           key=00000000000000000000000000000004
+                         plain=0000000000000000
+                        cipher=8CB95DBCEF2DA080
+                     decrypted=0000000000000000
+            Iterated 100 times=FE3F49C2D56B7886
+           Iterated 1000 times=9B5F69CA43675005
+
+Set 1, vector#126:
+                           key=00000000000000000000000000000002
+                         plain=0000000000000000
+                        cipher=B9762D61F6F8C972
+                     decrypted=0000000000000000
+            Iterated 100 times=EEE1B51189C9DBDD
+           Iterated 1000 times=98F619C57ABFBFD4
+
+Set 1, vector#127:
+                           key=00000000000000000000000000000001
+                         plain=0000000000000000
+                        cipher=158E2A2DA012D738
+                     decrypted=0000000000000000
+            Iterated 100 times=92495D7DF50232FA
+           Iterated 1000 times=6890D7C526A9A2B7
+
+Test vectors -- set 2
+=====================
+
+Set 2, vector#  0:
+                           key=00000000000000000000000000000000
+                         plain=8000000000000000
+                        cipher=ECC531491456DFD2
+                     decrypted=8000000000000000
+            Iterated 100 times=F8AFB96403ABB2A5
+           Iterated 1000 times=2BABA4F15B9B964D
+
+Set 2, vector#  1:
+                           key=00000000000000000000000000000000
+                         plain=4000000000000000
+                        cipher=0D89FF007047F93C
+                     decrypted=4000000000000000
+            Iterated 100 times=F2CC0F4CB10E881C
+           Iterated 1000 times=66772248B4E49F26
+
+Set 2, vector#  2:
+                           key=00000000000000000000000000000000
+                         plain=2000000000000000
+                        cipher=D3A80E883A948FB9
+                     decrypted=2000000000000000
+            Iterated 100 times=391D1368DC33F84F
+           Iterated 1000 times=BDB54AF3F417DA02
+
+Set 2, vector#  3:
+                           key=00000000000000000000000000000000
+                         plain=1000000000000000
+                        cipher=7781BBFDC246B927
+                     decrypted=1000000000000000
+            Iterated 100 times=2510FF29D8448323
+           Iterated 1000 times=119184C5EF017A86
+
+Set 2, vector#  4:
+                           key=00000000000000000000000000000000
+                         plain=0800000000000000
+                        cipher=64F2599432DDCE07
+                     decrypted=0800000000000000
+            Iterated 100 times=99CAC9E2EA0E69FB
+           Iterated 1000 times=20650FF329037DA8
+
+Set 2, vector#  5:
+                           key=00000000000000000000000000000000
+                         plain=0400000000000000
+                        cipher=49C85A8310B5D918
+                     decrypted=0400000000000000
+            Iterated 100 times=DC89E569934369FB
+           Iterated 1000 times=B68EE2A0CE454E3F
+
+Set 2, vector#  6:
+                           key=00000000000000000000000000000000
+                         plain=0200000000000000
+                        cipher=AD8280DB23BE8091
+                     decrypted=0200000000000000
+            Iterated 100 times=34506C8EEA565BE5
+           Iterated 1000 times=A61D38493CC1DB8E
+
+Set 2, vector#  7:
+                           key=00000000000000000000000000000000
+                         plain=0100000000000000
+                        cipher=5145482CF5956EBF
+                     decrypted=0100000000000000
+            Iterated 100 times=950033A831A77A4A
+           Iterated 1000 times=E6E552A103B2A2EE
+
+Set 2, vector#  8:
+                           key=00000000000000000000000000000000
+                         plain=0080000000000000
+                        cipher=B0462F9281FC1DB7
+                     decrypted=0080000000000000
+            Iterated 100 times=3C5B919DFEE1CBD0
+           Iterated 1000 times=F39005D3C7801865
+
+Set 2, vector#  9:
+                           key=00000000000000000000000000000000
+                         plain=0040000000000000
+                        cipher=2F3CB5F3910B84D4
+                     decrypted=0040000000000000
+            Iterated 100 times=587908D3A85D1948
+           Iterated 1000 times=A8C0D0E541D14197
+
+Set 2, vector# 10:
+                           key=00000000000000000000000000000000
+                         plain=0020000000000000
+                        cipher=A32EC2338A828310
+                     decrypted=0020000000000000
+            Iterated 100 times=E03B0843E2989677
+           Iterated 1000 times=8952F22884CB5FB9
+
+Set 2, vector# 11:
+                           key=00000000000000000000000000000000
+                         plain=0010000000000000
+                        cipher=6A8B517523502CF4
+                     decrypted=0010000000000000
+            Iterated 100 times=CD13B23DB8A90E64
+           Iterated 1000 times=D876BB203CE5691A
+
+Set 2, vector# 12:
+                           key=00000000000000000000000000000000
+                         plain=0008000000000000
+                        cipher=EDDFC10AB8A68992
+                     decrypted=0008000000000000
+            Iterated 100 times=2A59A23D8AB387DB
+           Iterated 1000 times=59AB3021EF82B647
+
+Set 2, vector# 13:
+                           key=00000000000000000000000000000000
+                         plain=0004000000000000
+                        cipher=AB6EAC613D4E30D9
+                     decrypted=0004000000000000
+            Iterated 100 times=1322C43F7ECD176F
+           Iterated 1000 times=55894C898C2EA81B
+
+Set 2, vector# 14:
+                           key=00000000000000000000000000000000
+                         plain=0002000000000000
+                        cipher=57725ED2F245B176
+                     decrypted=0002000000000000
+            Iterated 100 times=185D34A9E3FCF85C
+           Iterated 1000 times=27D48F64E7B723CA
+
+Set 2, vector# 15:
+                           key=00000000000000000000000000000000
+                         plain=0001000000000000
+                        cipher=9496EF7C97741A39
+                     decrypted=0001000000000000
+            Iterated 100 times=93FB60D3A4A9BFE8
+           Iterated 1000 times=36F0D0FBCF10D365
+
+Set 2, vector# 16:
+                           key=00000000000000000000000000000000
+                         plain=0000800000000000
+                        cipher=9467D2CC17D4F4A7
+                     decrypted=0000800000000000
+            Iterated 100 times=10CE977DE3BF3F5B
+           Iterated 1000 times=7CE2B080CAD2DF41
+
+Set 2, vector# 17:
+                           key=00000000000000000000000000000000
+                         plain=0000400000000000
+                        cipher=8BEAA81AE593D68B
+                     decrypted=0000400000000000
+            Iterated 100 times=73652DC319D3802C
+           Iterated 1000 times=A9214479017A8C64
+
+Set 2, vector# 18:
+                           key=00000000000000000000000000000000
+                         plain=0000200000000000
+                        cipher=A7027D164AE6D02C
+                     decrypted=0000200000000000
+            Iterated 100 times=1ABA9C9B653973B1
+           Iterated 1000 times=D99914EC36C38C62
+
+Set 2, vector# 19:
+                           key=00000000000000000000000000000000
+                         plain=0000100000000000
+                        cipher=3C9D49756A492508
+                     decrypted=0000100000000000
+            Iterated 100 times=8FA106A577D47B59
+           Iterated 1000 times=38A080BAE2009741
+
+Set 2, vector# 20:
+                           key=00000000000000000000000000000000
+                         plain=0000080000000000
+                        cipher=FFD268AE20BBC5BE
+                     decrypted=0000080000000000
+            Iterated 100 times=F466775FE9135623
+           Iterated 1000 times=6339270773FADBCD
+
+Set 2, vector# 21:
+                           key=00000000000000000000000000000000
+                         plain=0000040000000000
+                        cipher=7FA84B128FE57423
+                     decrypted=0000040000000000
+            Iterated 100 times=9D4EE9049E7D7F38
+           Iterated 1000 times=A04A8193B7CEC4C5
+
+Set 2, vector# 22:
+                           key=00000000000000000000000000000000
+                         plain=0000020000000000
+                        cipher=1932602025364FA9
+                     decrypted=0000020000000000
+            Iterated 100 times=B723919807059D93
+           Iterated 1000 times=8F03D3CFBD5A62AE
+
+Set 2, vector# 23:
+                           key=00000000000000000000000000000000
+                         plain=0000010000000000
+                        cipher=D5B554186E245A68
+                     decrypted=0000010000000000
+            Iterated 100 times=0B17F0022E3801C0
+           Iterated 1000 times=508298C024B8B46D
+
+Set 2, vector# 24:
+                           key=00000000000000000000000000000000
+                         plain=0000008000000000
+                        cipher=5BC6B5E59545AD1A
+                     decrypted=0000008000000000
+            Iterated 100 times=E85EDD8DD4DBF224
+           Iterated 1000 times=CAD7804FFEBEADAD
+
+Set 2, vector# 25:
+                           key=00000000000000000000000000000000
+                         plain=0000004000000000
+                        cipher=021512803B4876DB
+                     decrypted=0000004000000000
+            Iterated 100 times=1255595635D84911
+           Iterated 1000 times=2FDA81A595A8F61A
+
+Set 2, vector# 26:
+                           key=00000000000000000000000000000000
+                         plain=0000002000000000
+                        cipher=10AAE168E98F9C16
+                     decrypted=0000002000000000
+            Iterated 100 times=51F2C7D90FB91D59
+           Iterated 1000 times=9786230C1828C19C
+
+Set 2, vector# 27:
+                           key=00000000000000000000000000000000
+                         plain=0000001000000000
+                        cipher=98D51837CC3B5BDD
+                     decrypted=0000001000000000
+            Iterated 100 times=FEA5B7B4423C0725
+           Iterated 1000 times=94A1EBF48E483068
+
+Set 2, vector# 28:
+                           key=00000000000000000000000000000000
+                         plain=0000000800000000
+                        cipher=23B6980AE4DB4DC7
+                     decrypted=0000000800000000
+            Iterated 100 times=04244669237FB7D5
+           Iterated 1000 times=82CEC10C5EDE3804
+
+Set 2, vector# 29:
+                           key=00000000000000000000000000000000
+                         plain=0000000400000000
+                        cipher=04A6DCFCA126A68B
+                     decrypted=0000000400000000
+            Iterated 100 times=BFA120CAD228A825
+           Iterated 1000 times=12A0C52FEE4E93C0
+
+Set 2, vector# 30:
+                           key=00000000000000000000000000000000
+                         plain=0000000200000000
+                        cipher=326D11F52821FB6D
+                     decrypted=0000000200000000
+            Iterated 100 times=510CA6730CB814AA
+           Iterated 1000 times=6C6D47A04BF32094
+
+Set 2, vector# 31:
+                           key=00000000000000000000000000000000
+                         plain=0000000100000000
+                        cipher=31CF38841FFB6D12
+                     decrypted=0000000100000000
+            Iterated 100 times=3057BE9612604291
+           Iterated 1000 times=4EDC412C99A2C581
+
+Set 2, vector# 32:
+                           key=00000000000000000000000000000000
+                         plain=0000000080000000
+                        cipher=9D73A07EC56A3044
+                     decrypted=0000000080000000
+            Iterated 100 times=03F3E225F6C168BB
+           Iterated 1000 times=D3D2527FFF587B76
+
+Set 2, vector# 33:
+                           key=00000000000000000000000000000000
+                         plain=0000000040000000
+                        cipher=30D8B3FB7760E492
+                     decrypted=0000000040000000
+            Iterated 100 times=8EC6876F3AE28031
+           Iterated 1000 times=E0461AC102136A44
+
+Set 2, vector# 34:
+                           key=00000000000000000000000000000000
+                         plain=0000000020000000
+                        cipher=805F5B9E3A741633
+                     decrypted=0000000020000000
+            Iterated 100 times=5AC36859C9FC699A
+           Iterated 1000 times=092530EFBC460073
+
+Set 2, vector# 35:
+                           key=00000000000000000000000000000000
+                         plain=0000000010000000
+                        cipher=9575C330ECD65EC9
+                     decrypted=0000000010000000
+            Iterated 100 times=9DE7E01F6D067D63
+           Iterated 1000 times=12B5AA8E31A2FCE6
+
+Set 2, vector# 36:
+                           key=00000000000000000000000000000000
+                         plain=0000000008000000
+                        cipher=CC46E587AAC2DD2A
+                     decrypted=0000000008000000
+            Iterated 100 times=4DB6B1EF341AEFDD
+           Iterated 1000 times=9BEC95A8717E4D37
+
+Set 2, vector# 37:
+                           key=00000000000000000000000000000000
+                         plain=0000000004000000
+                        cipher=D5B366DF1DCDF549
+                     decrypted=0000000004000000
+            Iterated 100 times=3CB85A548700E541
+           Iterated 1000 times=2AB9161128B64C69
+
+Set 2, vector# 38:
+                           key=00000000000000000000000000000000
+                         plain=0000000002000000
+                        cipher=09CEFCC04F5FE0F2
+                     decrypted=0000000002000000
+            Iterated 100 times=F255B75C36C5E478
+           Iterated 1000 times=1CB9BC1878A560CF
+
+Set 2, vector# 39:
+                           key=00000000000000000000000000000000
+                         plain=0000000001000000
+                        cipher=93F990AB62D23EB2
+                     decrypted=0000000001000000
+            Iterated 100 times=BC8856709FD104D8
+           Iterated 1000 times=1999E07C706C07BB
+
+Set 2, vector# 40:
+                           key=00000000000000000000000000000000
+                         plain=0000000000800000
+                        cipher=589EA4FB14593DE9
+                     decrypted=0000000000800000
+            Iterated 100 times=00114953920CC8BD
+           Iterated 1000 times=50BCB6D88F78E6D0
+
+Set 2, vector# 41:
+                           key=00000000000000000000000000000000
+                         plain=0000000000400000
+                        cipher=4FBCCB4CB7DE39FC
+                     decrypted=0000000000400000
+            Iterated 100 times=E5083A56089DD63B
+           Iterated 1000 times=A7FE9052D2F8005B
+
+Set 2, vector# 42:
+                           key=00000000000000000000000000000000
+                         plain=0000000000200000
+                        cipher=B65D80D2CACFC6B2
+                     decrypted=0000000000200000
+            Iterated 100 times=C2480F6BE75B7318
+           Iterated 1000 times=3AFB5BA54AD8237D
+
+Set 2, vector# 43:
+                           key=00000000000000000000000000000000
+                         plain=0000000000100000
+                        cipher=4DAA41D6A57D459A
+                     decrypted=0000000000100000
+            Iterated 100 times=9DFE15CF53BA2336
+           Iterated 1000 times=5DB2C30821949387
+
+Set 2, vector# 44:
+                           key=00000000000000000000000000000000
+                         plain=0000000000080000
+                        cipher=16A23EE22204E510
+                     decrypted=0000000000080000
+            Iterated 100 times=5CFD3734C5A008D3
+           Iterated 1000 times=D902FA5F4A3A87B6
+
+Set 2, vector# 45:
+                           key=00000000000000000000000000000000
+                         plain=0000000000040000
+                        cipher=0E2A285AA5D7F7AA
+                     decrypted=0000000000040000
+            Iterated 100 times=4596EB83C9A1037E
+           Iterated 1000 times=125A9CC66C21FA2C
+
+Set 2, vector# 46:
+                           key=00000000000000000000000000000000
+                         plain=0000000000020000
+                        cipher=BF39206B84BDD981
+                     decrypted=0000000000020000
+            Iterated 100 times=23C9A1AEBAD5EDE2
+           Iterated 1000 times=058931448BBE15E0
+
+Set 2, vector# 47:
+                           key=00000000000000000000000000000000
+                         plain=0000000000010000
+                        cipher=8FC1DE343F046E09
+                     decrypted=0000000000010000
+            Iterated 100 times=5C917B6684C18F7D
+           Iterated 1000 times=44324F178694B8A2
+
+Set 2, vector# 48:
+                           key=00000000000000000000000000000000
+                         plain=0000000000008000
+                        cipher=922FCA486463AB20
+                     decrypted=0000000000008000
+            Iterated 100 times=5D91A9C0BA88A837
+           Iterated 1000 times=47D6A2D994CE6D87
+
+Set 2, vector# 49:
+                           key=00000000000000000000000000000000
+                         plain=0000000000004000
+                        cipher=072E327C3563B627
+                     decrypted=0000000000004000
+            Iterated 100 times=148E94C4A89BBF31
+           Iterated 1000 times=6200D9606A315075
+
+Set 2, vector# 50:
+                           key=00000000000000000000000000000000
+                         plain=0000000000002000
+                        cipher=6DCC9E3287265315
+                     decrypted=0000000000002000
+            Iterated 100 times=8857418DF89F42F4
+           Iterated 1000 times=448175076CC2E871
+
+Set 2, vector# 51:
+                           key=00000000000000000000000000000000
+                         plain=0000000000001000
+                        cipher=A5B8A1BE9690B060
+                     decrypted=0000000000001000
+            Iterated 100 times=54E1EE807A60C030
+           Iterated 1000 times=E8769945E7F52354
+
+Set 2, vector# 52:
+                           key=00000000000000000000000000000000
+                         plain=0000000000000800
+                        cipher=DC9704D558DC60A6
+                     decrypted=0000000000000800
+            Iterated 100 times=C59209068B5968D3
+           Iterated 1000 times=6CB74A5178548B1D
+
+Set 2, vector# 53:
+                           key=00000000000000000000000000000000
+                         plain=0000000000000400
+                        cipher=C3C7719C13907FA5
+                     decrypted=0000000000000400
+            Iterated 100 times=F7B0528D996D103D
+           Iterated 1000 times=EF71CE10DD4C82AC
+
+Set 2, vector# 54:
+                           key=00000000000000000000000000000000
+                         plain=0000000000000200
+                        cipher=9D5BE2058D487D8C
+                     decrypted=0000000000000200
+            Iterated 100 times=3C5E7815D5427364
+           Iterated 1000 times=5E3A5468783F50A8
+
+Set 2, vector# 55:
+                           key=00000000000000000000000000000000
+                         plain=0000000000000100
+                        cipher=1FF6423AA655A65C
+                     decrypted=0000000000000100
+            Iterated 100 times=A3AB61FA5C2A9C00
+           Iterated 1000 times=B0BAA5DF62727D7D
+
+Set 2, vector# 56:
+                           key=00000000000000000000000000000000
+                         plain=0000000000000080
+                        cipher=89738D24B2777EF5
+                     decrypted=0000000000000080
+            Iterated 100 times=58ADB2F3F15B24EE
+           Iterated 1000 times=09B3BBF7436BB060
+
+Set 2, vector# 57:
+                           key=00000000000000000000000000000000
+                         plain=0000000000000040
+                        cipher=F6890EF7E96A703C
+                     decrypted=0000000000000040
+            Iterated 100 times=06AAD636B5FDD058
+           Iterated 1000 times=D30E9D69375C40E2
+
+Set 2, vector# 58:
+                           key=00000000000000000000000000000000
+                         plain=0000000000000020
+                        cipher=BBB0141719924637
+                     decrypted=0000000000000020
+            Iterated 100 times=73FC856144F99379
+           Iterated 1000 times=677EBF5127DA3666
+
+Set 2, vector# 59:
+                           key=00000000000000000000000000000000
+                         plain=0000000000000010
+                        cipher=8D090D839D4F1883
+                     decrypted=0000000000000010
+            Iterated 100 times=B6200FFA27D6CCB6
+           Iterated 1000 times=69CEDEADE8A007D8
+
+Set 2, vector# 60:
+                           key=00000000000000000000000000000000
+                         plain=0000000000000008
+                        cipher=218D5ED39295A00F
+                     decrypted=0000000000000008
+            Iterated 100 times=90B74DD46EAEAA05
+           Iterated 1000 times=00C2D5EA0F512FED
+
+Set 2, vector# 61:
+                           key=00000000000000000000000000000000
+                         plain=0000000000000004
+                        cipher=F6C7A34303E0D156
+                     decrypted=0000000000000004
+            Iterated 100 times=DE03FD1D1478D78B
+           Iterated 1000 times=CB8DEA98BA3CFBB1
+
+Set 2, vector# 62:
+                           key=00000000000000000000000000000000
+                         plain=0000000000000002
+                        cipher=45F7DF87F8BE0183
+                     decrypted=0000000000000002
+            Iterated 100 times=3F0B54D1314CCA36
+           Iterated 1000 times=90FE928D4EF25093
+
+Set 2, vector# 63:
+                           key=00000000000000000000000000000000
+                         plain=0000000000000001
+                        cipher=06ACE2BC9BD785B3
+                     decrypted=0000000000000001
+            Iterated 100 times=0D13DCB6A9B52CED
+           Iterated 1000 times=66CA31B115040F99
+
+Test vectors -- set 3
+=====================
+
+Set 3, vector#  0:
+                           key=00000000000000000000000000000000
+                         plain=0000000000000000
+                        cipher=96DB702A2E6900AF
+                     decrypted=0000000000000000
+            Iterated 100 times=68F22EEC7D62FB9A
+           Iterated 1000 times=FDD7C78D1950D336
+
+Set 3, vector#  1:
+                           key=01010101010101010101010101010101
+                         plain=0101010101010101
+                        cipher=EF1777AC2D91FF4E
+                     decrypted=0101010101010101
+            Iterated 100 times=96082945012D0FC5
+           Iterated 1000 times=97D3F1CC31E762DF
+
+Set 3, vector#  2:
+                           key=02020202020202020202020202020202
+                         plain=0202020202020202
+                        cipher=932D93E33E3FF2AD
+                     decrypted=0202020202020202
+            Iterated 100 times=806AC17DB03E8C2F
+           Iterated 1000 times=873ABC7AFAE02E80
+
+Set 3, vector#  3:
+                           key=03030303030303030303030303030303
+                         plain=0303030303030303
+                        cipher=875A6DF714068EA6
+                     decrypted=0303030303030303
+            Iterated 100 times=2AA7E9D0A6E87E6D
+           Iterated 1000 times=190B0ACDF2D8E5F6
+
+Set 3, vector#  4:
+                           key=04040404040404040404040404040404
+                         plain=0404040404040404
+                        cipher=78E0A4D8894ECA83
+                     decrypted=0404040404040404
+            Iterated 100 times=016FED3D1CA6F937
+           Iterated 1000 times=6F752893A4E38385
+
+Set 3, vector#  5:
+                           key=05050505050505050505050505050505
+                         plain=0505050505050505
+                        cipher=ADA6241BB000F2E9
+                     decrypted=0505050505050505
+            Iterated 100 times=2C56528837B23CB8
+           Iterated 1000 times=0505742427CC8C20
+
+Set 3, vector#  6:
+                           key=06060606060606060606060606060606
+                         plain=0606060606060606
+                        cipher=D4C9E4F2EE437C51
+                     decrypted=0606060606060606
+            Iterated 100 times=E9D61AF31E51DE81
+           Iterated 1000 times=FB62AABFEB310B09
+
+Set 3, vector#  7:
+                           key=07070707070707070707070707070707
+                         plain=0707070707070707
+                        cipher=30FE7607F71AD469
+                     decrypted=0707070707070707
+            Iterated 100 times=0B78F1DAC28E75FF
+           Iterated 1000 times=8B2FF56D5AEF42CF
+
+Set 3, vector#  8:
+                           key=08080808080808080808080808080808
+                         plain=0808080808080808
+                        cipher=489D591218215494
+                     decrypted=0808080808080808
+            Iterated 100 times=E1CF6DF45075FE34
+           Iterated 1000 times=B5B42539A8B1CC84
+
+Set 3, vector#  9:
+                           key=09090909090909090909090909090909
+                         plain=0909090909090909
+                        cipher=5A2EE2DF5AC73485
+                     decrypted=0909090909090909
+            Iterated 100 times=EF151C97CDFC41ED
+           Iterated 1000 times=82EC22799BB02805
+
+Set 3, vector# 10:
+                           key=0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A
+                         plain=0A0A0A0A0A0A0A0A
+                        cipher=BF6B018EBEA387FB
+                     decrypted=0A0A0A0A0A0A0A0A
+            Iterated 100 times=7A5AE1E7898FAE5C
+           Iterated 1000 times=5A3CF4F259AAAA3C
+
+Set 3, vector# 11:
+                           key=0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B
+                         plain=0B0B0B0B0B0B0B0B
+                        cipher=83D747855E0EAD6E
+                     decrypted=0B0B0B0B0B0B0B0B
+            Iterated 100 times=3A67DDAD96E02F67
+           Iterated 1000 times=18A35994C912DF0B
+
+Set 3, vector# 12:
+                           key=0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
+                         plain=0C0C0C0C0C0C0C0C
+                        cipher=5C497226EE18E21F
+                     decrypted=0C0C0C0C0C0C0C0C
+            Iterated 100 times=549CE87C72CC51CD
+           Iterated 1000 times=D9DE1D0FB9489514
+
+Set 3, vector# 13:
+                           key=0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D
+                         plain=0D0D0D0D0D0D0D0D
+                        cipher=9AA3617FD1BF0D99
+                     decrypted=0D0D0D0D0D0D0D0D
+            Iterated 100 times=C906B4DEC8E60D3F
+           Iterated 1000 times=AADFBB8D14779287
+
+Set 3, vector# 14:
+                           key=0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E
+                         plain=0E0E0E0E0E0E0E0E
+                        cipher=D68FF2E26E8AB189
+                     decrypted=0E0E0E0E0E0E0E0E
+            Iterated 100 times=0DB5AA85D930588E
+           Iterated 1000 times=D0F2044B3883898F
+
+Set 3, vector# 15:
+                           key=0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
+                         plain=0F0F0F0F0F0F0F0F
+                        cipher=1B7A1B9C097047F2
+                     decrypted=0F0F0F0F0F0F0F0F
+            Iterated 100 times=14CC7AB6297F23A4
+           Iterated 1000 times=5F47AEDD0F7CA4B8
+
+Set 3, vector# 16:
+                           key=10101010101010101010101010101010
+                         plain=1010101010101010
+                        cipher=E3E378D74A0ECED3
+                     decrypted=1010101010101010
+            Iterated 100 times=6E9152A786D7B13A
+           Iterated 1000 times=609E281F4570B9C2
+
+Set 3, vector# 17:
+                           key=11111111111111111111111111111111
+                         plain=1111111111111111
+                        cipher=02FB7EE96193F950
+                     decrypted=1111111111111111
+            Iterated 100 times=0A3F0F848AE3292F
+           Iterated 1000 times=A06CE539B5035C21
+
+Set 3, vector# 18:
+                           key=12121212121212121212121212121212
+                         plain=1212121212121212
+                        cipher=4D4C5CDB12ABBB87
+                     decrypted=1212121212121212
+            Iterated 100 times=BD6C38DAFA0B1B23
+           Iterated 1000 times=A31C72B8410965F9
+
+Set 3, vector# 19:
+                           key=13131313131313131313131313131313
+                         plain=1313131313131313
+                        cipher=1511B374C004C230
+                     decrypted=1313131313131313
+            Iterated 100 times=A12E1D8E03DD7144
+           Iterated 1000 times=8A4F547F2BA59CAE
+
+Set 3, vector# 20:
+                           key=14141414141414141414141414141414
+                         plain=1414141414141414
+                        cipher=29ED6E9B3A44F0A9
+                     decrypted=1414141414141414
+            Iterated 100 times=02980EC5062E88BE
+           Iterated 1000 times=96233DB59C756D8D
+
+Set 3, vector# 21:
+                           key=15151515151515151515151515151515
+                         plain=1515151515151515
+                        cipher=5961A2B3A72B4690
+                     decrypted=1515151515151515
+            Iterated 100 times=44613B6C588FBCBA
+           Iterated 1000 times=79BF6BBA87158BD6
+
+Set 3, vector# 22:
+                           key=16161616161616161616161616161616
+                         plain=1616161616161616
+                        cipher=5D4CBB26ABDFDEE0
+                     decrypted=1616161616161616
+            Iterated 100 times=AF154315B714C5ED
+           Iterated 1000 times=7328C424BD6B71E5
+
+Set 3, vector# 23:
+                           key=17171717171717171717171717171717
+                         plain=1717171717171717
+                        cipher=648815CF07A04A63
+                     decrypted=1717171717171717
+            Iterated 100 times=A090F1E2CA1C4C25
+           Iterated 1000 times=A2EE8547A4347EB2
+
+Set 3, vector# 24:
+                           key=18181818181818181818181818181818
+                         plain=1818181818181818
+                        cipher=540B26617AD7E5FF
+                     decrypted=1818181818181818
+            Iterated 100 times=E878A729D50C7101
+           Iterated 1000 times=519F6E2361098D45
+
+Set 3, vector# 25:
+                           key=19191919191919191919191919191919
+                         plain=1919191919191919
+                        cipher=A55EDE41C25309E3
+                     decrypted=1919191919191919
+            Iterated 100 times=BFA4ED23CDEC5505
+           Iterated 1000 times=28E6E971FA18167B
+
+Set 3, vector# 26:
+                           key=1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
+                         plain=1A1A1A1A1A1A1A1A
+                        cipher=893FE1052A537BE4
+                     decrypted=1A1A1A1A1A1A1A1A
+            Iterated 100 times=FF4E627363C905FB
+           Iterated 1000 times=DE7211BCDAA8E71F
+
+Set 3, vector# 27:
+                           key=1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
+                         plain=1B1B1B1B1B1B1B1B
+                        cipher=92F2D8284E610AA2
+                     decrypted=1B1B1B1B1B1B1B1B
+            Iterated 100 times=E11859BDDA7377D9
+           Iterated 1000 times=F4DE424F77641D72
+
+Set 3, vector# 28:
+                           key=1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C
+                         plain=1C1C1C1C1C1C1C1C
+                        cipher=48513C99351F9B32
+                     decrypted=1C1C1C1C1C1C1C1C
+            Iterated 100 times=D423274AE1926102
+           Iterated 1000 times=3CDC1FB0173E792C
+
+Set 3, vector# 29:
+                           key=1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D
+                         plain=1D1D1D1D1D1D1D1D
+                        cipher=EB4CF78247D3855E
+                     decrypted=1D1D1D1D1D1D1D1D
+            Iterated 100 times=F4157ECC609642FE
+           Iterated 1000 times=71E33025F053E79E
+
+Set 3, vector# 30:
+                           key=1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E
+                         plain=1E1E1E1E1E1E1E1E
+                        cipher=FFE308A3A808549F
+                     decrypted=1E1E1E1E1E1E1E1E
+            Iterated 100 times=59B22C95FBF7A330
+           Iterated 1000 times=FED53804BFED9C43
+
+Set 3, vector# 31:
+                           key=1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F
+                         plain=1F1F1F1F1F1F1F1F
+                        cipher=335400E1BA195016
+                     decrypted=1F1F1F1F1F1F1F1F
+            Iterated 100 times=640B3334A54D218B
+           Iterated 1000 times=61DF8B9A24294F02
+
+Set 3, vector# 32:
+                           key=20202020202020202020202020202020
+                         plain=2020202020202020
+                        cipher=4A814899F938249D
+                     decrypted=2020202020202020
+            Iterated 100 times=4E4F3DA3A5833006
+           Iterated 1000 times=41EABA799D83EFF4
+
+Set 3, vector# 33:
+                           key=21212121212121212121212121212121
+                         plain=2121212121212121
+                        cipher=99E5C7626C124DBC
+                     decrypted=2121212121212121
+            Iterated 100 times=EE53D4F11CA2D90C
+           Iterated 1000 times=13BF3A47EA57C0F6
+
+Set 3, vector# 34:
+                           key=22222222222222222222222222222222
+                         plain=2222222222222222
+                        cipher=662CCD980D0C5D2D
+                     decrypted=2222222222222222
+            Iterated 100 times=AFFD0B80ED523392
+           Iterated 1000 times=F81CFB446254AC0D
+
+Set 3, vector# 35:
+                           key=23232323232323232323232323232323
+                         plain=2323232323232323
+                        cipher=A38F445BEAEBB86A
+                     decrypted=2323232323232323
+            Iterated 100 times=CB45A275131BF3AF
+           Iterated 1000 times=64F8CC3BD2AB04C2
+
+Set 3, vector# 36:
+                           key=24242424242424242424242424242424
+                         plain=2424242424242424
+                        cipher=1C846BF4C12E1C69
+                     decrypted=2424242424242424
+            Iterated 100 times=83C325D9CE1D4C69
+           Iterated 1000 times=583E3E3A26461ADB
+
+Set 3, vector# 37:
+                           key=25252525252525252525252525252525
+                         plain=2525252525252525
+                        cipher=AD2BBCC86009CB37
+                     decrypted=2525252525252525
+            Iterated 100 times=98CAA78A00954934
+           Iterated 1000 times=F4C4EDE3C324A843
+
+Set 3, vector# 38:
+                           key=26262626262626262626262626262626
+                         plain=2626262626262626
+                        cipher=8D19063B7E34E8DC
+                     decrypted=2626262626262626
+            Iterated 100 times=CA24771E76843D0D
+           Iterated 1000 times=7FDB9198DD3526CD
+
+Set 3, vector# 39:
+                           key=27272727272727272727272727272727
+                         plain=2727272727272727
+                        cipher=7A91791D19941660
+                     decrypted=2727272727272727
+            Iterated 100 times=DE98D1480DE6C2F2
+           Iterated 1000 times=E1DE37449CA6C805
+
+Set 3, vector# 40:
+                           key=28282828282828282828282828282828
+                         plain=2828282828282828
+                        cipher=94BB5BE42CC592F8
+                     decrypted=2828282828282828
+            Iterated 100 times=2DCE1B6736C60A67
+           Iterated 1000 times=90B3870827A37D92
+
+Set 3, vector# 41:
+                           key=29292929292929292929292929292929
+                         plain=2929292929292929
+                        cipher=3BF5E7032235DAD7
+                     decrypted=2929292929292929
+            Iterated 100 times=5605C73C31C33B4D
+           Iterated 1000 times=3BE2C864DAD9E6B8
+
+Set 3, vector# 42:
+                           key=2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A
+                         plain=2A2A2A2A2A2A2A2A
+                        cipher=AE13759D36EB07B5
+                     decrypted=2A2A2A2A2A2A2A2A
+            Iterated 100 times=A973AC73E752B91F
+           Iterated 1000 times=8302E64C89242491
+
+Set 3, vector# 43:
+                           key=2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B
+                         plain=2B2B2B2B2B2B2B2B
+                        cipher=FB24DD76E661245C
+                     decrypted=2B2B2B2B2B2B2B2B
+            Iterated 100 times=AFAD37B149A1AD21
+           Iterated 1000 times=E1B56C22B972B20B
+
+Set 3, vector# 44:
+                           key=2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C
+                         plain=2C2C2C2C2C2C2C2C
+                        cipher=3D85975AD22EFB84
+                     decrypted=2C2C2C2C2C2C2C2C
+            Iterated 100 times=D7D316CC3FB0EF8B
+           Iterated 1000 times=EDB01DAC8BC1E276
+
+Set 3, vector# 45:
+                           key=2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D
+                         plain=2D2D2D2D2D2D2D2D
+                        cipher=A257BF3A83968221
+                     decrypted=2D2D2D2D2D2D2D2D
+            Iterated 100 times=6D45D569939B0E7D
+           Iterated 1000 times=B51BDBA0728D3049
+
+Set 3, vector# 46:
+                           key=2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
+                         plain=2E2E2E2E2E2E2E2E
+                        cipher=B4A02005D86A9350
+                     decrypted=2E2E2E2E2E2E2E2E
+            Iterated 100 times=ED3C5CE206488D7B
+           Iterated 1000 times=9B34E60AB90FDEF6
+
+Set 3, vector# 47:
+                           key=2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F
+                         plain=2F2F2F2F2F2F2F2F
+                        cipher=A5AD7F70E6925F52
+                     decrypted=2F2F2F2F2F2F2F2F
+            Iterated 100 times=44E234168CB77ADE
+           Iterated 1000 times=7A3C53F16E9F79B4
+
+Set 3, vector# 48:
+                           key=30303030303030303030303030303030
+                         plain=3030303030303030
+                        cipher=41435A10AAB0FB71
+                     decrypted=3030303030303030
+            Iterated 100 times=5AEE5FD616EB809C
+           Iterated 1000 times=C34742DE07435FBE
+
+Set 3, vector# 49:
+                           key=31313131313131313131313131313131
+                         plain=3131313131313131
+                        cipher=B5C442899FECBF83
+                     decrypted=3131313131313131
+            Iterated 100 times=71EE52E3565570B7
+           Iterated 1000 times=CF9C1D1FCCA77691
+
+Set 3, vector# 50:
+                           key=32323232323232323232323232323232
+                         plain=3232323232323232
+                        cipher=F079A59DE55A94F3
+                     decrypted=3232323232323232
+            Iterated 100 times=FEEAC99188E80B04
+           Iterated 1000 times=D4391B2593F22A76
+
+Set 3, vector# 51:
+                           key=33333333333333333333333333333333
+                         plain=3333333333333333
+                        cipher=041C346AE028EC62
+                     decrypted=3333333333333333
+            Iterated 100 times=156FC23088804C76
+           Iterated 1000 times=E14E1CE6D688FAD9
+
+Set 3, vector# 52:
+                           key=34343434343434343434343434343434
+                         plain=3434343434343434
+                        cipher=3CD7040B914AD4B4
+                     decrypted=3434343434343434
+            Iterated 100 times=CC005B211209D8CB
+           Iterated 1000 times=697EA7D737C98B81
+
+Set 3, vector# 53:
+                           key=35353535353535353535353535353535
+                         plain=3535353535353535
+                        cipher=7F2851779481C211
+                     decrypted=3535353535353535
+            Iterated 100 times=767F2BF9C0563930
+           Iterated 1000 times=DE483BA6AB1D1C1A
+
+Set 3, vector# 54:
+                           key=36363636363636363636363636363636
+                         plain=3636363636363636
+                        cipher=8C3A1B0A37F72CB6
+                     decrypted=3636363636363636
+            Iterated 100 times=3F56483D06E3A054
+           Iterated 1000 times=6FE0042235F4ECDD
+
+Set 3, vector# 55:
+                           key=37373737373737373737373737373737
+                         plain=3737373737373737
+                        cipher=8B11EC93E5BEBA98
+                     decrypted=3737373737373737
+            Iterated 100 times=714FEB6F56C48CD0
+           Iterated 1000 times=0415703261EB7CAC
+
+Set 3, vector# 56:
+                           key=38383838383838383838383838383838
+                         plain=3838383838383838
+                        cipher=88660681E826D6F2
+                     decrypted=3838383838383838
+            Iterated 100 times=FC93199A16BF36EF
+           Iterated 1000 times=AE609D41884CC169
+
+Set 3, vector# 57:
+                           key=39393939393939393939393939393939
+                         plain=3939393939393939
+                        cipher=AAC5E2D7B93289B0
+                     decrypted=3939393939393939
+            Iterated 100 times=7A15988018981721
+           Iterated 1000 times=A22C5F63EA836320
+
+Set 3, vector# 58:
+                           key=3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A
+                         plain=3A3A3A3A3A3A3A3A
+                        cipher=003207921DBBD6D7
+                     decrypted=3A3A3A3A3A3A3A3A
+            Iterated 100 times=37A1B7DD44B79C14
+           Iterated 1000 times=587FCE78C49FA124
+
+Set 3, vector# 59:
+                           key=3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B
+                         plain=3B3B3B3B3B3B3B3B
+                        cipher=9AFD491A13B0BDA3
+                     decrypted=3B3B3B3B3B3B3B3B
+            Iterated 100 times=7443C60EB430A05C
+           Iterated 1000 times=8265A30FBE85B7B4
+
+Set 3, vector# 60:
+                           key=3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C
+                         plain=3C3C3C3C3C3C3C3C
+                        cipher=49C5DED8B25A555E
+                     decrypted=3C3C3C3C3C3C3C3C
+            Iterated 100 times=2BAA22A37D7A2140
+           Iterated 1000 times=D58C22BCC2BC1B88
+
+Set 3, vector# 61:
+                           key=3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D
+                         plain=3D3D3D3D3D3D3D3D
+                        cipher=92642C978F6445A6
+                     decrypted=3D3D3D3D3D3D3D3D
+            Iterated 100 times=B99A91BEB4EF47ED
+           Iterated 1000 times=3857C4954D497BAE
+
+Set 3, vector# 62:
+                           key=3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E
+                         plain=3E3E3E3E3E3E3E3E
+                        cipher=BE643D12FF17101B
+                     decrypted=3E3E3E3E3E3E3E3E
+            Iterated 100 times=79D2A6DBA1D59FE4
+           Iterated 1000 times=D9FCFB6103E5B00B
+
+Set 3, vector# 63:
+                           key=3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F
+                         plain=3F3F3F3F3F3F3F3F
+                        cipher=1755C963AE60CB7B
+                     decrypted=3F3F3F3F3F3F3F3F
+            Iterated 100 times=EC32A7B042953CBE
+           Iterated 1000 times=7F2AA13436BA5FC9
+
+Set 3, vector# 64:
+                           key=40404040404040404040404040404040
+                         plain=4040404040404040
+                        cipher=5541310E1E12D627
+                     decrypted=4040404040404040
+            Iterated 100 times=DC76985A91DEF9CE
+           Iterated 1000 times=40157B3FD5BAC3B1
+
+Set 3, vector# 65:
+                           key=41414141414141414141414141414141
+                         plain=4141414141414141
+                        cipher=C2698AC3A2A182AB
+                     decrypted=4141414141414141
+            Iterated 100 times=47E89158B8621218
+           Iterated 1000 times=A8C2E4A20C4C7B8A
+
+Set 3, vector# 66:
+                           key=42424242424242424242424242424242
+                         plain=4242424242424242
+                        cipher=CBBE3639A60A2BB5
+                     decrypted=4242424242424242
+            Iterated 100 times=E6B5D385E694A55B
+           Iterated 1000 times=F672697CC15DBC1B
+
+Set 3, vector# 67:
+                           key=43434343434343434343434343434343
+                         plain=4343434343434343
+                        cipher=B0187860E1CCDDD1
+                     decrypted=4343434343434343
+            Iterated 100 times=40D7471016DEAB82
+           Iterated 1000 times=807CA11699283F63
+
+Set 3, vector# 68:
+                           key=44444444444444444444444444444444
+                         plain=4444444444444444
+                        cipher=FBC2FABB939DDA90
+                     decrypted=4444444444444444
+            Iterated 100 times=70A63D40A5FEC665
+           Iterated 1000 times=239B5CF6A7D2BD7F
+
+Set 3, vector# 69:
+                           key=45454545454545454545454545454545
+                         plain=4545454545454545
+                        cipher=AF556897C6E2CEB8
+                     decrypted=4545454545454545
+            Iterated 100 times=2F90D9981EBABA22
+           Iterated 1000 times=F0BEAE9CC430372F
+
+Set 3, vector# 70:
+                           key=46464646464646464646464646464646
+                         plain=4646464646464646
+                        cipher=9D05DB860A80EBDA
+                     decrypted=4646464646464646
+            Iterated 100 times=9D9C8FEF1E2E476E
+           Iterated 1000 times=C1E0C9F82ACA59F7
+
+Set 3, vector# 71:
+                           key=47474747474747474747474747474747
+                         plain=4747474747474747
+                        cipher=738EC99A0939CCE0
+                     decrypted=4747474747474747
+            Iterated 100 times=884269804D411F8A
+           Iterated 1000 times=9832C25F7D06E1FB
+
+Set 3, vector# 72:
+                           key=48484848484848484848484848484848
+                         plain=4848484848484848
+                        cipher=C57C28605B1CBD13
+                     decrypted=4848484848484848
+            Iterated 100 times=73222A32257F2E99
+           Iterated 1000 times=38A14BDBA4EE8289
+
+Set 3, vector# 73:
+                           key=49494949494949494949494949494949
+                         plain=4949494949494949
+                        cipher=57AAB2B0EF8FC93F
+                     decrypted=4949494949494949
+            Iterated 100 times=350E45253B249950
+           Iterated 1000 times=F7E6B08CEA325386
+
+Set 3, vector# 74:
+                           key=4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A
+                         plain=4A4A4A4A4A4A4A4A
+                        cipher=BFD0D6F2CEB39E6F
+                     decrypted=4A4A4A4A4A4A4A4A
+            Iterated 100 times=CF1FAB4451218C13
+           Iterated 1000 times=613814DB4A3423B7
+
+Set 3, vector# 75:
+                           key=4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B
+                         plain=4B4B4B4B4B4B4B4B
+                        cipher=3CB4D0B978496833
+                     decrypted=4B4B4B4B4B4B4B4B
+            Iterated 100 times=07FF1D2FE8EA04E5
+           Iterated 1000 times=EC500D9ABC4992BE
+
+Set 3, vector# 76:
+                           key=4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C
+                         plain=4C4C4C4C4C4C4C4C
+                        cipher=76B12751AECCA375
+                     decrypted=4C4C4C4C4C4C4C4C
+            Iterated 100 times=751BAB5CF1D1CEF5
+           Iterated 1000 times=576E882EADAC87FC
+
+Set 3, vector# 77:
+                           key=4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D
+                         plain=4D4D4D4D4D4D4D4D
+                        cipher=15EE19EE30D9CB06
+                     decrypted=4D4D4D4D4D4D4D4D
+            Iterated 100 times=5FF8582239826AC6
+           Iterated 1000 times=47F09857F40E55FE
+
+Set 3, vector# 78:
+                           key=4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
+                         plain=4E4E4E4E4E4E4E4E
+                        cipher=C74B54AD78AA1FF1
+                     decrypted=4E4E4E4E4E4E4E4E
+            Iterated 100 times=2D7A00DEB5F6D096
+           Iterated 1000 times=0323B219ACAF7AAF
+
+Set 3, vector# 79:
+                           key=4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
+                         plain=4F4F4F4F4F4F4F4F
+                        cipher=C10D6C48FBD49F4E
+                     decrypted=4F4F4F4F4F4F4F4F
+            Iterated 100 times=BEB17DF7A5848523
+           Iterated 1000 times=BEF59D262E2FB3E3
+
+Set 3, vector# 80:
+                           key=50505050505050505050505050505050
+                         plain=5050505050505050
+                        cipher=2580341570BDFE2F
+                     decrypted=5050505050505050
+            Iterated 100 times=F50FA3234D24793A
+           Iterated 1000 times=99D7F1A10D683DBE
+
+Set 3, vector# 81:
+                           key=51515151515151515151515151515151
+                         plain=5151515151515151
+                        cipher=53944C1F72E289ED
+                     decrypted=5151515151515151
+            Iterated 100 times=110FD35D3DA2C2AB
+           Iterated 1000 times=DD65B3337E766F37
+
+Set 3, vector# 82:
+                           key=52525252525252525252525252525252
+                         plain=5252525252525252
+                        cipher=B2008798FD69DE4E
+                     decrypted=5252525252525252
+            Iterated 100 times=D0F30BA0B2E923E8
+           Iterated 1000 times=A3335E5C0561C354
+
+Set 3, vector# 83:
+                           key=53535353535353535353535353535353
+                         plain=5353535353535353
+                        cipher=32AA822FBB11FF44
+                     decrypted=5353535353535353
+            Iterated 100 times=27690F1D250E7E41
+           Iterated 1000 times=3E952ED50B20854A
+
+Set 3, vector# 84:
+                           key=54545454545454545454545454545454
+                         plain=5454545454545454
+                        cipher=E308D79A4785A709
+                     decrypted=5454545454545454
+            Iterated 100 times=E1ACA1072FC49F2B
+           Iterated 1000 times=3B937072FEF3C8D0
+
+Set 3, vector# 85:
+                           key=55555555555555555555555555555555
+                         plain=5555555555555555
+                        cipher=364962537D5E4BFD
+                     decrypted=5555555555555555
+            Iterated 100 times=5717700C5095BE1A
+           Iterated 1000 times=CD1BA2182C565E33
+
+Set 3, vector# 86:
+                           key=56565656565656565656565656565656
+                         plain=5656565656565656
+                        cipher=BC08C36F4E583BDE
+                     decrypted=5656565656565656
+            Iterated 100 times=BCE9A65639561A60
+           Iterated 1000 times=46A0BB05D5DAFEAE
+
+Set 3, vector# 87:
+                           key=57575757575757575757575757575757
+                         plain=5757575757575757
+                        cipher=F3440C05DD287415
+                     decrypted=5757575757575757
+            Iterated 100 times=807253E8B3652158
+           Iterated 1000 times=AD25668C80F29134
+
+Set 3, vector# 88:
+                           key=58585858585858585858585858585858
+                         plain=5858585858585858
+                        cipher=CCE60B83EC31859B
+                     decrypted=5858585858585858
+            Iterated 100 times=D16B2F34B1D35F04
+           Iterated 1000 times=75E9B3D10EB83A54
+
+Set 3, vector# 89:
+                           key=59595959595959595959595959595959
+                         plain=5959595959595959
+                        cipher=20CFC799FF0D645C
+                     decrypted=5959595959595959
+            Iterated 100 times=96A2C9E7233AB3A3
+           Iterated 1000 times=1452DB70FD5EF6B8
+
+Set 3, vector# 90:
+                           key=5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
+                         plain=5A5A5A5A5A5A5A5A
+                        cipher=953AB8AE5721BE41
+                     decrypted=5A5A5A5A5A5A5A5A
+            Iterated 100 times=6D52B349BC56EE56
+           Iterated 1000 times=9911135641001109
+
+Set 3, vector# 91:
+                           key=5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B
+                         plain=5B5B5B5B5B5B5B5B
+                        cipher=A60E0C2922A2AF51
+                     decrypted=5B5B5B5B5B5B5B5B
+            Iterated 100 times=67E1FA9628DE8CE0
+           Iterated 1000 times=5CB47036E4DC7B44
+
+Set 3, vector# 92:
+                           key=5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C
+                         plain=5C5C5C5C5C5C5C5C
+                        cipher=D15EDFAE2A514784
+                     decrypted=5C5C5C5C5C5C5C5C
+            Iterated 100 times=B5F792E8EA51CA1D
+           Iterated 1000 times=AD2CB40FDA28E7B9
+
+Set 3, vector# 93:
+                           key=5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
+                         plain=5D5D5D5D5D5D5D5D
+                        cipher=DEC157AD1099195A
+                     decrypted=5D5D5D5D5D5D5D5D
+            Iterated 100 times=3BBAFFE65B44F78E
+           Iterated 1000 times=7E39C53F6D316A15
+
+Set 3, vector# 94:
+                           key=5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
+                         plain=5E5E5E5E5E5E5E5E
+                        cipher=60532D1D6914B4F5
+                     decrypted=5E5E5E5E5E5E5E5E
+            Iterated 100 times=8A58529C62C1C906
+           Iterated 1000 times=20A42C65BF39A983
+
+Set 3, vector# 95:
+                           key=5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F
+                         plain=5F5F5F5F5F5F5F5F
+                        cipher=B824D23CCA173396
+                     decrypted=5F5F5F5F5F5F5F5F
+            Iterated 100 times=8F19EBBD3C89F5FA
+           Iterated 1000 times=48383F50F70F5E21
+
+Set 3, vector# 96:
+                           key=60606060606060606060606060606060
+                         plain=6060606060606060
+                        cipher=C95ED670D8532AF5
+                     decrypted=6060606060606060
+            Iterated 100 times=A5091A3F85EC7215
+           Iterated 1000 times=390F016CEB895078
+
+Set 3, vector# 97:
+                           key=61616161616161616161616161616161
+                         plain=6161616161616161
+                        cipher=837508B722B42486
+                     decrypted=6161616161616161
+            Iterated 100 times=B3E152849FB786D9
+           Iterated 1000 times=7D373CC180ACCD2B
+
+Set 3, vector# 98:
+                           key=62626262626262626262626262626262
+                         plain=6262626262626262
+                        cipher=E5737CC718FE64EA
+                     decrypted=6262626262626262
+            Iterated 100 times=78D3C73520C64FB0
+           Iterated 1000 times=3E62B47A0B8AD529
+
+Set 3, vector# 99:
+                           key=63636363636363636363636363636363
+                         plain=6363636363636363
+                        cipher=25FC7B0BDECC357D
+                     decrypted=6363636363636363
+            Iterated 100 times=424DAD3069D46B97
+           Iterated 1000 times=770080BEE2D74856
+
+Set 3, vector#100:
+                           key=64646464646464646464646464646464
+                         plain=6464646464646464
+                        cipher=697E1BFCA16322FF
+                     decrypted=6464646464646464
+            Iterated 100 times=2519627D397A2C86
+           Iterated 1000 times=0C54B7E0DD27B5E8
+
+Set 3, vector#101:
+                           key=65656565656565656565656565656565
+                         plain=6565656565656565
+                        cipher=2CCC32505D9E33DF
+                     decrypted=6565656565656565
+            Iterated 100 times=3924586AF96322CA
+           Iterated 1000 times=5E77CCA54E010EFE
+
+Set 3, vector#102:
+                           key=66666666666666666666666666666666
+                         plain=6666666666666666
+                        cipher=BA331E7EC69596DA
+                     decrypted=6666666666666666
+            Iterated 100 times=2ABBA5F34DA36D1A
+           Iterated 1000 times=9251332D11308876
+
+Set 3, vector#103:
+                           key=67676767676767676767676767676767
+                         plain=6767676767676767
+                        cipher=EC1C11A28C7AD3B7
+                     decrypted=6767676767676767
+            Iterated 100 times=EF1016B87152F16F
+           Iterated 1000 times=205194640AC30281
+
+Set 3, vector#104:
+                           key=68686868686868686868686868686868
+                         plain=6868686868686868
+                        cipher=6629030AFE3825BD
+                     decrypted=6868686868686868
+            Iterated 100 times=B35E77C9D08CB495
+           Iterated 1000 times=147A83E8D8AB6F94
+
+Set 3, vector#105:
+                           key=69696969696969696969696969696969
+                         plain=6969696969696969
+                        cipher=48D685EDCA2CDB57
+                     decrypted=6969696969696969
+            Iterated 100 times=CC862E00BC1D4C38
+           Iterated 1000 times=FAAC938B673D4217
+
+Set 3, vector#106:
+                           key=6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A
+                         plain=6A6A6A6A6A6A6A6A
+                        cipher=49E6B7223FBEDA8A
+                     decrypted=6A6A6A6A6A6A6A6A
+            Iterated 100 times=1E1F1E3EB4B932C0
+           Iterated 1000 times=CD6B6AA6ECCF1FC8
+
+Set 3, vector#107:
+                           key=6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B
+                         plain=6B6B6B6B6B6B6B6B
+                        cipher=D48465FCA9E87D63
+                     decrypted=6B6B6B6B6B6B6B6B
+            Iterated 100 times=0F58E6E622B06746
+           Iterated 1000 times=A7B811D2A71817B0
+
+Set 3, vector#108:
+                           key=6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C
+                         plain=6C6C6C6C6C6C6C6C
+                        cipher=5A23B37F45D6F18D
+                     decrypted=6C6C6C6C6C6C6C6C
+            Iterated 100 times=0FFE154906925024
+           Iterated 1000 times=E0567AEB401B965D
+
+Set 3, vector#109:
+                           key=6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
+                         plain=6D6D6D6D6D6D6D6D
+                        cipher=E95A75A9AAAF2A30
+                     decrypted=6D6D6D6D6D6D6D6D
+            Iterated 100 times=6A596B11CB1F384C
+           Iterated 1000 times=3384B87783D8C5A0
+
+Set 3, vector#110:
+                           key=6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E
+                         plain=6E6E6E6E6E6E6E6E
+                        cipher=C34FE3861228293D
+                     decrypted=6E6E6E6E6E6E6E6E
+            Iterated 100 times=E2F0A60FCBCF2665
+           Iterated 1000 times=3706454606FDD6B4
+
+Set 3, vector#111:
+                           key=6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F
+                         plain=6F6F6F6F6F6F6F6F
+                        cipher=DB66A7F609C65260
+                     decrypted=6F6F6F6F6F6F6F6F
+            Iterated 100 times=AE486CF511B12CC4
+           Iterated 1000 times=60803B9FFE76FF92
+
+Set 3, vector#112:
+                           key=70707070707070707070707070707070
+                         plain=7070707070707070
+                        cipher=905AF781757BB434
+                     decrypted=7070707070707070
+            Iterated 100 times=1A70E03FE4DC44B9
+           Iterated 1000 times=DF3A4F964E4ED84B
+
+Set 3, vector#113:
+                           key=71717171717171717171717171717171
+                         plain=7171717171717171
+                        cipher=2131AD786BA2FB09
+                     decrypted=7171717171717171
+            Iterated 100 times=1A4ADADEC119B66C
+           Iterated 1000 times=EDF90789582BB40F
+
+Set 3, vector#114:
+                           key=72727272727272727272727272727272
+                         plain=7272727272727272
+                        cipher=0DE488D6EE3B9119
+                     decrypted=7272727272727272
+            Iterated 100 times=9E93BDFDA45747B8
+           Iterated 1000 times=F49D58E243380882
+
+Set 3, vector#115:
+                           key=73737373737373737373737373737373
+                         plain=7373737373737373
+                        cipher=96828E159CEC0F5A
+                     decrypted=7373737373737373
+            Iterated 100 times=D954065B040A6B7E
+           Iterated 1000 times=6E462AD9065E2409
+
+Set 3, vector#116:
+                           key=74747474747474747474747474747474
+                         plain=7474747474747474
+                        cipher=A17BDD304B4B4831
+                     decrypted=7474747474747474
+            Iterated 100 times=F0C7428DD9CB8455
+           Iterated 1000 times=AF20BE23408ADC3A
+
+Set 3, vector#117:
+                           key=75757575757575757575757575757575
+                         plain=7575757575757575
+                        cipher=DE787CE65F6B6342
+                     decrypted=7575757575757575
+            Iterated 100 times=CE790666207F357B
+           Iterated 1000 times=C253E9BF0D19AC0B
+
+Set 3, vector#118:
+                           key=76767676767676767676767676767676
+                         plain=7676767676767676
+                        cipher=1CF60A41666ECF05
+                     decrypted=7676767676767676
+            Iterated 100 times=E6EB30E1DA9BE9B7
+           Iterated 1000 times=EB86A29101B3F110
+
+Set 3, vector#119:
+                           key=77777777777777777777777777777777
+                         plain=7777777777777777
+                        cipher=9882247B23626CF6
+                     decrypted=7777777777777777
+            Iterated 100 times=855A214DE83EA543
+           Iterated 1000 times=E3E35739FE64ADCD
+
+Set 3, vector#120:
+                           key=78787878787878787878787878787878
+                         plain=7878787878787878
+                        cipher=97100512CC6D1DD7
+                     decrypted=7878787878787878
+            Iterated 100 times=4A7D85218288576C
+           Iterated 1000 times=8A555F1B07BD9BAB
+
+Set 3, vector#121:
+                           key=79797979797979797979797979797979
+                         plain=7979797979797979
+                        cipher=5C91420FA06F0C34
+                     decrypted=7979797979797979
+            Iterated 100 times=B04F75522F15D659
+           Iterated 1000 times=9563168D92623A18
+
+Set 3, vector#122:
+                           key=7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A
+                         plain=7A7A7A7A7A7A7A7A
+                        cipher=FC65C28CA61C2AE2
+                     decrypted=7A7A7A7A7A7A7A7A
+            Iterated 100 times=F3AA66C345E52E78
+           Iterated 1000 times=4729AC76F539D6E5
+
+Set 3, vector#123:
+                           key=7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B
+                         plain=7B7B7B7B7B7B7B7B
+                        cipher=4C4E3D06E9CCC635
+                     decrypted=7B7B7B7B7B7B7B7B
+            Iterated 100 times=C7A0D621F4CA111D
+           Iterated 1000 times=FD830825045E4FF1
+
+Set 3, vector#124:
+                           key=7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C
+                         plain=7C7C7C7C7C7C7C7C
+                        cipher=94556D653D5D2856
+                     decrypted=7C7C7C7C7C7C7C7C
+            Iterated 100 times=B00520E105C51E8A
+           Iterated 1000 times=DA8E6BA1B5C8B67C
+
+Set 3, vector#125:
+                           key=7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D
+                         plain=7D7D7D7D7D7D7D7D
+                        cipher=C592F52715E9855D
+                     decrypted=7D7D7D7D7D7D7D7D
+            Iterated 100 times=72C63ADA349995E8
+           Iterated 1000 times=5214F99F1EB1A2CD
+
+Set 3, vector#126:
+                           key=7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E
+                         plain=7E7E7E7E7E7E7E7E
+                        cipher=5689B9ABD09E88DA
+                     decrypted=7E7E7E7E7E7E7E7E
+            Iterated 100 times=0DCFC580259A72C7
+           Iterated 1000 times=36AF7FCA8934173B
+
+Set 3, vector#127:
+                           key=7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F
+                         plain=7F7F7F7F7F7F7F7F
+                        cipher=89B4472407E2A4FA
+                     decrypted=7F7F7F7F7F7F7F7F
+            Iterated 100 times=EE0255283D663700
+           Iterated 1000 times=B975A30B0853C1DB
+
+Set 3, vector#128:
+                           key=80808080808080808080808080808080
+                         plain=8080808080808080
+                        cipher=6B34BD1D7BE5535A
+                     decrypted=8080808080808080
+            Iterated 100 times=972E2C63D522D3A1
+           Iterated 1000 times=50989E0756728AEA
+
+Set 3, vector#129:
+                           key=81818181818181818181818181818181
+                         plain=8181818181818181
+                        cipher=4B77D418A06CD52B
+                     decrypted=8181818181818181
+            Iterated 100 times=0890354A98866F8D
+           Iterated 1000 times=EBCA7E4D561E1AAD
+
+Set 3, vector#130:
+                           key=82828282828282828282828282828282
+                         plain=8282828282828282
+                        cipher=D4333096FC0A5C1A
+                     decrypted=8282828282828282
+            Iterated 100 times=42C64027FFEA3F1E
+           Iterated 1000 times=09AC1E8F42B637CC
+
+Set 3, vector#131:
+                           key=83838383838383838383838383838383
+                         plain=8383838383838383
+                        cipher=EE87A4328E68138A
+                     decrypted=8383838383838383
+            Iterated 100 times=42A71EE080BEAD97
+           Iterated 1000 times=13FCCBD23915D394
+
+Set 3, vector#132:
+                           key=84848484848484848484848484848484
+                         plain=8484848484848484
+                        cipher=82FA92263AC81C6E
+                     decrypted=8484848484848484
+            Iterated 100 times=6902C182C2D9ED38
+           Iterated 1000 times=9E0087E8A0EE9095
+
+Set 3, vector#133:
+                           key=85858585858585858585858585858585
+                         plain=8585858585858585
+                        cipher=498A22250D95A8D0
+                     decrypted=8585858585858585
+            Iterated 100 times=6BFE64069514A051
+           Iterated 1000 times=1DD5F0BDBB1C593B
+
+Set 3, vector#134:
+                           key=86868686868686868686868686868686
+                         plain=8686868686868686
+                        cipher=90A23AEEDB0479D0
+                     decrypted=8686868686868686
+            Iterated 100 times=33C059703337E869
+           Iterated 1000 times=FE3A5BDD2E0B83A0
+
+Set 3, vector#135:
+                           key=87878787878787878787878787878787
+                         plain=8787878787878787
+                        cipher=8EBB6D0F78036C4F
+                     decrypted=8787878787878787
+            Iterated 100 times=269FF5B4E3ABC154
+           Iterated 1000 times=34B9870E4CEBE618
+
+Set 3, vector#136:
+                           key=88888888888888888888888888888888
+                         plain=8888888888888888
+                        cipher=C425D2D720803C95
+                     decrypted=8888888888888888
+            Iterated 100 times=2A74F9BB944C8669
+           Iterated 1000 times=5560CA98C233B929
+
+Set 3, vector#137:
+                           key=89898989898989898989898989898989
+                         plain=8989898989898989
+                        cipher=11AE8308ED91B960
+                     decrypted=8989898989898989
+            Iterated 100 times=93FA30B627D115C2
+           Iterated 1000 times=7214B0F3AEC7385E
+
+Set 3, vector#138:
+                           key=8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+                         plain=8A8A8A8A8A8A8A8A
+                        cipher=55C5C2A4AC2D2730
+                     decrypted=8A8A8A8A8A8A8A8A
+            Iterated 100 times=A6B96919387E6E4F
+           Iterated 1000 times=8D2ABC5AA24CF859
+
+Set 3, vector#139:
+                           key=8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B
+                         plain=8B8B8B8B8B8B8B8B
+                        cipher=B7C9DA6D3BC95937
+                     decrypted=8B8B8B8B8B8B8B8B
+            Iterated 100 times=8F685AC3131FB23B
+           Iterated 1000 times=04AD11E3BE8AC9C0
+
+Set 3, vector#140:
+                           key=8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C
+                         plain=8C8C8C8C8C8C8C8C
+                        cipher=0925C8C37912671A
+                     decrypted=8C8C8C8C8C8C8C8C
+            Iterated 100 times=1AAD23DD7A066865
+           Iterated 1000 times=81CE0FBA2D1D4455
+
+Set 3, vector#141:
+                           key=8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D
+                         plain=8D8D8D8D8D8D8D8D
+                        cipher=E9E05A327F1429A5
+                     decrypted=8D8D8D8D8D8D8D8D
+            Iterated 100 times=DD061C0DB628C401
+           Iterated 1000 times=3004E6102ED76DCF
+
+Set 3, vector#142:
+                           key=8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E
+                         plain=8E8E8E8E8E8E8E8E
+                        cipher=4CFF6062617589D2
+                     decrypted=8E8E8E8E8E8E8E8E
+            Iterated 100 times=AA740B676D824929
+           Iterated 1000 times=7A74B050DFE5EDD9
+
+Set 3, vector#143:
+                           key=8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
+                         plain=8F8F8F8F8F8F8F8F
+                        cipher=FAFD77DA4F1667E3
+                     decrypted=8F8F8F8F8F8F8F8F
+            Iterated 100 times=3C12A5B711AD3649
+           Iterated 1000 times=0B755FB13F1CA70F
+
+Set 3, vector#144:
+                           key=90909090909090909090909090909090
+                         plain=9090909090909090
+                        cipher=6B40E58F3714E383
+                     decrypted=9090909090909090
+            Iterated 100 times=C43B15DC8E0DE1DB
+           Iterated 1000 times=6B311DE2A5B370DB
+
+Set 3, vector#145:
+                           key=91919191919191919191919191919191
+                         plain=9191919191919191
+                        cipher=67EB4817498847B4
+                     decrypted=9191919191919191
+            Iterated 100 times=CE4CC788721C5D46
+           Iterated 1000 times=61B775085A8F2EAF
+
+Set 3, vector#146:
+                           key=92929292929292929292929292929292
+                         plain=9292929292929292
+                        cipher=8956CF0BB84DCD75
+                     decrypted=9292929292929292
+            Iterated 100 times=2D205C3D6446BF48
+           Iterated 1000 times=D5B67D2C8630CD19
+
+Set 3, vector#147:
+                           key=93939393939393939393939393939393
+                         plain=9393939393939393
+                        cipher=54C8D7F6BB1ADDE5
+                     decrypted=9393939393939393
+            Iterated 100 times=D352D08319AB6552
+           Iterated 1000 times=F025F3BBA9F85518
+
+Set 3, vector#148:
+                           key=94949494949494949494949494949494
+                         plain=9494949494949494
+                        cipher=793DED91632A9835
+                     decrypted=9494949494949494
+            Iterated 100 times=0796A676AF51BBDA
+           Iterated 1000 times=9F1A886E9A138D0C
+
+Set 3, vector#149:
+                           key=95959595959595959595959595959595
+                         plain=9595959595959595
+                        cipher=77B8196FB55A2367
+                     decrypted=9595959595959595
+            Iterated 100 times=92521658EBDA1805
+           Iterated 1000 times=E5002DD6786C33A1
+
+Set 3, vector#150:
+                           key=96969696969696969696969696969696
+                         plain=9696969696969696
+                        cipher=FE94661F62E4F273
+                     decrypted=9696969696969696
+            Iterated 100 times=B9E648D915FF9DA2
+           Iterated 1000 times=34E25915957CF24B
+
+Set 3, vector#151:
+                           key=97979797979797979797979797979797
+                         plain=9797979797979797
+                        cipher=6E7418BC0ECC4528
+                     decrypted=9797979797979797
+            Iterated 100 times=2410ED34C9F19A20
+           Iterated 1000 times=6338155057694844
+
+Set 3, vector#152:
+                           key=98989898989898989898989898989898
+                         plain=9898989898989898
+                        cipher=5DA805099B9FEC0F
+                     decrypted=9898989898989898
+            Iterated 100 times=7EB2B07A425694A4
+           Iterated 1000 times=D169EBE162B078D5
+
+Set 3, vector#153:
+                           key=99999999999999999999999999999999
+                         plain=9999999999999999
+                        cipher=F25A0562D65AEE4B
+                     decrypted=9999999999999999
+            Iterated 100 times=78A8485325C1A98F
+           Iterated 1000 times=23738B8B21C3204A
+
+Set 3, vector#154:
+                           key=9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+                         plain=9A9A9A9A9A9A9A9A
+                        cipher=73CB03505FD5B430
+                     decrypted=9A9A9A9A9A9A9A9A
+            Iterated 100 times=050739DB7B6EEA0A
+           Iterated 1000 times=C88ED06AF69D094D
+
+Set 3, vector#155:
+                           key=9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+                         plain=9B9B9B9B9B9B9B9B
+                        cipher=5C6A9EACCCAF776A
+                     decrypted=9B9B9B9B9B9B9B9B
+            Iterated 100 times=570F67184BFE6773
+           Iterated 1000 times=D8FF8C58F6AB8811
+
+Set 3, vector#156:
+                           key=9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
+                         plain=9C9C9C9C9C9C9C9C
+                        cipher=2469E1FDEB4FA7FE
+                     decrypted=9C9C9C9C9C9C9C9C
+            Iterated 100 times=E698DB37B37B3DA8
+           Iterated 1000 times=9727C14F34461BB5
+
+Set 3, vector#157:
+                           key=9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+                         plain=9D9D9D9D9D9D9D9D
+                        cipher=BDE6D0E41138A425
+                     decrypted=9D9D9D9D9D9D9D9D
+            Iterated 100 times=A179D5C611D0F345
+           Iterated 1000 times=97613D33980265D1
+
+Set 3, vector#158:
+                           key=9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+                         plain=9E9E9E9E9E9E9E9E
+                        cipher=0F1031097A95EF83
+                     decrypted=9E9E9E9E9E9E9E9E
+            Iterated 100 times=B207CE2DD81212AE
+           Iterated 1000 times=5A876C63E6034464
+
+Set 3, vector#159:
+                           key=9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+                         plain=9F9F9F9F9F9F9F9F
+                        cipher=38A3848A38D002E9
+                     decrypted=9F9F9F9F9F9F9F9F
+            Iterated 100 times=82A208EFEAF2B834
+           Iterated 1000 times=BE9406DD0615B9C4
+
+Set 3, vector#160:
+                           key=A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+                         plain=A0A0A0A0A0A0A0A0
+                        cipher=1365A46E49919F80
+                     decrypted=A0A0A0A0A0A0A0A0
+            Iterated 100 times=1F6710816F6B62B9
+           Iterated 1000 times=4CC65BA5BBDE2F9D
+
+Set 3, vector#161:
+                           key=A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+                         plain=A1A1A1A1A1A1A1A1
+                        cipher=9C3CBDAB29CE5730
+                     decrypted=A1A1A1A1A1A1A1A1
+            Iterated 100 times=271F8315970C74D5
+           Iterated 1000 times=8BDDA2C45B0BE4A9
+
+Set 3, vector#162:
+                           key=A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+                         plain=A2A2A2A2A2A2A2A2
+                        cipher=1C91F1EE97BB5C64
+                     decrypted=A2A2A2A2A2A2A2A2
+            Iterated 100 times=182FB31BC6F1CDE3
+           Iterated 1000 times=B87AEE264773A316
+
+Set 3, vector#163:
+                           key=A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+                         plain=A3A3A3A3A3A3A3A3
+                        cipher=AF98EBF83D10EE60
+                     decrypted=A3A3A3A3A3A3A3A3
+            Iterated 100 times=3461F8DC4B6FCFB8
+           Iterated 1000 times=DD39A17521AFE49C
+
+Set 3, vector#164:
+                           key=A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+                         plain=A4A4A4A4A4A4A4A4
+                        cipher=FF6AA4E4883165AC
+                     decrypted=A4A4A4A4A4A4A4A4
+            Iterated 100 times=D1907318292B4FE8
+           Iterated 1000 times=D637BB5312667D9F
+
+Set 3, vector#165:
+                           key=A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+                         plain=A5A5A5A5A5A5A5A5
+                        cipher=780EB2B2799E39D9
+                     decrypted=A5A5A5A5A5A5A5A5
+            Iterated 100 times=927F08EF42C3104B
+           Iterated 1000 times=A7E31915AD6D821B
+
+Set 3, vector#166:
+                           key=A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
+                         plain=A6A6A6A6A6A6A6A6
+                        cipher=B6C4BC94FF05E383
+                     decrypted=A6A6A6A6A6A6A6A6
+            Iterated 100 times=A9585F63F7E42096
+           Iterated 1000 times=F9A6955A6BE95D23
+
+Set 3, vector#167:
+                           key=A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7
+                         plain=A7A7A7A7A7A7A7A7
+                        cipher=ABBAFACDD907862C
+                     decrypted=A7A7A7A7A7A7A7A7
+            Iterated 100 times=DC92BFBBA2E7D467
+           Iterated 1000 times=C4F498EBE44B7BE0
+
+Set 3, vector#168:
+                           key=A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
+                         plain=A8A8A8A8A8A8A8A8
+                        cipher=58E96CBE858E42BC
+                     decrypted=A8A8A8A8A8A8A8A8
+            Iterated 100 times=5B069C17A470C910
+           Iterated 1000 times=0D07C552A128B7EE
+
+Set 3, vector#169:
+                           key=A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
+                         plain=A9A9A9A9A9A9A9A9
+                        cipher=D1EFCBB174B8F63E
+                     decrypted=A9A9A9A9A9A9A9A9
+            Iterated 100 times=63402B7A663C4C96
+           Iterated 1000 times=75CAAE8D7592DD0A
+
+Set 3, vector#170:
+                           key=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                         plain=AAAAAAAAAAAAAAAA
+                        cipher=C06F97D37CA030F1
+                     decrypted=AAAAAAAAAAAAAAAA
+            Iterated 100 times=F581B1E4C53EFCCF
+           Iterated 1000 times=C6914D5978DF0432
+
+Set 3, vector#171:
+                           key=ABABABABABABABABABABABABABABABAB
+                         plain=ABABABABABABABAB
+                        cipher=2CCA1E7B1016918C
+                     decrypted=ABABABABABABABAB
+            Iterated 100 times=EABE45AE2E5582F4
+           Iterated 1000 times=49DC85390E5A722B
+
+Set 3, vector#172:
+                           key=ACACACACACACACACACACACACACACACAC
+                         plain=ACACACACACACACAC
+                        cipher=23F7E5CB17CDCCF9
+                     decrypted=ACACACACACACACAC
+            Iterated 100 times=C9716A6A0B49871E
+           Iterated 1000 times=0C4D460D4EFBAA23
+
+Set 3, vector#173:
+                           key=ADADADADADADADADADADADADADADADAD
+                         plain=ADADADADADADADAD
+                        cipher=DFD7E34FEB6B4763
+                     decrypted=ADADADADADADADAD
+            Iterated 100 times=CD40EEB8A2CCF5D0
+           Iterated 1000 times=B4C1132D729DC7C9
+
+Set 3, vector#174:
+                           key=AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE
+                         plain=AEAEAEAEAEAEAEAE
+                        cipher=6F5F787CBE570FB1
+                     decrypted=AEAEAEAEAEAEAEAE
+            Iterated 100 times=B5D388D901B9EF38
+           Iterated 1000 times=457B19479C72346F
+
+Set 3, vector#175:
+                           key=AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF
+                         plain=AFAFAFAFAFAFAFAF
+                        cipher=906EA46DA2492140
+                     decrypted=AFAFAFAFAFAFAFAF
+            Iterated 100 times=B979C45E3BD8BE4F
+           Iterated 1000 times=45009F045D7ABAB6
+
+Set 3, vector#176:
+                           key=B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0
+                         plain=B0B0B0B0B0B0B0B0
+                        cipher=76F20F043D082B4F
+                     decrypted=B0B0B0B0B0B0B0B0
+            Iterated 100 times=5CEAED3E710B3689
+           Iterated 1000 times=B9848BF791FBF75E
+
+Set 3, vector#177:
+                           key=B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1
+                         plain=B1B1B1B1B1B1B1B1
+                        cipher=71CAB5FB08FEB6D1
+                     decrypted=B1B1B1B1B1B1B1B1
+            Iterated 100 times=8FDE421A1D7E154C
+           Iterated 1000 times=4C958C6BDF964C93
+
+Set 3, vector#178:
+                           key=B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2
+                         plain=B2B2B2B2B2B2B2B2
+                        cipher=87C91A7E01B1F4EE
+                     decrypted=B2B2B2B2B2B2B2B2
+            Iterated 100 times=A7AE44DD0F7F4AC2
+           Iterated 1000 times=3234AF0138DAC5C7
+
+Set 3, vector#179:
+                           key=B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
+                         plain=B3B3B3B3B3B3B3B3
+                        cipher=5D52AB6080FAF454
+                     decrypted=B3B3B3B3B3B3B3B3
+            Iterated 100 times=DCB90D17C206AFA2
+           Iterated 1000 times=57AB2C8AC8859DC1
+
+Set 3, vector#180:
+                           key=B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+                         plain=B4B4B4B4B4B4B4B4
+                        cipher=1AA09916E941BA41
+                     decrypted=B4B4B4B4B4B4B4B4
+            Iterated 100 times=30ECA1012E3979F5
+           Iterated 1000 times=8A0BED306342C7BA
+
+Set 3, vector#181:
+                           key=B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5
+                         plain=B5B5B5B5B5B5B5B5
+                        cipher=0B0CEEE96BE3CE8D
+                     decrypted=B5B5B5B5B5B5B5B5
+            Iterated 100 times=E2E4286D102D9A77
+           Iterated 1000 times=236FB0AF04FD0BD8
+
+Set 3, vector#182:
+                           key=B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6
+                         plain=B6B6B6B6B6B6B6B6
+                        cipher=FE765C810F2B6729
+                     decrypted=B6B6B6B6B6B6B6B6
+            Iterated 100 times=E1A61F2D56FF2B71
+           Iterated 1000 times=1225FE0A16F739F0
+
+Set 3, vector#183:
+                           key=B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7
+                         plain=B7B7B7B7B7B7B7B7
+                        cipher=1755EE866C441C8A
+                     decrypted=B7B7B7B7B7B7B7B7
+            Iterated 100 times=BA0F242253B241C7
+           Iterated 1000 times=A72AD1B94A486A29
+
+Set 3, vector#184:
+                           key=B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
+                         plain=B8B8B8B8B8B8B8B8
+                        cipher=FC728BC285AE1620
+                     decrypted=B8B8B8B8B8B8B8B8
+            Iterated 100 times=D3CB85E65B8F4E87
+           Iterated 1000 times=E85F4A053079407C
+
+Set 3, vector#185:
+                           key=B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9
+                         plain=B9B9B9B9B9B9B9B9
+                        cipher=524D8B36F03CDEDB
+                     decrypted=B9B9B9B9B9B9B9B9
+            Iterated 100 times=F4FB6A933C3B8704
+           Iterated 1000 times=9BB87FCEF87D3550
+
+Set 3, vector#186:
+                           key=BABABABABABABABABABABABABABABABA
+                         plain=BABABABABABABABA
+                        cipher=2216025F5E5DB15A
+                     decrypted=BABABABABABABABA
+            Iterated 100 times=95052911F7976485
+           Iterated 1000 times=D5D82EB1E25D28FA
+
+Set 3, vector#187:
+                           key=BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                         plain=BBBBBBBBBBBBBBBB
+                        cipher=9F3E04D84767A67C
+                     decrypted=BBBBBBBBBBBBBBBB
+            Iterated 100 times=40D4AE744EE72774
+           Iterated 1000 times=0F40B874F358117A
+
+Set 3, vector#188:
+                           key=BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
+                         plain=BCBCBCBCBCBCBCBC
+                        cipher=F588145CB9477213
+                     decrypted=BCBCBCBCBCBCBCBC
+            Iterated 100 times=FBE0BE003E6E31C7
+           Iterated 1000 times=AC299249F6125EA1
+
+Set 3, vector#189:
+                           key=BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+                         plain=BDBDBDBDBDBDBDBD
+                        cipher=5BC74969D8601438
+                     decrypted=BDBDBDBDBDBDBDBD
+            Iterated 100 times=F471B0F01CA0CC25
+           Iterated 1000 times=AF42E413D1C70323
+
+Set 3, vector#190:
+                           key=BEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
+                         plain=BEBEBEBEBEBEBEBE
+                        cipher=5A19393ED599A493
+                     decrypted=BEBEBEBEBEBEBEBE
+            Iterated 100 times=95181CA1D389B6DB
+           Iterated 1000 times=2D6440F0E31F2E07
+
+Set 3, vector#191:
+                           key=BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF
+                         plain=BFBFBFBFBFBFBFBF
+                        cipher=710FCF08F98D665F
+                     decrypted=BFBFBFBFBFBFBFBF
+            Iterated 100 times=98208FF90693B335
+           Iterated 1000 times=4F5B9112D8F45D5C
+
+Set 3, vector#192:
+                           key=C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
+                         plain=C0C0C0C0C0C0C0C0
+                        cipher=D64EE6CC729062F5
+                     decrypted=C0C0C0C0C0C0C0C0
+            Iterated 100 times=7C753B1EC6CF49E9
+           Iterated 1000 times=40F654698CE0BD1E
+
+Set 3, vector#193:
+                           key=C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
+                         plain=C1C1C1C1C1C1C1C1
+                        cipher=7ED24FC92D0E9064
+                     decrypted=C1C1C1C1C1C1C1C1
+            Iterated 100 times=F0EDB02528B4E839
+           Iterated 1000 times=96AE10CBC7B04821
+
+Set 3, vector#194:
+                           key=C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2
+                         plain=C2C2C2C2C2C2C2C2
+                        cipher=B0AD947706C19C92
+                     decrypted=C2C2C2C2C2C2C2C2
+            Iterated 100 times=1D0A1B4086709860
+           Iterated 1000 times=5BA56491C0EB5F35
+
+Set 3, vector#195:
+                           key=C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3
+                         plain=C3C3C3C3C3C3C3C3
+                        cipher=8F24336D17013D30
+                     decrypted=C3C3C3C3C3C3C3C3
+            Iterated 100 times=B7AAAB9EF530FB92
+           Iterated 1000 times=7CCB0E2A9FEC2AB6
+
+Set 3, vector#196:
+                           key=C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4
+                         plain=C4C4C4C4C4C4C4C4
+                        cipher=D0C1D2BD0CD71589
+                     decrypted=C4C4C4C4C4C4C4C4
+            Iterated 100 times=E0D197154800F199
+           Iterated 1000 times=89B4A9D9492E5565
+
+Set 3, vector#197:
+                           key=C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5
+                         plain=C5C5C5C5C5C5C5C5
+                        cipher=17F3BFBF38B50BBA
+                     decrypted=C5C5C5C5C5C5C5C5
+            Iterated 100 times=0A1BC464C4A008C9
+           Iterated 1000 times=17C3F0EE0CCB597E
+
+Set 3, vector#198:
+                           key=C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+                         plain=C6C6C6C6C6C6C6C6
+                        cipher=FDB0B50F2ADFC517
+                     decrypted=C6C6C6C6C6C6C6C6
+            Iterated 100 times=E5076D248AE2E95E
+           Iterated 1000 times=CEFD5870EA8A3038
+
+Set 3, vector#199:
+                           key=C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7
+                         plain=C7C7C7C7C7C7C7C7
+                        cipher=4FD25D683C59ED29
+                     decrypted=C7C7C7C7C7C7C7C7
+            Iterated 100 times=E094E2774E3075CC
+           Iterated 1000 times=AFF737A1477DA15D
+
+Set 3, vector#200:
+                           key=C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8
+                         plain=C8C8C8C8C8C8C8C8
+                        cipher=E4AF9AA16A52EAED
+                     decrypted=C8C8C8C8C8C8C8C8
+            Iterated 100 times=5DDC95E6CC540425
+           Iterated 1000 times=8790B032A67FDED2
+
+Set 3, vector#201:
+                           key=C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9
+                         plain=C9C9C9C9C9C9C9C9
+                        cipher=C307194283B2C42E
+                     decrypted=C9C9C9C9C9C9C9C9
+            Iterated 100 times=8C0BC693CABD5F3B
+           Iterated 1000 times=6B6AC6BDE647082D
+
+Set 3, vector#202:
+                           key=CACACACACACACACACACACACACACACACA
+                         plain=CACACACACACACACA
+                        cipher=385CD568E7C2C9F9
+                     decrypted=CACACACACACACACA
+            Iterated 100 times=295E58E8C26F3D1D
+           Iterated 1000 times=EA9089200BF4B6D7
+
+Set 3, vector#203:
+                           key=CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB
+                         plain=CBCBCBCBCBCBCBCB
+                        cipher=8E1330DEDED5E439
+                     decrypted=CBCBCBCBCBCBCBCB
+            Iterated 100 times=B52F71CD3640EA08
+           Iterated 1000 times=35762CF6102151AC
+
+Set 3, vector#204:
+                           key=CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                         plain=CCCCCCCCCCCCCCCC
+                        cipher=FF12B807793789CB
+                     decrypted=CCCCCCCCCCCCCCCC
+            Iterated 100 times=FE5893F89A2800E5
+           Iterated 1000 times=5183BBD7AFD2847B
+
+Set 3, vector#205:
+                           key=CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD
+                         plain=CDCDCDCDCDCDCDCD
+                        cipher=97021718F139C508
+                     decrypted=CDCDCDCDCDCDCDCD
+            Iterated 100 times=997E4AD65936C319
+           Iterated 1000 times=7193613C5F35F0D9
+
+Set 3, vector#206:
+                           key=CECECECECECECECECECECECECECECECE
+                         plain=CECECECECECECECE
+                        cipher=82E57FA30D7AE190
+                     decrypted=CECECECECECECECE
+            Iterated 100 times=DC5943E696B46EB1
+           Iterated 1000 times=2063AB568EE5E845
+
+Set 3, vector#207:
+                           key=CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+                         plain=CFCFCFCFCFCFCFCF
+                        cipher=6843A72D8C988459
+                     decrypted=CFCFCFCFCFCFCFCF
+            Iterated 100 times=76EEFCD282F65751
+           Iterated 1000 times=11FED28C17B4FA67
+
+Set 3, vector#208:
+                           key=D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0
+                         plain=D0D0D0D0D0D0D0D0
+                        cipher=ABA02A1A66626428
+                     decrypted=D0D0D0D0D0D0D0D0
+            Iterated 100 times=F4D80606A9E0B1FF
+           Iterated 1000 times=4E955D383519BD40
+
+Set 3, vector#209:
+                           key=D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1
+                         plain=D1D1D1D1D1D1D1D1
+                        cipher=A0E8A735E0F2BD8C
+                     decrypted=D1D1D1D1D1D1D1D1
+            Iterated 100 times=DB4302173E6F028B
+           Iterated 1000 times=E7A958C1CA9E6369
+
+Set 3, vector#210:
+                           key=D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2
+                         plain=D2D2D2D2D2D2D2D2
+                        cipher=4B036F9856F8B254
+                     decrypted=D2D2D2D2D2D2D2D2
+            Iterated 100 times=9947CAC857036B4B
+           Iterated 1000 times=CFF6E9D6CE71BA21
+
+Set 3, vector#211:
+                           key=D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3
+                         plain=D3D3D3D3D3D3D3D3
+                        cipher=5152D3933987D016
+                     decrypted=D3D3D3D3D3D3D3D3
+            Iterated 100 times=74CD3020869C05F0
+           Iterated 1000 times=ED5AF5A46D0BE687
+
+Set 3, vector#212:
+                           key=D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4
+                         plain=D4D4D4D4D4D4D4D4
+                        cipher=F29CCAA1D2F32150
+                     decrypted=D4D4D4D4D4D4D4D4
+            Iterated 100 times=7253674A928946F9
+           Iterated 1000 times=FBFE005F42D46196
+
+Set 3, vector#213:
+                           key=D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5
+                         plain=D5D5D5D5D5D5D5D5
+                        cipher=BF49D1B60CF54B16
+                     decrypted=D5D5D5D5D5D5D5D5
+            Iterated 100 times=76C2605C0DB58AF5
+           Iterated 1000 times=6F7023730E9E77DA
+
+Set 3, vector#214:
+                           key=D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6
+                         plain=D6D6D6D6D6D6D6D6
+                        cipher=17AEDA4FC3E58D5D
+                     decrypted=D6D6D6D6D6D6D6D6
+            Iterated 100 times=5B29235D899F66E2
+           Iterated 1000 times=0CC010381DC2ADEC
+
+Set 3, vector#215:
+                           key=D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
+                         plain=D7D7D7D7D7D7D7D7
+                        cipher=143EA095AB9C755D
+                     decrypted=D7D7D7D7D7D7D7D7
+            Iterated 100 times=24D7FCB10D0DCB57
+           Iterated 1000 times=3013D18E86F20995
+
+Set 3, vector#216:
+                           key=D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8
+                         plain=D8D8D8D8D8D8D8D8
+                        cipher=D08F3C8258BFB5C8
+                     decrypted=D8D8D8D8D8D8D8D8
+            Iterated 100 times=EB48337C74268619
+           Iterated 1000 times=B70D5228470355FE
+
+Set 3, vector#217:
+                           key=D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9
+                         plain=D9D9D9D9D9D9D9D9
+                        cipher=1F40F84C7E200F84
+                     decrypted=D9D9D9D9D9D9D9D9
+            Iterated 100 times=D2EDEBD49787AD06
+           Iterated 1000 times=B3110630BC1E4EF9
+
+Set 3, vector#218:
+                           key=DADADADADADADADADADADADADADADADA
+                         plain=DADADADADADADADA
+                        cipher=48DEC5446EA1F37D
+                     decrypted=DADADADADADADADA
+            Iterated 100 times=EEB299D33C422B80
+           Iterated 1000 times=2268CFC41BA0A77D
+
+Set 3, vector#219:
+                           key=DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB
+                         plain=DBDBDBDBDBDBDBDB
+                        cipher=AC5C484C1642B646
+                     decrypted=DBDBDBDBDBDBDBDB
+            Iterated 100 times=04642965EA42D1B5
+           Iterated 1000 times=7204028546859BB8
+
+Set 3, vector#220:
+                           key=DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+                         plain=DCDCDCDCDCDCDCDC
+                        cipher=56DE214BF49A763D
+                     decrypted=DCDCDCDCDCDCDCDC
+            Iterated 100 times=F3F4422155A3E5B2
+           Iterated 1000 times=FB9E41CEFB0C0D5C
+
+Set 3, vector#221:
+                           key=DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+                         plain=DDDDDDDDDDDDDDDD
+                        cipher=30C9CA74B60E40EC
+                     decrypted=DDDDDDDDDDDDDDDD
+            Iterated 100 times=5C034AD483559529
+           Iterated 1000 times=C44659AE2ED1D8B9
+
+Set 3, vector#222:
+                           key=DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
+                         plain=DEDEDEDEDEDEDEDE
+                        cipher=DCC2E2A87C53AD88
+                     decrypted=DEDEDEDEDEDEDEDE
+            Iterated 100 times=98B3E4F9FADA542E
+           Iterated 1000 times=1F141CCECEE9EEBD
+
+Set 3, vector#223:
+                           key=DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF
+                         plain=DFDFDFDFDFDFDFDF
+                        cipher=05CDCC2AF51DB360
+                     decrypted=DFDFDFDFDFDFDFDF
+            Iterated 100 times=D00A5F481DDEDBE7
+           Iterated 1000 times=95BA249250B04CF5
+
+Set 3, vector#224:
+                           key=E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0
+                         plain=E0E0E0E0E0E0E0E0
+                        cipher=2A1C2997CE4C79C5
+                     decrypted=E0E0E0E0E0E0E0E0
+            Iterated 100 times=9D6A96A66DBB8A52
+           Iterated 1000 times=4548DD739C5E2EBB
+
+Set 3, vector#225:
+                           key=E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
+                         plain=E1E1E1E1E1E1E1E1
+                        cipher=19736C586A91D523
+                     decrypted=E1E1E1E1E1E1E1E1
+            Iterated 100 times=30CF4865E33A3F34
+           Iterated 1000 times=6081E0D8DC315519
+
+Set 3, vector#226:
+                           key=E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2
+                         plain=E2E2E2E2E2E2E2E2
+                        cipher=231888B3E2D5D9E8
+                     decrypted=E2E2E2E2E2E2E2E2
+            Iterated 100 times=64325E899E7BC6A7
+           Iterated 1000 times=14A3A7D3B8C099B0
+
+Set 3, vector#227:
+                           key=E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3
+                         plain=E3E3E3E3E3E3E3E3
+                        cipher=5AAB9ED8E3439392
+                     decrypted=E3E3E3E3E3E3E3E3
+            Iterated 100 times=E59E37A7F69EEE47
+           Iterated 1000 times=20BAB1EDC7D6D1E1
+
+Set 3, vector#228:
+                           key=E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4
+                         plain=E4E4E4E4E4E4E4E4
+                        cipher=4EC526545C076A75
+                     decrypted=E4E4E4E4E4E4E4E4
+            Iterated 100 times=A9BB7D5667CF91CD
+           Iterated 1000 times=26D0BE747802F458
+
+Set 3, vector#229:
+                           key=E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+                         plain=E5E5E5E5E5E5E5E5
+                        cipher=10A2D7227BE9E1D4
+                     decrypted=E5E5E5E5E5E5E5E5
+            Iterated 100 times=31AF9B0E66541A1C
+           Iterated 1000 times=36FCE67ED42587F2
+
+Set 3, vector#230:
+                           key=E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6
+                         plain=E6E6E6E6E6E6E6E6
+                        cipher=14256CA5DB720FFF
+                     decrypted=E6E6E6E6E6E6E6E6
+            Iterated 100 times=D40D0D282F49634E
+           Iterated 1000 times=2B535898216CC625
+
+Set 3, vector#231:
+                           key=E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7
+                         plain=E7E7E7E7E7E7E7E7
+                        cipher=01D9FAF479959E4B
+                     decrypted=E7E7E7E7E7E7E7E7
+            Iterated 100 times=DD56A61F9DF65280
+           Iterated 1000 times=2D72978324DDA7F1
+
+Set 3, vector#232:
+                           key=E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8
+                         plain=E8E8E8E8E8E8E8E8
+                        cipher=F6EA9E0A638D7D5A
+                     decrypted=E8E8E8E8E8E8E8E8
+            Iterated 100 times=4D7C190D2FBEE981
+           Iterated 1000 times=AA62C7622D025A8E
+
+Set 3, vector#233:
+                           key=E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
+                         plain=E9E9E9E9E9E9E9E9
+                        cipher=1370D10F5095A245
+                     decrypted=E9E9E9E9E9E9E9E9
+            Iterated 100 times=53C0A0E0AEC4FBD9
+           Iterated 1000 times=D6B92C2CA11B1F55
+
+Set 3, vector#234:
+                           key=EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+                         plain=EAEAEAEAEAEAEAEA
+                        cipher=14E65B670C041634
+                     decrypted=EAEAEAEAEAEAEAEA
+            Iterated 100 times=1C9B4CE35FA9A121
+           Iterated 1000 times=E0B680ED52B17027
+
+Set 3, vector#235:
+                           key=EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB
+                         plain=EBEBEBEBEBEBEBEB
+                        cipher=602BFBB4A4D15656
+                     decrypted=EBEBEBEBEBEBEBEB
+            Iterated 100 times=3DDBEF753B351387
+           Iterated 1000 times=242D5ADF7116D33F
+
+Set 3, vector#236:
+                           key=ECECECECECECECECECECECECECECECEC
+                         plain=ECECECECECECECEC
+                        cipher=303F71A8D4D0F3B2
+                     decrypted=ECECECECECECECEC
+            Iterated 100 times=EBB4449F22341ECB
+           Iterated 1000 times=5956EB7B50EBE5D8
+
+Set 3, vector#237:
+                           key=EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
+                         plain=EDEDEDEDEDEDEDED
+                        cipher=E118A10D99E7580F
+                     decrypted=EDEDEDEDEDEDEDED
+            Iterated 100 times=B3A9B5D2708636FB
+           Iterated 1000 times=596DBE9617259A8E
+
+Set 3, vector#238:
+                           key=EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+                         plain=EEEEEEEEEEEEEEEE
+                        cipher=28AE7BA27C3EFF03
+                     decrypted=EEEEEEEEEEEEEEEE
+            Iterated 100 times=7752897F52477118
+           Iterated 1000 times=8A1A68E6313025DB
+
+Set 3, vector#239:
+                           key=EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
+                         plain=EFEFEFEFEFEFEFEF
+                        cipher=9BC977E9645385C7
+                     decrypted=EFEFEFEFEFEFEFEF
+            Iterated 100 times=A5A36B52B2351112
+           Iterated 1000 times=A99FADD7C1E10590
+
+Set 3, vector#240:
+                           key=F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
+                         plain=F0F0F0F0F0F0F0F0
+                        cipher=00D2B799D6FC35A8
+                     decrypted=F0F0F0F0F0F0F0F0
+            Iterated 100 times=0281035090CC3BEC
+           Iterated 1000 times=246419CEF7D15942
+
+Set 3, vector#241:
+                           key=F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
+                         plain=F1F1F1F1F1F1F1F1
+                        cipher=DCC7C0E49F8E1E51
+                     decrypted=F1F1F1F1F1F1F1F1
+            Iterated 100 times=BD717EC59FA6B1F6
+           Iterated 1000 times=923DDAFAB86BC205
+
+Set 3, vector#242:
+                           key=F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
+                         plain=F2F2F2F2F2F2F2F2
+                        cipher=E90D66BC8DFAF04A
+                     decrypted=F2F2F2F2F2F2F2F2
+            Iterated 100 times=DE76AF34FAFA6741
+           Iterated 1000 times=CD9CB8855064690C
+
+Set 3, vector#243:
+                           key=F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
+                         plain=F3F3F3F3F3F3F3F3
+                        cipher=6B0FA99D5154AEBC
+                     decrypted=F3F3F3F3F3F3F3F3
+            Iterated 100 times=224550CAD25934C8
+           Iterated 1000 times=62B2BD4382F077CE
+
+Set 3, vector#244:
+                           key=F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4
+                         plain=F4F4F4F4F4F4F4F4
+                        cipher=C374BABF9E4176F4
+                     decrypted=F4F4F4F4F4F4F4F4
+            Iterated 100 times=E4ECE50FD47A2A7B
+           Iterated 1000 times=6D6A3C17003F4ED6
+
+Set 3, vector#245:
+                           key=F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5
+                         plain=F5F5F5F5F5F5F5F5
+                        cipher=106368E89FF2903D
+                     decrypted=F5F5F5F5F5F5F5F5
+            Iterated 100 times=8706B8FA4B963BB6
+           Iterated 1000 times=38D9F81408382ED2
+
+Set 3, vector#246:
+                           key=F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6
+                         plain=F6F6F6F6F6F6F6F6
+                        cipher=CC08821BC07CE22F
+                     decrypted=F6F6F6F6F6F6F6F6
+            Iterated 100 times=57D178ACC3C4227E
+           Iterated 1000 times=A12F4E5236DC1154
+
+Set 3, vector#247:
+                           key=F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7
+                         plain=F7F7F7F7F7F7F7F7
+                        cipher=F9EAF89684B49A16
+                     decrypted=F7F7F7F7F7F7F7F7
+            Iterated 100 times=7133B09EA37B41DE
+           Iterated 1000 times=5272A2CB812436F9
+
+Set 3, vector#248:
+                           key=F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
+                         plain=F8F8F8F8F8F8F8F8
+                        cipher=FD7AC6482A80715A
+                     decrypted=F8F8F8F8F8F8F8F8
+            Iterated 100 times=44B4A23469933D7F
+           Iterated 1000 times=2CD04089A046EB3E
+
+Set 3, vector#249:
+                           key=F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
+                         plain=F9F9F9F9F9F9F9F9
+                        cipher=D0F975E7F74F127C
+                     decrypted=F9F9F9F9F9F9F9F9
+            Iterated 100 times=7210698993238D3A
+           Iterated 1000 times=477A34D290196CF5
+
+Set 3, vector#250:
+                           key=FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA
+                         plain=FAFAFAFAFAFAFAFA
+                        cipher=D16096155F9D400C
+                     decrypted=FAFAFAFAFAFAFAFA
+            Iterated 100 times=2430A849DC8BF5A0
+           Iterated 1000 times=3251669DD5CD1A62
+
+Set 3, vector#251:
+                           key=FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB
+                         plain=FBFBFBFBFBFBFBFB
+                        cipher=97B789F92056C3BE
+                     decrypted=FBFBFBFBFBFBFBFB
+            Iterated 100 times=F9E5E19F92FC29A5
+           Iterated 1000 times=B174303B0E23CD6E
+
+Set 3, vector#252:
+                           key=FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+                         plain=FCFCFCFCFCFCFCFC
+                        cipher=490670437F5561E6
+                     decrypted=FCFCFCFCFCFCFCFC
+            Iterated 100 times=E753213E6903DD4D
+           Iterated 1000 times=43359FAD97377A8C
+
+Set 3, vector#253:
+                           key=FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+                         plain=FDFDFDFDFDFDFDFD
+                        cipher=5CFCBD6E57A39EC0
+                     decrypted=FDFDFDFDFDFDFDFD
+            Iterated 100 times=60E7B9C5F8733277
+           Iterated 1000 times=D857DB024B5F1ADD
+
+Set 3, vector#254:
+                           key=FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+                         plain=FEFEFEFEFEFEFEFE
+                        cipher=E5342A57EB3DBEDF
+                     decrypted=FEFEFEFEFEFEFEFE
+            Iterated 100 times=AE76A651740CE886
+           Iterated 1000 times=56A9BCC9CF55EE46
+
+Set 3, vector#255:
+                           key=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+                         plain=FFFFFFFFFFFFFFFF
+                        cipher=628D9FBD4218E5B4
+                     decrypted=FFFFFFFFFFFFFFFF
+            Iterated 100 times=15D5075252A052D0
+           Iterated 1000 times=1859D87158AD4259
+
+Test vectors -- set 4
+=====================
+
+Set 4, vector#  0:
+                           key=000102030405060708090A0B0C0D0E0F
+                         plain=0011223344556677
+                        cipher=E6B982239DF3515D
+                     decrypted=0011223344556677
+            Iterated 100 times=3D3F12FC553CD29F
+           Iterated 1000 times=80403086690A783B
+
+Set 4, vector#  1:
+                           key=2BD6459F82C5B300952C49104881FF48
+                         plain=EA024714AD5C4D84
+                        cipher=F02252B5816650D2
+                     decrypted=EA024714AD5C4D84
+            Iterated 100 times=C0828869A4350149
+           Iterated 1000 times=FEDC46A4544CEE87
+
+Test vectors -- set 5
+=====================
+
+Set 5, vector#  0:
+                           key=80000000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=AF6327170DC4FB36
+                     encrypted=0000000000000000
+
+Set 5, vector#  1:
+                           key=40000000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=E18A24F7CD59079D
+                     encrypted=0000000000000000
+
+Set 5, vector#  2:
+                           key=20000000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=86B6F70F185D2090
+                     encrypted=0000000000000000
+
+Set 5, vector#  3:
+                           key=10000000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=EBAE2084D870A56C
+                     encrypted=0000000000000000
+
+Set 5, vector#  4:
+                           key=08000000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=1B63BFF51DEA6ACC
+                     encrypted=0000000000000000
+
+Set 5, vector#  5:
+                           key=04000000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=AFAD1B1B58D366EE
+                     encrypted=0000000000000000
+
+Set 5, vector#  6:
+                           key=02000000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=ACDC0F07A74DAFDE
+                     encrypted=0000000000000000
+
+Set 5, vector#  7:
+                           key=01000000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=5187C2A5E07107A2
+                     encrypted=0000000000000000
+
+Set 5, vector#  8:
+                           key=00800000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=C55E8E35FF7C5A8E
+                     encrypted=0000000000000000
+
+Set 5, vector#  9:
+                           key=00400000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=83785626E08C3907
+                     encrypted=0000000000000000
+
+Set 5, vector# 10:
+                           key=00200000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=470ACC4B77FE6AA8
+                     encrypted=0000000000000000
+
+Set 5, vector# 11:
+                           key=00100000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=CC8ADA823EBFE74F
+                     encrypted=0000000000000000
+
+Set 5, vector# 12:
+                           key=00080000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=55C26D4F9D04A208
+                     encrypted=0000000000000000
+
+Set 5, vector# 13:
+                           key=00040000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=8467A33C60B9AB91
+                     encrypted=0000000000000000
+
+Set 5, vector# 14:
+                           key=00020000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=00F850FC9500DF02
+                     encrypted=0000000000000000
+
+Set 5, vector# 15:
+                           key=00010000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=530EEF28CE22ACF1
+                     encrypted=0000000000000000
+
+Set 5, vector# 16:
+                           key=00008000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=2AC3CE00163024A6
+                     encrypted=0000000000000000
+
+Set 5, vector# 17:
+                           key=00004000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=1B133015CF2FFEB6
+                     encrypted=0000000000000000
+
+Set 5, vector# 18:
+                           key=00002000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=B32AB7C82264BE23
+                     encrypted=0000000000000000
+
+Set 5, vector# 19:
+                           key=00001000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=02FD94A351DE3E51
+                     encrypted=0000000000000000
+
+Set 5, vector# 20:
+                           key=00000800000000000000000000000000
+                        cipher=0000000000000000
+                         plain=DBA8D714E12AA708
+                     encrypted=0000000000000000
+
+Set 5, vector# 21:
+                           key=00000400000000000000000000000000
+                        cipher=0000000000000000
+                         plain=FEDB9C0F2DD9662F
+                     encrypted=0000000000000000
+
+Set 5, vector# 22:
+                           key=00000200000000000000000000000000
+                        cipher=0000000000000000
+                         plain=83C431815CB8072D
+                     encrypted=0000000000000000
+
+Set 5, vector# 23:
+                           key=00000100000000000000000000000000
+                        cipher=0000000000000000
+                         plain=A67EB64192B9528C
+                     encrypted=0000000000000000
+
+Set 5, vector# 24:
+                           key=00000080000000000000000000000000
+                        cipher=0000000000000000
+                         plain=0FE710AAD9388250
+                     encrypted=0000000000000000
+
+Set 5, vector# 25:
+                           key=00000040000000000000000000000000
+                        cipher=0000000000000000
+                         plain=E6035586D5559177
+                     encrypted=0000000000000000
+
+Set 5, vector# 26:
+                           key=00000020000000000000000000000000
+                        cipher=0000000000000000
+                         plain=82F408713A41AE8A
+                     encrypted=0000000000000000
+
+Set 5, vector# 27:
+                           key=00000010000000000000000000000000
+                        cipher=0000000000000000
+                         plain=B822D7F91637167B
+                     encrypted=0000000000000000
+
+Set 5, vector# 28:
+                           key=00000008000000000000000000000000
+                        cipher=0000000000000000
+                         plain=96F9C7033C187A24
+                     encrypted=0000000000000000
+
+Set 5, vector# 29:
+                           key=00000004000000000000000000000000
+                        cipher=0000000000000000
+                         plain=3CF6A0F74A041061
+                     encrypted=0000000000000000
+
+Set 5, vector# 30:
+                           key=00000002000000000000000000000000
+                        cipher=0000000000000000
+                         plain=F08D2CC9555CAC62
+                     encrypted=0000000000000000
+
+Set 5, vector# 31:
+                           key=00000001000000000000000000000000
+                        cipher=0000000000000000
+                         plain=0F8BF82993A258A7
+                     encrypted=0000000000000000
+
+Set 5, vector# 32:
+                           key=00000000800000000000000000000000
+                        cipher=0000000000000000
+                         plain=64A0A1A696ECE4A2
+                     encrypted=0000000000000000
+
+Set 5, vector# 33:
+                           key=00000000400000000000000000000000
+                        cipher=0000000000000000
+                         plain=AC3DDB30E4B105F7
+                     encrypted=0000000000000000
+
+Set 5, vector# 34:
+                           key=00000000200000000000000000000000
+                        cipher=0000000000000000
+                         plain=F21445566D751FBC
+                     encrypted=0000000000000000
+
+Set 5, vector# 35:
+                           key=00000000100000000000000000000000
+                        cipher=0000000000000000
+                         plain=E0551DF2992B79B4
+                     encrypted=0000000000000000
+
+Set 5, vector# 36:
+                           key=00000000080000000000000000000000
+                        cipher=0000000000000000
+                         plain=B38BB253E5A0F1DE
+                     encrypted=0000000000000000
+
+Set 5, vector# 37:
+                           key=00000000040000000000000000000000
+                        cipher=0000000000000000
+                         plain=F12C79B7BDD26DA7
+                     encrypted=0000000000000000
+
+Set 5, vector# 38:
+                           key=00000000020000000000000000000000
+                        cipher=0000000000000000
+                         plain=838E955932858CF4
+                     encrypted=0000000000000000
+
+Set 5, vector# 39:
+                           key=00000000010000000000000000000000
+                        cipher=0000000000000000
+                         plain=71EFFDC73B86FF72
+                     encrypted=0000000000000000
+
+Set 5, vector# 40:
+                           key=00000000008000000000000000000000
+                        cipher=0000000000000000
+                         plain=F65794ECB1BB6AA5
+                     encrypted=0000000000000000
+
+Set 5, vector# 41:
+                           key=00000000004000000000000000000000
+                        cipher=0000000000000000
+                         plain=5F42419B6371A60B
+                     encrypted=0000000000000000
+
+Set 5, vector# 42:
+                           key=00000000002000000000000000000000
+                        cipher=0000000000000000
+                         plain=225316D2F44A5B83
+                     encrypted=0000000000000000
+
+Set 5, vector# 43:
+                           key=00000000001000000000000000000000
+                        cipher=0000000000000000
+                         plain=F9D61A362B8032CC
+                     encrypted=0000000000000000
+
+Set 5, vector# 44:
+                           key=00000000000800000000000000000000
+                        cipher=0000000000000000
+                         plain=415AC05CE898E632
+                     encrypted=0000000000000000
+
+Set 5, vector# 45:
+                           key=00000000000400000000000000000000
+                        cipher=0000000000000000
+                         plain=A2EF4E49B6CF5402
+                     encrypted=0000000000000000
+
+Set 5, vector# 46:
+                           key=00000000000200000000000000000000
+                        cipher=0000000000000000
+                         plain=C307C8254EFA2C0D
+                     encrypted=0000000000000000
+
+Set 5, vector# 47:
+                           key=00000000000100000000000000000000
+                        cipher=0000000000000000
+                         plain=B03E5F88DB8FAE31
+                     encrypted=0000000000000000
+
+Set 5, vector# 48:
+                           key=00000000000080000000000000000000
+                        cipher=0000000000000000
+                         plain=5097B6343AFF94DB
+                     encrypted=0000000000000000
+
+Set 5, vector# 49:
+                           key=00000000000040000000000000000000
+                        cipher=0000000000000000
+                         plain=5A4F240BF66F65B6
+                     encrypted=0000000000000000
+
+Set 5, vector# 50:
+                           key=00000000000020000000000000000000
+                        cipher=0000000000000000
+                         plain=A5D048CFD932BC5A
+                     encrypted=0000000000000000
+
+Set 5, vector# 51:
+                           key=00000000000010000000000000000000
+                        cipher=0000000000000000
+                         plain=2C624088ABB58EEF
+                     encrypted=0000000000000000
+
+Set 5, vector# 52:
+                           key=00000000000008000000000000000000
+                        cipher=0000000000000000
+                         plain=84E524CFB753163B
+                     encrypted=0000000000000000
+
+Set 5, vector# 53:
+                           key=00000000000004000000000000000000
+                        cipher=0000000000000000
+                         plain=A27E50D650BDAEE5
+                     encrypted=0000000000000000
+
+Set 5, vector# 54:
+                           key=00000000000002000000000000000000
+                        cipher=0000000000000000
+                         plain=BA6242761F4E2534
+                     encrypted=0000000000000000
+
+Set 5, vector# 55:
+                           key=00000000000001000000000000000000
+                        cipher=0000000000000000
+                         plain=A5B3D76FA04268DA
+                     encrypted=0000000000000000
+
+Set 5, vector# 56:
+                           key=00000000000000800000000000000000
+                        cipher=0000000000000000
+                         plain=7854091BE6088B98
+                     encrypted=0000000000000000
+
+Set 5, vector# 57:
+                           key=00000000000000400000000000000000
+                        cipher=0000000000000000
+                         plain=36DCCD18B9E1E0B3
+                     encrypted=0000000000000000
+
+Set 5, vector# 58:
+                           key=00000000000000200000000000000000
+                        cipher=0000000000000000
+                         plain=C48773B8643C22B3
+                     encrypted=0000000000000000
+
+Set 5, vector# 59:
+                           key=00000000000000100000000000000000
+                        cipher=0000000000000000
+                         plain=D4A6E86F08A4F53D
+                     encrypted=0000000000000000
+
+Set 5, vector# 60:
+                           key=00000000000000080000000000000000
+                        cipher=0000000000000000
+                         plain=33C7D399EAA5CC6B
+                     encrypted=0000000000000000
+
+Set 5, vector# 61:
+                           key=00000000000000040000000000000000
+                        cipher=0000000000000000
+                         plain=4A8E39D4670B72EE
+                     encrypted=0000000000000000
+
+Set 5, vector# 62:
+                           key=00000000000000020000000000000000
+                        cipher=0000000000000000
+                         plain=9C9FBBCE28D280FF
+                     encrypted=0000000000000000
+
+Set 5, vector# 63:
+                           key=00000000000000010000000000000000
+                        cipher=0000000000000000
+                         plain=1E889E0DC57094CD
+                     encrypted=0000000000000000
+
+Set 5, vector# 64:
+                           key=00000000000000008000000000000000
+                        cipher=0000000000000000
+                         plain=51593FC98BCA6A2F
+                     encrypted=0000000000000000
+
+Set 5, vector# 65:
+                           key=00000000000000004000000000000000
+                        cipher=0000000000000000
+                         plain=2132CBD46AF36ED3
+                     encrypted=0000000000000000
+
+Set 5, vector# 66:
+                           key=00000000000000002000000000000000
+                        cipher=0000000000000000
+                         plain=3247A1CF9AC52F5E
+                     encrypted=0000000000000000
+
+Set 5, vector# 67:
+                           key=00000000000000001000000000000000
+                        cipher=0000000000000000
+                         plain=C7DBEFCCCE970FD1
+                     encrypted=0000000000000000
+
+Set 5, vector# 68:
+                           key=00000000000000000800000000000000
+                        cipher=0000000000000000
+                         plain=257A1726A732B4F8
+                     encrypted=0000000000000000
+
+Set 5, vector# 69:
+                           key=00000000000000000400000000000000
+                        cipher=0000000000000000
+                         plain=53FC4A52F173AC96
+                     encrypted=0000000000000000
+
+Set 5, vector# 70:
+                           key=00000000000000000200000000000000
+                        cipher=0000000000000000
+                         plain=B456C59F7F2B60C5
+                     encrypted=0000000000000000
+
+Set 5, vector# 71:
+                           key=00000000000000000100000000000000
+                        cipher=0000000000000000
+                         plain=B1E02D9E58BEBD47
+                     encrypted=0000000000000000
+
+Set 5, vector# 72:
+                           key=00000000000000000080000000000000
+                        cipher=0000000000000000
+                         plain=BB3F2999B7495C6B
+                     encrypted=0000000000000000
+
+Set 5, vector# 73:
+                           key=00000000000000000040000000000000
+                        cipher=0000000000000000
+                         plain=60627DFA0617C213
+                     encrypted=0000000000000000
+
+Set 5, vector# 74:
+                           key=00000000000000000020000000000000
+                        cipher=0000000000000000
+                         plain=82129AD8CE890D7F
+                     encrypted=0000000000000000
+
+Set 5, vector# 75:
+                           key=00000000000000000010000000000000
+                        cipher=0000000000000000
+                         plain=4238E56A041CEFC9
+                     encrypted=0000000000000000
+
+Set 5, vector# 76:
+                           key=00000000000000000008000000000000
+                        cipher=0000000000000000
+                         plain=7E44C3EFE3EEECE4
+                     encrypted=0000000000000000
+
+Set 5, vector# 77:
+                           key=00000000000000000004000000000000
+                        cipher=0000000000000000
+                         plain=8EF967BEB630C8DF
+                     encrypted=0000000000000000
+
+Set 5, vector# 78:
+                           key=00000000000000000002000000000000
+                        cipher=0000000000000000
+                         plain=EC3C49DE9F6ED4F3
+                     encrypted=0000000000000000
+
+Set 5, vector# 79:
+                           key=00000000000000000001000000000000
+                        cipher=0000000000000000
+                         plain=1244DF9B2110B3F3
+                     encrypted=0000000000000000
+
+Set 5, vector# 80:
+                           key=00000000000000000000800000000000
+                        cipher=0000000000000000
+                         plain=C5E69A3495EB236B
+                     encrypted=0000000000000000
+
+Set 5, vector# 81:
+                           key=00000000000000000000400000000000
+                        cipher=0000000000000000
+                         plain=C4E1241716E9E972
+                     encrypted=0000000000000000
+
+Set 5, vector# 82:
+                           key=00000000000000000000200000000000
+                        cipher=0000000000000000
+                         plain=8C97B4916FEF475D
+                     encrypted=0000000000000000
+
+Set 5, vector# 83:
+                           key=00000000000000000000100000000000
+                        cipher=0000000000000000
+                         plain=263CB7FDE3A923C8
+                     encrypted=0000000000000000
+
+Set 5, vector# 84:
+                           key=00000000000000000000080000000000
+                        cipher=0000000000000000
+                         plain=4005F931A0ACA3C2
+                     encrypted=0000000000000000
+
+Set 5, vector# 85:
+                           key=00000000000000000000040000000000
+                        cipher=0000000000000000
+                         plain=6FF7199A9B6E0203
+                     encrypted=0000000000000000
+
+Set 5, vector# 86:
+                           key=00000000000000000000020000000000
+                        cipher=0000000000000000
+                         plain=E6BE2AF2384ED0A9
+                     encrypted=0000000000000000
+
+Set 5, vector# 87:
+                           key=00000000000000000000010000000000
+                        cipher=0000000000000000
+                         plain=B57BF779216C781A
+                     encrypted=0000000000000000
+
+Set 5, vector# 88:
+                           key=00000000000000000000008000000000
+                        cipher=0000000000000000
+                         plain=8D27CA640ED2AF56
+                     encrypted=0000000000000000
+
+Set 5, vector# 89:
+                           key=00000000000000000000004000000000
+                        cipher=0000000000000000
+                         plain=9AFC310522003659
+                     encrypted=0000000000000000
+
+Set 5, vector# 90:
+                           key=00000000000000000000002000000000
+                        cipher=0000000000000000
+                         plain=3790A84CDD4270C1
+                     encrypted=0000000000000000
+
+Set 5, vector# 91:
+                           key=00000000000000000000001000000000
+                        cipher=0000000000000000
+                         plain=AF1AACDD7E4FB973
+                     encrypted=0000000000000000
+
+Set 5, vector# 92:
+                           key=00000000000000000000000800000000
+                        cipher=0000000000000000
+                         plain=CA2D3F243D028D9E
+                     encrypted=0000000000000000
+
+Set 5, vector# 93:
+                           key=00000000000000000000000400000000
+                        cipher=0000000000000000
+                         plain=1DE9741AE8BB7BC8
+                     encrypted=0000000000000000
+
+Set 5, vector# 94:
+                           key=00000000000000000000000200000000
+                        cipher=0000000000000000
+                         plain=68A161C211A4ACF1
+                     encrypted=0000000000000000
+
+Set 5, vector# 95:
+                           key=00000000000000000000000100000000
+                        cipher=0000000000000000
+                         plain=2BE2CC5F31214074
+                     encrypted=0000000000000000
+
+Set 5, vector# 96:
+                           key=00000000000000000000000080000000
+                        cipher=0000000000000000
+                         plain=70539284D0D0DC6D
+                     encrypted=0000000000000000
+
+Set 5, vector# 97:
+                           key=00000000000000000000000040000000
+                        cipher=0000000000000000
+                         plain=1914E53C2743976E
+                     encrypted=0000000000000000
+
+Set 5, vector# 98:
+                           key=00000000000000000000000020000000
+                        cipher=0000000000000000
+                         plain=12759B56F92CF154
+                     encrypted=0000000000000000
+
+Set 5, vector# 99:
+                           key=00000000000000000000000010000000
+                        cipher=0000000000000000
+                         plain=76D58C243A3BB271
+                     encrypted=0000000000000000
+
+Set 5, vector#100:
+                           key=00000000000000000000000008000000
+                        cipher=0000000000000000
+                         plain=9862308D41147DF5
+                     encrypted=0000000000000000
+
+Set 5, vector#101:
+                           key=00000000000000000000000004000000
+                        cipher=0000000000000000
+                         plain=1F2600FAD9B1E980
+                     encrypted=0000000000000000
+
+Set 5, vector#102:
+                           key=00000000000000000000000002000000
+                        cipher=0000000000000000
+                         plain=26EA4AC41A534466
+                     encrypted=0000000000000000
+
+Set 5, vector#103:
+                           key=00000000000000000000000001000000
+                        cipher=0000000000000000
+                         plain=C992BED4DD4EE8C1
+                     encrypted=0000000000000000
+
+Set 5, vector#104:
+                           key=00000000000000000000000000800000
+                        cipher=0000000000000000
+                         plain=18E7EEA3C1EC0F52
+                     encrypted=0000000000000000
+
+Set 5, vector#105:
+                           key=00000000000000000000000000400000
+                        cipher=0000000000000000
+                         plain=9A4B21FFFC3B3E4C
+                     encrypted=0000000000000000
+
+Set 5, vector#106:
+                           key=00000000000000000000000000200000
+                        cipher=0000000000000000
+                         plain=E721612FD618E527
+                     encrypted=0000000000000000
+
+Set 5, vector#107:
+                           key=00000000000000000000000000100000
+                        cipher=0000000000000000
+                         plain=07C22EF210B2591A
+                     encrypted=0000000000000000
+
+Set 5, vector#108:
+                           key=00000000000000000000000000080000
+                        cipher=0000000000000000
+                         plain=6688E0DAE9FDAF3E
+                     encrypted=0000000000000000
+
+Set 5, vector#109:
+                           key=00000000000000000000000000040000
+                        cipher=0000000000000000
+                         plain=677987FC16F236CB
+                     encrypted=0000000000000000
+
+Set 5, vector#110:
+                           key=00000000000000000000000000020000
+                        cipher=0000000000000000
+                         plain=34DADC5184A901C5
+                     encrypted=0000000000000000
+
+Set 5, vector#111:
+                           key=00000000000000000000000000010000
+                        cipher=0000000000000000
+                         plain=1A45296844207C02
+                     encrypted=0000000000000000
+
+Set 5, vector#112:
+                           key=00000000000000000000000000008000
+                        cipher=0000000000000000
+                         plain=9625C51950A82708
+                     encrypted=0000000000000000
+
+Set 5, vector#113:
+                           key=00000000000000000000000000004000
+                        cipher=0000000000000000
+                         plain=B4F762784E1AB96D
+                     encrypted=0000000000000000
+
+Set 5, vector#114:
+                           key=00000000000000000000000000002000
+                        cipher=0000000000000000
+                         plain=B232101AFB4D84BE
+                     encrypted=0000000000000000
+
+Set 5, vector#115:
+                           key=00000000000000000000000000001000
+                        cipher=0000000000000000
+                         plain=902F44110408CC27
+                     encrypted=0000000000000000
+
+Set 5, vector#116:
+                           key=00000000000000000000000000000800
+                        cipher=0000000000000000
+                         plain=891C628386DE4ACC
+                     encrypted=0000000000000000
+
+Set 5, vector#117:
+                           key=00000000000000000000000000000400
+                        cipher=0000000000000000
+                         plain=71CDE75BE47C11CE
+                     encrypted=0000000000000000
+
+Set 5, vector#118:
+                           key=00000000000000000000000000000200
+                        cipher=0000000000000000
+                         plain=E812F94C774BCD0A
+                     encrypted=0000000000000000
+
+Set 5, vector#119:
+                           key=00000000000000000000000000000100
+                        cipher=0000000000000000
+                         plain=4274CC018E539C4E
+                     encrypted=0000000000000000
+
+Set 5, vector#120:
+                           key=00000000000000000000000000000080
+                        cipher=0000000000000000
+                         plain=068357AD5F8016D0
+                     encrypted=0000000000000000
+
+Set 5, vector#121:
+                           key=00000000000000000000000000000040
+                        cipher=0000000000000000
+                         plain=27C343CD6C540686
+                     encrypted=0000000000000000
+
+Set 5, vector#122:
+                           key=00000000000000000000000000000020
+                        cipher=0000000000000000
+                         plain=0A27EBA572DC2EF0
+                     encrypted=0000000000000000
+
+Set 5, vector#123:
+                           key=00000000000000000000000000000010
+                        cipher=0000000000000000
+                         plain=B2FBAF23E3347EC4
+                     encrypted=0000000000000000
+
+Set 5, vector#124:
+                           key=00000000000000000000000000000008
+                        cipher=0000000000000000
+                         plain=FA079CEFAE6AEA27
+                     encrypted=0000000000000000
+
+Set 5, vector#125:
+                           key=00000000000000000000000000000004
+                        cipher=0000000000000000
+                         plain=01C9B479C6BE6917
+                     encrypted=0000000000000000
+
+Set 5, vector#126:
+                           key=00000000000000000000000000000002
+                        cipher=0000000000000000
+                         plain=54CEA997399AA01B
+                     encrypted=0000000000000000
+
+Set 5, vector#127:
+                           key=00000000000000000000000000000001
+                        cipher=0000000000000000
+                         plain=29A9F18E4A83E0CD
+                     encrypted=0000000000000000
+
+Test vectors -- set 6
+=====================
+
+Set 6, vector#  0:
+                           key=00000000000000000000000000000000
+                        cipher=8000000000000000
+                         plain=E7FB76C9174B3A19
+                     encrypted=8000000000000000
+
+Set 6, vector#  1:
+                           key=00000000000000000000000000000000
+                        cipher=4000000000000000
+                         plain=F0A79E531D95F0B1
+                     encrypted=4000000000000000
+
+Set 6, vector#  2:
+                           key=00000000000000000000000000000000
+                        cipher=2000000000000000
+                         plain=66339F63A5E4414F
+                     encrypted=2000000000000000
+
+Set 6, vector#  3:
+                           key=00000000000000000000000000000000
+                        cipher=1000000000000000
+                         plain=D3E96A4024457374
+                     encrypted=1000000000000000
+
+Set 6, vector#  4:
+                           key=00000000000000000000000000000000
+                        cipher=0800000000000000
+                         plain=9F89612E5410BD68
+                     encrypted=0800000000000000
+
+Set 6, vector#  5:
+                           key=00000000000000000000000000000000
+                        cipher=0400000000000000
+                         plain=DAC4F3D77C4C6356
+                     encrypted=0400000000000000
+
+Set 6, vector#  6:
+                           key=00000000000000000000000000000000
+                        cipher=0200000000000000
+                         plain=39D298D182C0C6AF
+                     encrypted=0200000000000000
+
+Set 6, vector#  7:
+                           key=00000000000000000000000000000000
+                        cipher=0100000000000000
+                         plain=F05A8AF5CF16FB99
+                     encrypted=0100000000000000
+
+Set 6, vector#  8:
+                           key=00000000000000000000000000000000
+                        cipher=0080000000000000
+                         plain=779C4D2D1B978FC0
+                     encrypted=0080000000000000
+
+Set 6, vector#  9:
+                           key=00000000000000000000000000000000
+                        cipher=0040000000000000
+                         plain=E96199A71865CEDD
+                     encrypted=0040000000000000
+
+Set 6, vector# 10:
+                           key=00000000000000000000000000000000
+                        cipher=0020000000000000
+                         plain=A2127BCB86543049
+                     encrypted=0020000000000000
+
+Set 6, vector# 11:
+                           key=00000000000000000000000000000000
+                        cipher=0010000000000000
+                         plain=A1C70EBF1E964345
+                     encrypted=0010000000000000
+
+Set 6, vector# 12:
+                           key=00000000000000000000000000000000
+                        cipher=0008000000000000
+                         plain=35C173D8F04B186F
+                     encrypted=0008000000000000
+
+Set 6, vector# 13:
+                           key=00000000000000000000000000000000
+                        cipher=0004000000000000
+                         plain=92423D021B21C002
+                     encrypted=0004000000000000
+
+Set 6, vector# 14:
+                           key=00000000000000000000000000000000
+                        cipher=0002000000000000
+                         plain=AAB559D174A4F684
+                     encrypted=0002000000000000
+
+Set 6, vector# 15:
+                           key=00000000000000000000000000000000
+                        cipher=0001000000000000
+                         plain=2E0C4E667F362C82
+                     encrypted=0001000000000000
+
+Set 6, vector# 16:
+                           key=00000000000000000000000000000000
+                        cipher=0000800000000000
+                         plain=E29B9AE635748D80
+                     encrypted=0000800000000000
+
+Set 6, vector# 17:
+                           key=00000000000000000000000000000000
+                        cipher=0000400000000000
+                         plain=069E06C7CCA39200
+                     encrypted=0000400000000000
+
+Set 6, vector# 18:
+                           key=00000000000000000000000000000000
+                        cipher=0000200000000000
+                         plain=00C5DCECB9E3179C
+                     encrypted=0000200000000000
+
+Set 6, vector# 19:
+                           key=00000000000000000000000000000000
+                        cipher=0000100000000000
+                         plain=2F3742E62831455C
+                     encrypted=0000100000000000
+
+Set 6, vector# 20:
+                           key=00000000000000000000000000000000
+                        cipher=0000080000000000
+                         plain=EC61AA450B240500
+                     encrypted=0000080000000000
+
+Set 6, vector# 21:
+                           key=00000000000000000000000000000000
+                        cipher=0000040000000000
+                         plain=C9B3A6FCBB3635D3
+                     encrypted=0000040000000000
+
+Set 6, vector# 22:
+                           key=00000000000000000000000000000000
+                        cipher=0000020000000000
+                         plain=EAE65B15BB0874D1
+                     encrypted=0000020000000000
+
+Set 6, vector# 23:
+                           key=00000000000000000000000000000000
+                        cipher=0000010000000000
+                         plain=31DD0432DF57D7BF
+                     encrypted=0000010000000000
+
+Set 6, vector# 24:
+                           key=00000000000000000000000000000000
+                        cipher=0000008000000000
+                         plain=AC8462BACDE52C66
+                     encrypted=0000008000000000
+
+Set 6, vector# 25:
+                           key=00000000000000000000000000000000
+                        cipher=0000004000000000
+                         plain=B41F7FCB741F8D22
+                     encrypted=0000004000000000
+
+Set 6, vector# 26:
+                           key=00000000000000000000000000000000
+                        cipher=0000002000000000
+                         plain=2587CFCF95D8AD71
+                     encrypted=0000002000000000
+
+Set 6, vector# 27:
+                           key=00000000000000000000000000000000
+                        cipher=0000001000000000
+                         plain=E9568D1301E937D8
+                     encrypted=0000001000000000
+
+Set 6, vector# 28:
+                           key=00000000000000000000000000000000
+                        cipher=0000000800000000
+                         plain=3B6961D7E34B16B2
+                     encrypted=0000000800000000
+
+Set 6, vector# 29:
+                           key=00000000000000000000000000000000
+                        cipher=0000000400000000
+                         plain=B1EA28F0016B13B2
+                     encrypted=0000000400000000
+
+Set 6, vector# 30:
+                           key=00000000000000000000000000000000
+                        cipher=0000000200000000
+                         plain=33B0748085278381
+                     encrypted=0000000200000000
+
+Set 6, vector# 31:
+                           key=00000000000000000000000000000000
+                        cipher=0000000100000000
+                         plain=F09C3D4B89AF18EB
+                     encrypted=0000000100000000
+
+Set 6, vector# 32:
+                           key=00000000000000000000000000000000
+                        cipher=0000000080000000
+                         plain=F0F7AE23F9989C51
+                     encrypted=0000000080000000
+
+Set 6, vector# 33:
+                           key=00000000000000000000000000000000
+                        cipher=0000000040000000
+                         plain=5BF886846027E83E
+                     encrypted=0000000040000000
+
+Set 6, vector# 34:
+                           key=00000000000000000000000000000000
+                        cipher=0000000020000000
+                         plain=967D5456D419FE52
+                     encrypted=0000000020000000
+
+Set 6, vector# 35:
+                           key=00000000000000000000000000000000
+                        cipher=0000000010000000
+                         plain=7BA869B77CFCB4D0
+                     encrypted=0000000010000000
+
+Set 6, vector# 36:
+                           key=00000000000000000000000000000000
+                        cipher=0000000008000000
+                         plain=F4B907A63B918E25
+                     encrypted=0000000008000000
+
+Set 6, vector# 37:
+                           key=00000000000000000000000000000000
+                        cipher=0000000004000000
+                         plain=54E92DC23C357FF9
+                     encrypted=0000000004000000
+
+Set 6, vector# 38:
+                           key=00000000000000000000000000000000
+                        cipher=0000000002000000
+                         plain=FE451E5FB3A1BBB3
+                     encrypted=0000000002000000
+
+Set 6, vector# 39:
+                           key=00000000000000000000000000000000
+                        cipher=0000000001000000
+                         plain=57AA1814037DA9F6
+                     encrypted=0000000001000000
+
+Set 6, vector# 40:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000800000
+                         plain=67626700DE868E9A
+                     encrypted=0000000000800000
+
+Set 6, vector# 41:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000400000
+                         plain=452614CA0AEEE99C
+                     encrypted=0000000000400000
+
+Set 6, vector# 42:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000200000
+                         plain=1642E395F837074E
+                     encrypted=0000000000200000
+
+Set 6, vector# 43:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000100000
+                         plain=CAB9F30646F27D97
+                     encrypted=0000000000100000
+
+Set 6, vector# 44:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000080000
+                         plain=CDB20E0068B13448
+                     encrypted=0000000000080000
+
+Set 6, vector# 45:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000040000
+                         plain=BB13077418F377F7
+                     encrypted=0000000000040000
+
+Set 6, vector# 46:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000020000
+                         plain=C20C829C11E4C5FB
+                     encrypted=0000000000020000
+
+Set 6, vector# 47:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000010000
+                         plain=AD1AC278AEA72E43
+                     encrypted=0000000000010000
+
+Set 6, vector# 48:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000008000
+                         plain=6E4CB3C657BF822B
+                     encrypted=0000000000008000
+
+Set 6, vector# 49:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000004000
+                         plain=C1407C3B15033A66
+                     encrypted=0000000000004000
+
+Set 6, vector# 50:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000002000
+                         plain=CC5A94231D5E3661
+                     encrypted=0000000000002000
+
+Set 6, vector# 51:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000001000
+                         plain=73C51E92D385B93F
+                     encrypted=0000000000001000
+
+Set 6, vector# 52:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000000800
+                         plain=97B6BE9F3694626F
+                     encrypted=0000000000000800
+
+Set 6, vector# 53:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000000400
+                         plain=E0C461172493DB92
+                     encrypted=0000000000000400
+
+Set 6, vector# 54:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000000200
+                         plain=5368A4AC3A32C658
+                     encrypted=0000000000000200
+
+Set 6, vector# 55:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000000100
+                         plain=0BCB4A4F7C82B845
+                     encrypted=0000000000000100
+
+Set 6, vector# 56:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000000080
+                         plain=3B935D314410A019
+                     encrypted=0000000000000080
+
+Set 6, vector# 57:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000000040
+                         plain=A48FA93573AA5354
+                     encrypted=0000000000000040
+
+Set 6, vector# 58:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000000020
+                         plain=77258F406DB0FE2A
+                     encrypted=0000000000000020
+
+Set 6, vector# 59:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000000010
+                         plain=B90B4A4221DD84C7
+                     encrypted=0000000000000010
+
+Set 6, vector# 60:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000000008
+                         plain=37E5692471A7E18A
+                     encrypted=0000000000000008
+
+Set 6, vector# 61:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000000004
+                         plain=D775E29A4DA2F2B0
+                     encrypted=0000000000000004
+
+Set 6, vector# 62:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000000002
+                         plain=41A6099A020F6E9A
+                     encrypted=0000000000000002
+
+Set 6, vector# 63:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000000001
+                         plain=40772CE8FB36C5B5
+                     encrypted=0000000000000001
+
+Test vectors -- set 7
+=====================
+
+Set 7, vector#  0:
+                           key=00000000000000000000000000000000
+                        cipher=0000000000000000
+                         plain=F5C398817916CD42
+                     encrypted=0000000000000000
+
+Set 7, vector#  1:
+                           key=01010101010101010101010101010101
+                        cipher=0101010101010101
+                         plain=EC3D68D22CF84A52
+                     encrypted=0101010101010101
+
+Set 7, vector#  2:
+                           key=02020202020202020202020202020202
+                        cipher=0202020202020202
+                         plain=DDD04FD76C6CBF50
+                     encrypted=0202020202020202
+
+Set 7, vector#  3:
+                           key=03030303030303030303030303030303
+                        cipher=0303030303030303
+                         plain=BB89B1ED108D2BE9
+                     encrypted=0303030303030303
+
+Set 7, vector#  4:
+                           key=04040404040404040404040404040404
+                        cipher=0404040404040404
+                         plain=B87609D7061DE1CC
+                     encrypted=0404040404040404
+
+Set 7, vector#  5:
+                           key=05050505050505050505050505050505
+                        cipher=0505050505050505
+                         plain=13389DD7A8FC5378
+                     encrypted=0505050505050505
+
+Set 7, vector#  6:
+                           key=06060606060606060606060606060606
+                        cipher=0606060606060606
+                         plain=D4A24A67F997168D
+                     encrypted=0606060606060606
+
+Set 7, vector#  7:
+                           key=07070707070707070707070707070707
+                        cipher=0707070707070707
+                         plain=2A447E4618C285DF
+                     encrypted=0707070707070707
+
+Set 7, vector#  8:
+                           key=08080808080808080808080808080808
+                        cipher=0808080808080808
+                         plain=0DD081A54C8FB0C3
+                     encrypted=0808080808080808
+
+Set 7, vector#  9:
+                           key=09090909090909090909090909090909
+                        cipher=0909090909090909
+                         plain=31CDDB2FB408DBB5
+                     encrypted=0909090909090909
+
+Set 7, vector# 10:
+                           key=0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A
+                        cipher=0A0A0A0A0A0A0A0A
+                         plain=CB799DD281AF8162
+                     encrypted=0A0A0A0A0A0A0A0A
+
+Set 7, vector# 11:
+                           key=0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B
+                        cipher=0B0B0B0B0B0B0B0B
+                         plain=B8485823D54E5262
+                     encrypted=0B0B0B0B0B0B0B0B
+
+Set 7, vector# 12:
+                           key=0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
+                        cipher=0C0C0C0C0C0C0C0C
+                         plain=FF9EFA75514D4D73
+                     encrypted=0C0C0C0C0C0C0C0C
+
+Set 7, vector# 13:
+                           key=0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D
+                        cipher=0D0D0D0D0D0D0D0D
+                         plain=554A2F007E946D5E
+                     encrypted=0D0D0D0D0D0D0D0D
+
+Set 7, vector# 14:
+                           key=0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E
+                        cipher=0E0E0E0E0E0E0E0E
+                         plain=C847BF20ACA9F0B0
+                     encrypted=0E0E0E0E0E0E0E0E
+
+Set 7, vector# 15:
+                           key=0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
+                        cipher=0F0F0F0F0F0F0F0F
+                         plain=22CC6EA033C72F19
+                     encrypted=0F0F0F0F0F0F0F0F
+
+Set 7, vector# 16:
+                           key=10101010101010101010101010101010
+                        cipher=1010101010101010
+                         plain=5C5618A3159F9396
+                     encrypted=1010101010101010
+
+Set 7, vector# 17:
+                           key=11111111111111111111111111111111
+                        cipher=1111111111111111
+                         plain=FCC2E63D7E898894
+                     encrypted=1111111111111111
+
+Set 7, vector# 18:
+                           key=12121212121212121212121212121212
+                        cipher=1212121212121212
+                         plain=A1E10DA0D710F7E6
+                     encrypted=1212121212121212
+
+Set 7, vector# 19:
+                           key=13131313131313131313131313131313
+                        cipher=1313131313131313
+                         plain=5E8DC19202912AC4
+                     encrypted=1313131313131313
+
+Set 7, vector# 20:
+                           key=14141414141414141414141414141414
+                        cipher=1414141414141414
+                         plain=F4C61E3B41420AFB
+                     encrypted=1414141414141414
+
+Set 7, vector# 21:
+                           key=15151515151515151515151515151515
+                        cipher=1515151515151515
+                         plain=A5500C6F58ED14A7
+                     encrypted=1515151515151515
+
+Set 7, vector# 22:
+                           key=16161616161616161616161616161616
+                        cipher=1616161616161616
+                         plain=D6C19C07595FAF97
+                     encrypted=1616161616161616
+
+Set 7, vector# 23:
+                           key=17171717171717171717171717171717
+                        cipher=1717171717171717
+                         plain=A34D8C68143920FE
+                     encrypted=1717171717171717
+
+Set 7, vector# 24:
+                           key=18181818181818181818181818181818
+                        cipher=1818181818181818
+                         plain=AD870FC77A1AD162
+                     encrypted=1818181818181818
+
+Set 7, vector# 25:
+                           key=19191919191919191919191919191919
+                        cipher=1919191919191919
+                         plain=A0B6786F28D6B5E1
+                     encrypted=1919191919191919
+
+Set 7, vector# 26:
+                           key=1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
+                        cipher=1A1A1A1A1A1A1A1A
+                         plain=222EC498A0139D84
+                     encrypted=1A1A1A1A1A1A1A1A
+
+Set 7, vector# 27:
+                           key=1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
+                        cipher=1B1B1B1B1B1B1B1B
+                         plain=836458D328962CEA
+                     encrypted=1B1B1B1B1B1B1B1B
+
+Set 7, vector# 28:
+                           key=1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C
+                        cipher=1C1C1C1C1C1C1C1C
+                         plain=E94DFE32F2FE8917
+                     encrypted=1C1C1C1C1C1C1C1C
+
+Set 7, vector# 29:
+                           key=1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D
+                        cipher=1D1D1D1D1D1D1D1D
+                         plain=59BE96CC8A9F63FF
+                     encrypted=1D1D1D1D1D1D1D1D
+
+Set 7, vector# 30:
+                           key=1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E
+                        cipher=1E1E1E1E1E1E1E1E
+                         plain=B3E99C244181B99E
+                     encrypted=1E1E1E1E1E1E1E1E
+
+Set 7, vector# 31:
+                           key=1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F
+                        cipher=1F1F1F1F1F1F1F1F
+                         plain=D1D3CB99063FE6F8
+                     encrypted=1F1F1F1F1F1F1F1F
+
+Set 7, vector# 32:
+                           key=20202020202020202020202020202020
+                        cipher=2020202020202020
+                         plain=1B9D26660C03E965
+                     encrypted=2020202020202020
+
+Set 7, vector# 33:
+                           key=21212121212121212121212121212121
+                        cipher=2121212121212121
+                         plain=ACCC5CAE7F16399B
+                     encrypted=2121212121212121
+
+Set 7, vector# 34:
+                           key=22222222222222222222222222222222
+                        cipher=2222222222222222
+                         plain=557BD4EF78BF6230
+                     encrypted=2222222222222222
+
+Set 7, vector# 35:
+                           key=23232323232323232323232323232323
+                        cipher=2323232323232323
+                         plain=6B246D601089C8E3
+                     encrypted=2323232323232323
+
+Set 7, vector# 36:
+                           key=24242424242424242424242424242424
+                        cipher=2424242424242424
+                         plain=1F06C2F823D0D51C
+                     encrypted=2424242424242424
+
+Set 7, vector# 37:
+                           key=25252525252525252525252525252525
+                        cipher=2525252525252525
+                         plain=F50AD55E2A8ED3BC
+                     encrypted=2525252525252525
+
+Set 7, vector# 38:
+                           key=26262626262626262626262626262626
+                        cipher=2626262626262626
+                         plain=7B53F417ED82AA33
+                     encrypted=2626262626262626
+
+Set 7, vector# 39:
+                           key=27272727272727272727272727272727
+                        cipher=2727272727272727
+                         plain=F48F9B3D49E67B8C
+                     encrypted=2727272727272727
+
+Set 7, vector# 40:
+                           key=28282828282828282828282828282828
+                        cipher=2828282828282828
+                         plain=87D5686B9A9A53BB
+                     encrypted=2828282828282828
+
+Set 7, vector# 41:
+                           key=29292929292929292929292929292929
+                        cipher=2929292929292929
+                         plain=B4D29592D020136C
+                     encrypted=2929292929292929
+
+Set 7, vector# 42:
+                           key=2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A
+                        cipher=2A2A2A2A2A2A2A2A
+                         plain=4D25821EAB3F799B
+                     encrypted=2A2A2A2A2A2A2A2A
+
+Set 7, vector# 43:
+                           key=2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B
+                        cipher=2B2B2B2B2B2B2B2B
+                         plain=58261CE06C5A8514
+                     encrypted=2B2B2B2B2B2B2B2B
+
+Set 7, vector# 44:
+                           key=2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C
+                        cipher=2C2C2C2C2C2C2C2C
+                         plain=6C31631ADB56A719
+                     encrypted=2C2C2C2C2C2C2C2C
+
+Set 7, vector# 45:
+                           key=2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D
+                        cipher=2D2D2D2D2D2D2D2D
+                         plain=042361EF8F340E61
+                     encrypted=2D2D2D2D2D2D2D2D
+
+Set 7, vector# 46:
+                           key=2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
+                        cipher=2E2E2E2E2E2E2E2E
+                         plain=87363CEF834F7121
+                     encrypted=2E2E2E2E2E2E2E2E
+
+Set 7, vector# 47:
+                           key=2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F
+                        cipher=2F2F2F2F2F2F2F2F
+                         plain=5000561DAE5854B5
+                     encrypted=2F2F2F2F2F2F2F2F
+
+Set 7, vector# 48:
+                           key=30303030303030303030303030303030
+                        cipher=3030303030303030
+                         plain=33C504135D7DB43E
+                     encrypted=3030303030303030
+
+Set 7, vector# 49:
+                           key=31313131313131313131313131313131
+                        cipher=3131313131313131
+                         plain=D99ED5172ABB2444
+                     encrypted=3131313131313131
+
+Set 7, vector# 50:
+                           key=32323232323232323232323232323232
+                        cipher=3232323232323232
+                         plain=666A92574FDC4E07
+                     encrypted=3232323232323232
+
+Set 7, vector# 51:
+                           key=33333333333333333333333333333333
+                        cipher=3333333333333333
+                         plain=140E9945E06E0748
+                     encrypted=3333333333333333
+
+Set 7, vector# 52:
+                           key=34343434343434343434343434343434
+                        cipher=3434343434343434
+                         plain=38A32928257C33FB
+                     encrypted=3434343434343434
+
+Set 7, vector# 53:
+                           key=35353535353535353535353535353535
+                        cipher=3535353535353535
+                         plain=4D9595BF87EE9D9A
+                     encrypted=3535353535353535
+
+Set 7, vector# 54:
+                           key=36363636363636363636363636363636
+                        cipher=3636363636363636
+                         plain=A35E66BBC851C9DA
+                     encrypted=3636363636363636
+
+Set 7, vector# 55:
+                           key=37373737373737373737373737373737
+                        cipher=3737373737373737
+                         plain=A77253DA8EB6F307
+                     encrypted=3737373737373737
+
+Set 7, vector# 56:
+                           key=38383838383838383838383838383838
+                        cipher=3838383838383838
+                         plain=500BE3248CB409C2
+                     encrypted=3838383838383838
+
+Set 7, vector# 57:
+                           key=39393939393939393939393939393939
+                        cipher=3939393939393939
+                         plain=AF567CCD31236DD4
+                     encrypted=3939393939393939
+
+Set 7, vector# 58:
+                           key=3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A
+                        cipher=3A3A3A3A3A3A3A3A
+                         plain=A82B03B9601FE45A
+                     encrypted=3A3A3A3A3A3A3A3A
+
+Set 7, vector# 59:
+                           key=3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B
+                        cipher=3B3B3B3B3B3B3B3B
+                         plain=EAB5DCBC764707C1
+                     encrypted=3B3B3B3B3B3B3B3B
+
+Set 7, vector# 60:
+                           key=3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C
+                        cipher=3C3C3C3C3C3C3C3C
+                         plain=7891BBF230D3003B
+                     encrypted=3C3C3C3C3C3C3C3C
+
+Set 7, vector# 61:
+                           key=3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D
+                        cipher=3D3D3D3D3D3D3D3D
+                         plain=C4185D3DF127F0EE
+                     encrypted=3D3D3D3D3D3D3D3D
+
+Set 7, vector# 62:
+                           key=3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E
+                        cipher=3E3E3E3E3E3E3E3E
+                         plain=50498990427638F3
+                     encrypted=3E3E3E3E3E3E3E3E
+
+Set 7, vector# 63:
+                           key=3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F
+                        cipher=3F3F3F3F3F3F3F3F
+                         plain=F7454BC057EA7218
+                     encrypted=3F3F3F3F3F3F3F3F
+
+Set 7, vector# 64:
+                           key=40404040404040404040404040404040
+                        cipher=4040404040404040
+                         plain=B48C4D857C229DF1
+                     encrypted=4040404040404040
+
+Set 7, vector# 65:
+                           key=41414141414141414141414141414141
+                        cipher=4141414141414141
+                         plain=7A675F0D707E33F8
+                     encrypted=4141414141414141
+
+Set 7, vector# 66:
+                           key=42424242424242424242424242424242
+                        cipher=4242424242424242
+                         plain=6048736397ECC969
+                     encrypted=4242424242424242
+
+Set 7, vector# 67:
+                           key=43434343434343434343434343434343
+                        cipher=4343434343434343
+                         plain=54ED31AF7A79F03E
+                     encrypted=4343434343434343
+
+Set 7, vector# 68:
+                           key=44444444444444444444444444444444
+                        cipher=4444444444444444
+                         plain=50BD8C46A4BCDC8E
+                     encrypted=4444444444444444
+
+Set 7, vector# 69:
+                           key=45454545454545454545454545454545
+                        cipher=4545454545454545
+                         plain=87653648865E9696
+                     encrypted=4545454545454545
+
+Set 7, vector# 70:
+                           key=46464646464646464646464646464646
+                        cipher=4646464646464646
+                         plain=3704B3684F859811
+                     encrypted=4646464646464646
+
+Set 7, vector# 71:
+                           key=47474747474747474747474747474747
+                        cipher=4747474747474747
+                         plain=BB1D6630A7CAF8AE
+                     encrypted=4747474747474747
+
+Set 7, vector# 72:
+                           key=48484848484848484848484848484848
+                        cipher=4848484848484848
+                         plain=0C5687E07A32CCDB
+                     encrypted=4848484848484848
+
+Set 7, vector# 73:
+                           key=49494949494949494949494949494949
+                        cipher=4949494949494949
+                         plain=065D404BA2EFDB0A
+                     encrypted=4949494949494949
+
+Set 7, vector# 74:
+                           key=4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A
+                        cipher=4A4A4A4A4A4A4A4A
+                         plain=E9C2E15266757719
+                     encrypted=4A4A4A4A4A4A4A4A
+
+Set 7, vector# 75:
+                           key=4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B
+                        cipher=4B4B4B4B4B4B4B4B
+                         plain=9A4B20E33473413B
+                     encrypted=4B4B4B4B4B4B4B4B
+
+Set 7, vector# 76:
+                           key=4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C
+                        cipher=4C4C4C4C4C4C4C4C
+                         plain=F420194EE18528DE
+                     encrypted=4C4C4C4C4C4C4C4C
+
+Set 7, vector# 77:
+                           key=4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D
+                        cipher=4D4D4D4D4D4D4D4D
+                         plain=7F395BE5FA1ED615
+                     encrypted=4D4D4D4D4D4D4D4D
+
+Set 7, vector# 78:
+                           key=4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
+                        cipher=4E4E4E4E4E4E4E4E
+                         plain=C264785AEE4906EC
+                     encrypted=4E4E4E4E4E4E4E4E
+
+Set 7, vector# 79:
+                           key=4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
+                        cipher=4F4F4F4F4F4F4F4F
+                         plain=93EAF54C46600E4B
+                     encrypted=4F4F4F4F4F4F4F4F
+
+Set 7, vector# 80:
+                           key=50505050505050505050505050505050
+                        cipher=5050505050505050
+                         plain=C98522BDF3C5AAB3
+                     encrypted=5050505050505050
+
+Set 7, vector# 81:
+                           key=51515151515151515151515151515151
+                        cipher=5151515151515151
+                         plain=1E502C8D08D63C51
+                     encrypted=5151515151515151
+
+Set 7, vector# 82:
+                           key=52525252525252525252525252525252
+                        cipher=5252525252525252
+                         plain=6C05DD97B56B2FFE
+                     encrypted=5252525252525252
+
+Set 7, vector# 83:
+                           key=53535353535353535353535353535353
+                        cipher=5353535353535353
+                         plain=3D646A28309BA45D
+                     encrypted=5353535353535353
+
+Set 7, vector# 84:
+                           key=54545454545454545454545454545454
+                        cipher=5454545454545454
+                         plain=1A741DF9F1A54944
+                     encrypted=5454545454545454
+
+Set 7, vector# 85:
+                           key=55555555555555555555555555555555
+                        cipher=5555555555555555
+                         plain=DFCCF1CE8E221D10
+                     encrypted=5555555555555555
+
+Set 7, vector# 86:
+                           key=56565656565656565656565656565656
+                        cipher=5656565656565656
+                         plain=A81331D650DE555E
+                     encrypted=5656565656565656
+
+Set 7, vector# 87:
+                           key=57575757575757575757575757575757
+                        cipher=5757575757575757
+                         plain=8346827690EFC1B8
+                     encrypted=5757575757575757
+
+Set 7, vector# 88:
+                           key=58585858585858585858585858585858
+                        cipher=5858585858585858
+                         plain=CE1A1327B27F55FE
+                     encrypted=5858585858585858
+
+Set 7, vector# 89:
+                           key=59595959595959595959595959595959
+                        cipher=5959595959595959
+                         plain=9F3112773736D78B
+                     encrypted=5959595959595959
+
+Set 7, vector# 90:
+                           key=5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
+                        cipher=5A5A5A5A5A5A5A5A
+                         plain=B7ED95E14F7B1B78
+                     encrypted=5A5A5A5A5A5A5A5A
+
+Set 7, vector# 91:
+                           key=5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B
+                        cipher=5B5B5B5B5B5B5B5B
+                         plain=5AF6BB323805441E
+                     encrypted=5B5B5B5B5B5B5B5B
+
+Set 7, vector# 92:
+                           key=5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C
+                        cipher=5C5C5C5C5C5C5C5C
+                         plain=D257F6D28EA1C550
+                     encrypted=5C5C5C5C5C5C5C5C
+
+Set 7, vector# 93:
+                           key=5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
+                        cipher=5D5D5D5D5D5D5D5D
+                         plain=38EFC2A9940DB832
+                     encrypted=5D5D5D5D5D5D5D5D
+
+Set 7, vector# 94:
+                           key=5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
+                        cipher=5E5E5E5E5E5E5E5E
+                         plain=A13304DA14F46C6B
+                     encrypted=5E5E5E5E5E5E5E5E
+
+Set 7, vector# 95:
+                           key=5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F
+                        cipher=5F5F5F5F5F5F5F5F
+                         plain=6DCAA969047735B9
+                     encrypted=5F5F5F5F5F5F5F5F
+
+Set 7, vector# 96:
+                           key=60606060606060606060606060606060
+                        cipher=6060606060606060
+                         plain=E085E42609931613
+                     encrypted=6060606060606060
+
+Set 7, vector# 97:
+                           key=61616161616161616161616161616161
+                        cipher=6161616161616161
+                         plain=50159BD6EC6CDDC2
+                     encrypted=6161616161616161
+
+Set 7, vector# 98:
+                           key=62626262626262626262626262626262
+                        cipher=6262626262626262
+                         plain=79CBB7B394084FBC
+                     encrypted=6262626262626262
+
+Set 7, vector# 99:
+                           key=63636363636363636363636363636363
+                        cipher=6363636363636363
+                         plain=D3A4185DFFABCFB9
+                     encrypted=6363636363636363
+
+Set 7, vector#100:
+                           key=64646464646464646464646464646464
+                        cipher=6464646464646464
+                         plain=649C555EFA650CB1
+                     encrypted=6464646464646464
+
+Set 7, vector#101:
+                           key=65656565656565656565656565656565
+                        cipher=6565656565656565
+                         plain=AE293771D42200FA
+                     encrypted=6565656565656565
+
+Set 7, vector#102:
+                           key=66666666666666666666666666666666
+                        cipher=6666666666666666
+                         plain=7242EC45C7D55F03
+                     encrypted=6666666666666666
+
+Set 7, vector#103:
+                           key=67676767676767676767676767676767
+                        cipher=6767676767676767
+                         plain=41B7B838DFF1E86A
+                     encrypted=6767676767676767
+
+Set 7, vector#104:
+                           key=68686868686868686868686868686868
+                        cipher=6868686868686868
+                         plain=B0639BD72247CFB4
+                     encrypted=6868686868686868
+
+Set 7, vector#105:
+                           key=69696969696969696969696969696969
+                        cipher=6969696969696969
+                         plain=2AD6E823F674DD99
+                     encrypted=6969696969696969
+
+Set 7, vector#106:
+                           key=6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A
+                        cipher=6A6A6A6A6A6A6A6A
+                         plain=F2F22A1B018E5FCC
+                     encrypted=6A6A6A6A6A6A6A6A
+
+Set 7, vector#107:
+                           key=6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B
+                        cipher=6B6B6B6B6B6B6B6B
+                         plain=E4623DCD73BEFA82
+                     encrypted=6B6B6B6B6B6B6B6B
+
+Set 7, vector#108:
+                           key=6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C
+                        cipher=6C6C6C6C6C6C6C6C
+                         plain=8B23544F6BE8FA7B
+                     encrypted=6C6C6C6C6C6C6C6C
+
+Set 7, vector#109:
+                           key=6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
+                        cipher=6D6D6D6D6D6D6D6D
+                         plain=7D05492FA4F5C1BF
+                     encrypted=6D6D6D6D6D6D6D6D
+
+Set 7, vector#110:
+                           key=6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E
+                        cipher=6E6E6E6E6E6E6E6E
+                         plain=7B09B41CA3C45BB9
+                     encrypted=6E6E6E6E6E6E6E6E
+
+Set 7, vector#111:
+                           key=6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F
+                        cipher=6F6F6F6F6F6F6F6F
+                         plain=6F96833C2C3A4A26
+                     encrypted=6F6F6F6F6F6F6F6F
+
+Set 7, vector#112:
+                           key=70707070707070707070707070707070
+                        cipher=7070707070707070
+                         plain=900EA32E3AF2A297
+                     encrypted=7070707070707070
+
+Set 7, vector#113:
+                           key=71717171717171717171717171717171
+                        cipher=7171717171717171
+                         plain=323589A320D0338C
+                     encrypted=7171717171717171
+
+Set 7, vector#114:
+                           key=72727272727272727272727272727272
+                        cipher=7272727272727272
+                         plain=26B05FB5679E5303
+                     encrypted=7272727272727272
+
+Set 7, vector#115:
+                           key=73737373737373737373737373737373
+                        cipher=7373737373737373
+                         plain=3A1F17602A9E98FA
+                     encrypted=7373737373737373
+
+Set 7, vector#116:
+                           key=74747474747474747474747474747474
+                        cipher=7474747474747474
+                         plain=C15B131341E49C91
+                     encrypted=7474747474747474
+
+Set 7, vector#117:
+                           key=75757575757575757575757575757575
+                        cipher=7575757575757575
+                         plain=1816B44E2D42D250
+                     encrypted=7575757575757575
+
+Set 7, vector#118:
+                           key=76767676767676767676767676767676
+                        cipher=7676767676767676
+                         plain=4648BE7F2567CC2A
+                     encrypted=7676767676767676
+
+Set 7, vector#119:
+                           key=77777777777777777777777777777777
+                        cipher=7777777777777777
+                         plain=52A19696C85D417C
+                     encrypted=7777777777777777
+
+Set 7, vector#120:
+                           key=78787878787878787878787878787878
+                        cipher=7878787878787878
+                         plain=EF32CC7FE921B7BD
+                     encrypted=7878787878787878
+
+Set 7, vector#121:
+                           key=79797979797979797979797979797979
+                        cipher=7979797979797979
+                         plain=D94807A95CB4F854
+                     encrypted=7979797979797979
+
+Set 7, vector#122:
+                           key=7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A
+                        cipher=7A7A7A7A7A7A7A7A
+                         plain=1586A83366237457
+                     encrypted=7A7A7A7A7A7A7A7A
+
+Set 7, vector#123:
+                           key=7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B
+                        cipher=7B7B7B7B7B7B7B7B
+                         plain=8BE5B0596CB7BB21
+                     encrypted=7B7B7B7B7B7B7B7B
+
+Set 7, vector#124:
+                           key=7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C
+                        cipher=7C7C7C7C7C7C7C7C
+                         plain=CBC6F25674E58A8B
+                     encrypted=7C7C7C7C7C7C7C7C
+
+Set 7, vector#125:
+                           key=7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D
+                        cipher=7D7D7D7D7D7D7D7D
+                         plain=4ED24D6A803FF449
+                     encrypted=7D7D7D7D7D7D7D7D
+
+Set 7, vector#126:
+                           key=7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E
+                        cipher=7E7E7E7E7E7E7E7E
+                         plain=4F481E6A3EB47FC2
+                     encrypted=7E7E7E7E7E7E7E7E
+
+Set 7, vector#127:
+                           key=7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F
+                        cipher=7F7F7F7F7F7F7F7F
+                         plain=6AF76F875128F461
+                     encrypted=7F7F7F7F7F7F7F7F
+
+Set 7, vector#128:
+                           key=80808080808080808080808080808080
+                        cipher=8080808080808080
+                         plain=BB56EA82FACDF2C5
+                     encrypted=8080808080808080
+
+Set 7, vector#129:
+                           key=81818181818181818181818181818181
+                        cipher=8181818181818181
+                         plain=4187B5C4C2992408
+                     encrypted=8181818181818181
+
+Set 7, vector#130:
+                           key=82828282828282828282828282828282
+                        cipher=8282828282828282
+                         plain=D12AFDB119061388
+                     encrypted=8282828282828282
+
+Set 7, vector#131:
+                           key=83838383838383838383838383838383
+                        cipher=8383838383838383
+                         plain=1B0ECA9B67A08C46
+                     encrypted=8383838383838383
+
+Set 7, vector#132:
+                           key=84848484848484848484848484848484
+                        cipher=8484848484848484
+                         plain=5D8C9A907297EA0C
+                     encrypted=8484848484848484
+
+Set 7, vector#133:
+                           key=85858585858585858585858585858585
+                        cipher=8585858585858585
+                         plain=36BF3221A6910B40
+                     encrypted=8585858585858585
+
+Set 7, vector#134:
+                           key=86868686868686868686868686868686
+                        cipher=8686868686868686
+                         plain=050242B82B10F73D
+                     encrypted=8686868686868686
+
+Set 7, vector#135:
+                           key=87878787878787878787878787878787
+                        cipher=8787878787878787
+                         plain=3CD6DAAD6ED6B756
+                     encrypted=8787878787878787
+
+Set 7, vector#136:
+                           key=88888888888888888888888888888888
+                        cipher=8888888888888888
+                         plain=998470D0B662CC37
+                     encrypted=8888888888888888
+
+Set 7, vector#137:
+                           key=89898989898989898989898989898989
+                        cipher=8989898989898989
+                         plain=EAF29456B343210D
+                     encrypted=8989898989898989
+
+Set 7, vector#138:
+                           key=8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+                        cipher=8A8A8A8A8A8A8A8A
+                         plain=61D5773B7ADED2E4
+                     encrypted=8A8A8A8A8A8A8A8A
+
+Set 7, vector#139:
+                           key=8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B
+                        cipher=8B8B8B8B8B8B8B8B
+                         plain=30306DC8B32B332A
+                     encrypted=8B8B8B8B8B8B8B8B
+
+Set 7, vector#140:
+                           key=8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C
+                        cipher=8C8C8C8C8C8C8C8C
+                         plain=FC0159FB36CCD915
+                     encrypted=8C8C8C8C8C8C8C8C
+
+Set 7, vector#141:
+                           key=8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D
+                        cipher=8D8D8D8D8D8D8D8D
+                         plain=586D5C16E5995568
+                     encrypted=8D8D8D8D8D8D8D8D
+
+Set 7, vector#142:
+                           key=8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E
+                        cipher=8E8E8E8E8E8E8E8E
+                         plain=7A0EAE96060B3C2E
+                     encrypted=8E8E8E8E8E8E8E8E
+
+Set 7, vector#143:
+                           key=8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
+                        cipher=8F8F8F8F8F8F8F8F
+                         plain=19D5F59C362A6302
+                     encrypted=8F8F8F8F8F8F8F8F
+
+Set 7, vector#144:
+                           key=90909090909090909090909090909090
+                        cipher=9090909090909090
+                         plain=BF0EB1E3BF293CC8
+                     encrypted=9090909090909090
+
+Set 7, vector#145:
+                           key=91919191919191919191919191919191
+                        cipher=9191919191919191
+                         plain=5330BC824D266557
+                     encrypted=9191919191919191
+
+Set 7, vector#146:
+                           key=92929292929292929292929292929292
+                        cipher=9292929292929292
+                         plain=51ED331761ECBAF5
+                     encrypted=9292929292929292
+
+Set 7, vector#147:
+                           key=93939393939393939393939393939393
+                        cipher=9393939393939393
+                         plain=652530350AACEC2C
+                     encrypted=9393939393939393
+
+Set 7, vector#148:
+                           key=94949494949494949494949494949494
+                        cipher=9494949494949494
+                         plain=9A6A190D6512CC82
+                     encrypted=9494949494949494
+
+Set 7, vector#149:
+                           key=95959595959595959595959595959595
+                        cipher=9595959595959595
+                         plain=5EEAB10BADF0F56D
+                     encrypted=9595959595959595
+
+Set 7, vector#150:
+                           key=96969696969696969696969696969696
+                        cipher=9696969696969696
+                         plain=C2ADF00AC39F840C
+                     encrypted=9696969696969696
+
+Set 7, vector#151:
+                           key=97979797979797979797979797979797
+                        cipher=9797979797979797
+                         plain=A0914FA33DAD4C1C
+                     encrypted=9797979797979797
+
+Set 7, vector#152:
+                           key=98989898989898989898989898989898
+                        cipher=9898989898989898
+                         plain=DAE545E713BDDA56
+                     encrypted=9898989898989898
+
+Set 7, vector#153:
+                           key=99999999999999999999999999999999
+                        cipher=9999999999999999
+                         plain=2193229116A9AAB5
+                     encrypted=9999999999999999
+
+Set 7, vector#154:
+                           key=9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+                        cipher=9A9A9A9A9A9A9A9A
+                         plain=6AF958EA6A21BBF7
+                     encrypted=9A9A9A9A9A9A9A9A
+
+Set 7, vector#155:
+                           key=9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+                        cipher=9B9B9B9B9B9B9B9B
+                         plain=ABBB465ACCBAAC88
+                     encrypted=9B9B9B9B9B9B9B9B
+
+Set 7, vector#156:
+                           key=9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
+                        cipher=9C9C9C9C9C9C9C9C
+                         plain=CA7557C0CB271318
+                     encrypted=9C9C9C9C9C9C9C9C
+
+Set 7, vector#157:
+                           key=9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+                        cipher=9D9D9D9D9D9D9D9D
+                         plain=246ED3D27018082D
+                     encrypted=9D9D9D9D9D9D9D9D
+
+Set 7, vector#158:
+                           key=9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+                        cipher=9E9E9E9E9E9E9E9E
+                         plain=7E4BD9A348026A3C
+                     encrypted=9E9E9E9E9E9E9E9E
+
+Set 7, vector#159:
+                           key=9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+                        cipher=9F9F9F9F9F9F9F9F
+                         plain=9FCFF1E4C8217C77
+                     encrypted=9F9F9F9F9F9F9F9F
+
+Set 7, vector#160:
+                           key=A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+                        cipher=A0A0A0A0A0A0A0A0
+                         plain=923F307CF7EF7A45
+                     encrypted=A0A0A0A0A0A0A0A0
+
+Set 7, vector#161:
+                           key=A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+                        cipher=A1A1A1A1A1A1A1A1
+                         plain=4F759A2D2DCB2334
+                     encrypted=A1A1A1A1A1A1A1A1
+
+Set 7, vector#162:
+                           key=A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+                        cipher=A2A2A2A2A2A2A2A2
+                         plain=383349265F6A7A09
+                     encrypted=A2A2A2A2A2A2A2A2
+
+Set 7, vector#163:
+                           key=A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+                        cipher=A3A3A3A3A3A3A3A3
+                         plain=0DD2BE26E0B80472
+                     encrypted=A3A3A3A3A3A3A3A3
+
+Set 7, vector#164:
+                           key=A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+                        cipher=A4A4A4A4A4A4A4A4
+                         plain=5CB7F88E46EA96EE
+                     encrypted=A4A4A4A4A4A4A4A4
+
+Set 7, vector#165:
+                           key=A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+                        cipher=A5A5A5A5A5A5A5A5
+                         plain=04E0D8E220841DD5
+                     encrypted=A5A5A5A5A5A5A5A5
+
+Set 7, vector#166:
+                           key=A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
+                        cipher=A6A6A6A6A6A6A6A6
+                         plain=9887C0E742D271EC
+                     encrypted=A6A6A6A6A6A6A6A6
+
+Set 7, vector#167:
+                           key=A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7
+                        cipher=A7A7A7A7A7A7A7A7
+                         plain=F3A706F990B1EF5B
+                     encrypted=A7A7A7A7A7A7A7A7
+
+Set 7, vector#168:
+                           key=A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
+                        cipher=A8A8A8A8A8A8A8A8
+                         plain=D802205456D3ADEC
+                     encrypted=A8A8A8A8A8A8A8A8
+
+Set 7, vector#169:
+                           key=A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
+                        cipher=A9A9A9A9A9A9A9A9
+                         plain=C0ECA9E558A80D3E
+                     encrypted=A9A9A9A9A9A9A9A9
+
+Set 7, vector#170:
+                           key=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                        cipher=AAAAAAAAAAAAAAAA
+                         plain=7F4DE29E2C38E2F5
+                     encrypted=AAAAAAAAAAAAAAAA
+
+Set 7, vector#171:
+                           key=ABABABABABABABABABABABABABABABAB
+                        cipher=ABABABABABABABAB
+                         plain=AFA8464DE349F5B8
+                     encrypted=ABABABABABABABAB
+
+Set 7, vector#172:
+                           key=ACACACACACACACACACACACACACACACAC
+                        cipher=ACACACACACACACAC
+                         plain=7D457D34EC57401D
+                     encrypted=ACACACACACACACAC
+
+Set 7, vector#173:
+                           key=ADADADADADADADADADADADADADADADAD
+                        cipher=ADADADADADADADAD
+                         plain=6C500BE6FA96FFDF
+                     encrypted=ADADADADADADADAD
+
+Set 7, vector#174:
+                           key=AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE
+                        cipher=AEAEAEAEAEAEAEAE
+                         plain=8AC7269E1BF9139B
+                     encrypted=AEAEAEAEAEAEAEAE
+
+Set 7, vector#175:
+                           key=AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF
+                        cipher=AFAFAFAFAFAFAFAF
+                         plain=1BAD1E0FDAAEAF9B
+                     encrypted=AFAFAFAFAFAFAFAF
+
+Set 7, vector#176:
+                           key=B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0
+                        cipher=B0B0B0B0B0B0B0B0
+                         plain=704360D1E1265027
+                     encrypted=B0B0B0B0B0B0B0B0
+
+Set 7, vector#177:
+                           key=B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1
+                        cipher=B1B1B1B1B1B1B1B1
+                         plain=05121D26A11E792F
+                     encrypted=B1B1B1B1B1B1B1B1
+
+Set 7, vector#178:
+                           key=B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2
+                        cipher=B2B2B2B2B2B2B2B2
+                         plain=56E9267F7C6ED884
+                     encrypted=B2B2B2B2B2B2B2B2
+
+Set 7, vector#179:
+                           key=B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
+                        cipher=B3B3B3B3B3B3B3B3
+                         plain=B7DC82B5CDBDA060
+                     encrypted=B3B3B3B3B3B3B3B3
+
+Set 7, vector#180:
+                           key=B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+                        cipher=B4B4B4B4B4B4B4B4
+                         plain=2994E2A264DE8CD0
+                     encrypted=B4B4B4B4B4B4B4B4
+
+Set 7, vector#181:
+                           key=B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5
+                        cipher=B5B5B5B5B5B5B5B5
+                         plain=BD0FC6C5C7A6AC60
+                     encrypted=B5B5B5B5B5B5B5B5
+
+Set 7, vector#182:
+                           key=B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6
+                        cipher=B6B6B6B6B6B6B6B6
+                         plain=B504D26DA5027237
+                     encrypted=B6B6B6B6B6B6B6B6
+
+Set 7, vector#183:
+                           key=B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7
+                        cipher=B7B7B7B7B7B7B7B7
+                         plain=ABD7DF8EF3594D04
+                     encrypted=B7B7B7B7B7B7B7B7
+
+Set 7, vector#184:
+                           key=B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
+                        cipher=B8B8B8B8B8B8B8B8
+                         plain=4DAD0A4F08DBA12D
+                     encrypted=B8B8B8B8B8B8B8B8
+
+Set 7, vector#185:
+                           key=B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9
+                        cipher=B9B9B9B9B9B9B9B9
+                         plain=4A8F6F059A84E053
+                     encrypted=B9B9B9B9B9B9B9B9
+
+Set 7, vector#186:
+                           key=BABABABABABABABABABABABABABABABA
+                        cipher=BABABABABABABABA
+                         plain=6AAE8FA4941B06F7
+                     encrypted=BABABABABABABABA
+
+Set 7, vector#187:
+                           key=BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                        cipher=BBBBBBBBBBBBBBBB
+                         plain=2854FE50E569F2DC
+                     encrypted=BBBBBBBBBBBBBBBB
+
+Set 7, vector#188:
+                           key=BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
+                        cipher=BCBCBCBCBCBCBCBC
+                         plain=0228B6CF0EF0A050
+                     encrypted=BCBCBCBCBCBCBCBC
+
+Set 7, vector#189:
+                           key=BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+                        cipher=BDBDBDBDBDBDBDBD
+                         plain=01B278EF1498862C
+                     encrypted=BDBDBDBDBDBDBDBD
+
+Set 7, vector#190:
+                           key=BEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
+                        cipher=BEBEBEBEBEBEBEBE
+                         plain=B2F35BE56471CDE7
+                     encrypted=BEBEBEBEBEBEBEBE
+
+Set 7, vector#191:
+                           key=BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF
+                        cipher=BFBFBFBFBFBFBFBF
+                         plain=FA3FCD78C7F264C6
+                     encrypted=BFBFBFBFBFBFBFBF
+
+Set 7, vector#192:
+                           key=C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
+                        cipher=C0C0C0C0C0C0C0C0
+                         plain=448AB11D9EF3909C
+                     encrypted=C0C0C0C0C0C0C0C0
+
+Set 7, vector#193:
+                           key=C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
+                        cipher=C1C1C1C1C1C1C1C1
+                         plain=3BAEC78FE0953BD3
+                     encrypted=C1C1C1C1C1C1C1C1
+
+Set 7, vector#194:
+                           key=C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2
+                        cipher=C2C2C2C2C2C2C2C2
+                         plain=DC8E6D65FE8A6560
+                     encrypted=C2C2C2C2C2C2C2C2
+
+Set 7, vector#195:
+                           key=C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3
+                        cipher=C3C3C3C3C3C3C3C3
+                         plain=50A09DB5C5666929
+                     encrypted=C3C3C3C3C3C3C3C3
+
+Set 7, vector#196:
+                           key=C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4
+                        cipher=C4C4C4C4C4C4C4C4
+                         plain=AEAE25834C6480F2
+                     encrypted=C4C4C4C4C4C4C4C4
+
+Set 7, vector#197:
+                           key=C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5
+                        cipher=C5C5C5C5C5C5C5C5
+                         plain=24257001246D0693
+                     encrypted=C5C5C5C5C5C5C5C5
+
+Set 7, vector#198:
+                           key=C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+                        cipher=C6C6C6C6C6C6C6C6
+                         plain=651A8A2848422560
+                     encrypted=C6C6C6C6C6C6C6C6
+
+Set 7, vector#199:
+                           key=C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7
+                        cipher=C7C7C7C7C7C7C7C7
+                         plain=6488A4777BD581FC
+                     encrypted=C7C7C7C7C7C7C7C7
+
+Set 7, vector#200:
+                           key=C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8
+                        cipher=C8C8C8C8C8C8C8C8
+                         plain=24747EDAE89A55FC
+                     encrypted=C8C8C8C8C8C8C8C8
+
+Set 7, vector#201:
+                           key=C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9
+                        cipher=C9C9C9C9C9C9C9C9
+                         plain=86F79F336C34FCC8
+                     encrypted=C9C9C9C9C9C9C9C9
+
+Set 7, vector#202:
+                           key=CACACACACACACACACACACACACACACACA
+                        cipher=CACACACACACACACA
+                         plain=4C32025538E91B05
+                     encrypted=CACACACACACACACA
+
+Set 7, vector#203:
+                           key=CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB
+                        cipher=CBCBCBCBCBCBCBCB
+                         plain=73BE620C17C5B02E
+                     encrypted=CBCBCBCBCBCBCBCB
+
+Set 7, vector#204:
+                           key=CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+                        cipher=CCCCCCCCCCCCCCCC
+                         plain=B20DF32000E49FE8
+                     encrypted=CCCCCCCCCCCCCCCC
+
+Set 7, vector#205:
+                           key=CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD
+                        cipher=CDCDCDCDCDCDCDCD
+                         plain=5AEB5C25171EEDDE
+                     encrypted=CDCDCDCDCDCDCDCD
+
+Set 7, vector#206:
+                           key=CECECECECECECECECECECECECECECECE
+                        cipher=CECECECECECECECE
+                         plain=78AA58487A4ADA48
+                     encrypted=CECECECECECECECE
+
+Set 7, vector#207:
+                           key=CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+                        cipher=CFCFCFCFCFCFCFCF
+                         plain=0769DF79FA10CF5D
+                     encrypted=CFCFCFCFCFCFCFCF
+
+Set 7, vector#208:
+                           key=D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0
+                        cipher=D0D0D0D0D0D0D0D0
+                         plain=2CF37FCFBD06E5BD
+                     encrypted=D0D0D0D0D0D0D0D0
+
+Set 7, vector#209:
+                           key=D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1
+                        cipher=D1D1D1D1D1D1D1D1
+                         plain=8A1207A1A94F2D62
+                     encrypted=D1D1D1D1D1D1D1D1
+
+Set 7, vector#210:
+                           key=D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2
+                        cipher=D2D2D2D2D2D2D2D2
+                         plain=90D88B1D289FE945
+                     encrypted=D2D2D2D2D2D2D2D2
+
+Set 7, vector#211:
+                           key=D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3
+                        cipher=D3D3D3D3D3D3D3D3
+                         plain=9A38CB3183E3EFB4
+                     encrypted=D3D3D3D3D3D3D3D3
+
+Set 7, vector#212:
+                           key=D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4
+                        cipher=D4D4D4D4D4D4D4D4
+                         plain=0F4095EEF82B2CDD
+                     encrypted=D4D4D4D4D4D4D4D4
+
+Set 7, vector#213:
+                           key=D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5
+                        cipher=D5D5D5D5D5D5D5D5
+                         plain=8DEF9B674D61CEF8
+                     encrypted=D5D5D5D5D5D5D5D5
+
+Set 7, vector#214:
+                           key=D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6
+                        cipher=D6D6D6D6D6D6D6D6
+                         plain=416124D7A35A77FA
+                     encrypted=D6D6D6D6D6D6D6D6
+
+Set 7, vector#215:
+                           key=D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
+                        cipher=D7D7D7D7D7D7D7D7
+                         plain=D87E89FE1A709388
+                     encrypted=D7D7D7D7D7D7D7D7
+
+Set 7, vector#216:
+                           key=D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8
+                        cipher=D8D8D8D8D8D8D8D8
+                         plain=7F38A860FD90616C
+                     encrypted=D8D8D8D8D8D8D8D8
+
+Set 7, vector#217:
+                           key=D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9
+                        cipher=D9D9D9D9D9D9D9D9
+                         plain=742118161E698FDE
+                     encrypted=D9D9D9D9D9D9D9D9
+
+Set 7, vector#218:
+                           key=DADADADADADADADADADADADADADADADA
+                        cipher=DADADADADADADADA
+                         plain=3A960FF111EBB995
+                     encrypted=DADADADADADADADA
+
+Set 7, vector#219:
+                           key=DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB
+                        cipher=DBDBDBDBDBDBDBDB
+                         plain=18BD71E7A8C10D90
+                     encrypted=DBDBDBDBDBDBDBDB
+
+Set 7, vector#220:
+                           key=DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+                        cipher=DCDCDCDCDCDCDCDC
+                         plain=0B653FB85792BED4
+                     encrypted=DCDCDCDCDCDCDCDC
+
+Set 7, vector#221:
+                           key=DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+                        cipher=DDDDDDDDDDDDDDDD
+                         plain=846A607BD121969D
+                     encrypted=DDDDDDDDDDDDDDDD
+
+Set 7, vector#222:
+                           key=DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
+                        cipher=DEDEDEDEDEDEDEDE
+                         plain=0754A690342100E6
+                     encrypted=DEDEDEDEDEDEDEDE
+
+Set 7, vector#223:
+                           key=DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF
+                        cipher=DFDFDFDFDFDFDFDF
+                         plain=CD3783FD17B161F5
+                     encrypted=DFDFDFDFDFDFDFDF
+
+Set 7, vector#224:
+                           key=E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0
+                        cipher=E0E0E0E0E0E0E0E0
+                         plain=D2931A5F8F5E02F2
+                     encrypted=E0E0E0E0E0E0E0E0
+
+Set 7, vector#225:
+                           key=E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
+                        cipher=E1E1E1E1E1E1E1E1
+                         plain=ABAFC5DE3D817702
+                     encrypted=E1E1E1E1E1E1E1E1
+
+Set 7, vector#226:
+                           key=E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2
+                        cipher=E2E2E2E2E2E2E2E2
+                         plain=755998B53FDBF639
+                     encrypted=E2E2E2E2E2E2E2E2
+
+Set 7, vector#227:
+                           key=E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3
+                        cipher=E3E3E3E3E3E3E3E3
+                         plain=2209ECCCD4CF0833
+                     encrypted=E3E3E3E3E3E3E3E3
+
+Set 7, vector#228:
+                           key=E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4
+                        cipher=E4E4E4E4E4E4E4E4
+                         plain=E6DCBCD4051E262E
+                     encrypted=E4E4E4E4E4E4E4E4
+
+Set 7, vector#229:
+                           key=E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+                        cipher=E5E5E5E5E5E5E5E5
+                         plain=6E4FE82860B6A717
+                     encrypted=E5E5E5E5E5E5E5E5
+
+Set 7, vector#230:
+                           key=E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6
+                        cipher=E6E6E6E6E6E6E6E6
+                         plain=A914E2FCC94D5531
+                     encrypted=E6E6E6E6E6E6E6E6
+
+Set 7, vector#231:
+                           key=E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7
+                        cipher=E7E7E7E7E7E7E7E7
+                         plain=343E1732AA6F14DD
+                     encrypted=E7E7E7E7E7E7E7E7
+
+Set 7, vector#232:
+                           key=E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8
+                        cipher=E8E8E8E8E8E8E8E8
+                         plain=C07A6CC69060DBA5
+                     encrypted=E8E8E8E8E8E8E8E8
+
+Set 7, vector#233:
+                           key=E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
+                        cipher=E9E9E9E9E9E9E9E9
+                         plain=A10036C9B8FAB964
+                     encrypted=E9E9E9E9E9E9E9E9
+
+Set 7, vector#234:
+                           key=EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+                        cipher=EAEAEAEAEAEAEAEA
+                         plain=9BE835F4C3485500
+                     encrypted=EAEAEAEAEAEAEAEA
+
+Set 7, vector#235:
+                           key=EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB
+                        cipher=EBEBEBEBEBEBEBEB
+                         plain=C27CB0223F676F17
+                     encrypted=EBEBEBEBEBEBEBEB
+
+Set 7, vector#236:
+                           key=ECECECECECECECECECECECECECECECEC
+                        cipher=ECECECECECECECEC
+                         plain=34A41F258C519473
+                     encrypted=ECECECECECECECEC
+
+Set 7, vector#237:
+                           key=EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
+                        cipher=EDEDEDEDEDEDEDED
+                         plain=B2DB4676A15DB9C8
+                     encrypted=EDEDEDEDEDEDEDED
+
+Set 7, vector#238:
+                           key=EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+                        cipher=EEEEEEEEEEEEEEEE
+                         plain=295784D053BE733D
+                     encrypted=EEEEEEEEEEEEEEEE
+
+Set 7, vector#239:
+                           key=EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
+                        cipher=EFEFEFEFEFEFEFEF
+                         plain=70EF67D4C6F0D88B
+                     encrypted=EFEFEFEFEFEFEFEF
+
+Set 7, vector#240:
+                           key=F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
+                        cipher=F0F0F0F0F0F0F0F0
+                         plain=37FFE364A83F90CF
+                     encrypted=F0F0F0F0F0F0F0F0
+
+Set 7, vector#241:
+                           key=F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
+                        cipher=F1F1F1F1F1F1F1F1
+                         plain=B7CC6A392F2C62F8
+                     encrypted=F1F1F1F1F1F1F1F1
+
+Set 7, vector#242:
+                           key=F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
+                        cipher=F2F2F2F2F2F2F2F2
+                         plain=C3EBA54477377DE3
+                     encrypted=F2F2F2F2F2F2F2F2
+
+Set 7, vector#243:
+                           key=F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
+                        cipher=F3F3F3F3F3F3F3F3
+                         plain=42A1DA499CE893B8
+                     encrypted=F3F3F3F3F3F3F3F3
+
+Set 7, vector#244:
+                           key=F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4
+                        cipher=F4F4F4F4F4F4F4F4
+                         plain=E4321913E31A6FA1
+                     encrypted=F4F4F4F4F4F4F4F4
+
+Set 7, vector#245:
+                           key=F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5
+                        cipher=F5F5F5F5F5F5F5F5
+                         plain=82584E6EA0DFB50B
+                     encrypted=F5F5F5F5F5F5F5F5
+
+Set 7, vector#246:
+                           key=F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6
+                        cipher=F6F6F6F6F6F6F6F6
+                         plain=2FBEE0B29842A0CB
+                     encrypted=F6F6F6F6F6F6F6F6
+
+Set 7, vector#247:
+                           key=F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7
+                        cipher=F7F7F7F7F7F7F7F7
+                         plain=C89580329C3BCD1F
+                     encrypted=F7F7F7F7F7F7F7F7
+
+Set 7, vector#248:
+                           key=F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
+                        cipher=F8F8F8F8F8F8F8F8
+                         plain=5AEC670E7842F437
+                     encrypted=F8F8F8F8F8F8F8F8
+
+Set 7, vector#249:
+                           key=F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
+                        cipher=F9F9F9F9F9F9F9F9
+                         plain=DA266E60DE3E4BE4
+                     encrypted=F9F9F9F9F9F9F9F9
+
+Set 7, vector#250:
+                           key=FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA
+                        cipher=FAFAFAFAFAFAFAFA
+                         plain=6B79AF105F721F71
+                     encrypted=FAFAFAFAFAFAFAFA
+
+Set 7, vector#251:
+                           key=FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB
+                        cipher=FBFBFBFBFBFBFBFB
+                         plain=245370839E694AA4
+                     encrypted=FBFBFBFBFBFBFBFB
+
+Set 7, vector#252:
+                           key=FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+                        cipher=FCFCFCFCFCFCFCFC
+                         plain=6768737150EC58C0
+                     encrypted=FCFCFCFCFCFCFCFC
+
+Set 7, vector#253:
+                           key=FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+                        cipher=FDFDFDFDFDFDFDFD
+                         plain=49994EAB4CDD0487
+                     encrypted=FDFDFDFDFDFDFDFD
+
+Set 7, vector#254:
+                           key=FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+                        cipher=FEFEFEFEFEFEFEFE
+                         plain=493E46C3FFA57C23
+                     encrypted=FEFEFEFEFEFEFEFE
+
+Set 7, vector#255:
+                           key=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+                        cipher=FFFFFFFFFFFFFFFF
+                         plain=FB6CD106CDCD8114
+                     encrypted=FFFFFFFFFFFFFFFF
+
+Test vectors -- set 8
+=====================
+
+Set 8, vector#  0:
+                           key=000102030405060708090A0B0C0D0E0F
+                        cipher=0011223344556677
+                         plain=01C6FA50BA66866C
+                     encrypted=0011223344556677
+
+Set 8, vector#  1:
+                           key=2BD6459F82C5B300952C49104881FF48
+                        cipher=EA024714AD5C4D84
+                         plain=9CEFB24C4E51373D
+                     encrypted=EA024714AD5C4D84
+
+
+
+End of test vectors
diff --git a/testvectors/present/nessie-present-80_le.txt b/testvectors/present/nessie-present-80_le.txt
new file mode 100644 (file)
index 0000000..fdc28c3
--- /dev/null
@@ -0,0 +1,5666 @@
+PROCESSOR_UNKNOWN is defined. If you know your processors characteristics,
+please update them in include/portable.h.
+********************************************************************************
+*Project NESSIE - New European Schemes for Signature, Integrity, and Encryption*
+********************************************************************************
+
+Primitive Name: Present
+=======================
+Key size: 80 bits
+Block size: 64 bits
+
+Test vectors -- set 1
+=====================
+
+Set 1, vector#  0:
+                           key=80000000000000000000
+                         plain=0000000000000000
+                        cipher=B112D5AC163C07A9
+                     decrypted=0000000000000000
+            Iterated 100 times=95B70A5F62612924
+           Iterated 1000 times=CD49BE9F7FFEFCB1
+
+Set 1, vector#  1:
+                           key=40000000000000000000
+                         plain=0000000000000000
+                        cipher=756B6E92393D8D9D
+                     decrypted=0000000000000000
+            Iterated 100 times=3B8826454E21C27A
+           Iterated 1000 times=524610816B626002
+
+Set 1, vector#  2:
+                           key=20000000000000000000
+                         plain=0000000000000000
+                        cipher=F04B383FD8D6F6B9
+                     decrypted=0000000000000000
+            Iterated 100 times=DC49D7FC821842E8
+           Iterated 1000 times=283848E0EBFC8109
+
+Set 1, vector#  3:
+                           key=10000000000000000000
+                         plain=0000000000000000
+                        cipher=4004D464426FEFC8
+                     decrypted=0000000000000000
+            Iterated 100 times=BFA89C905883DF2B
+           Iterated 1000 times=F7E6CEC0B50CA918
+
+Set 1, vector#  4:
+                           key=08000000000000000000
+                         plain=0000000000000000
+                        cipher=DB827A08D52CF3AF
+                     decrypted=0000000000000000
+            Iterated 100 times=A8BC9286D81AB750
+           Iterated 1000 times=F8EC64E44CF01350
+
+Set 1, vector#  5:
+                           key=04000000000000000000
+                         plain=0000000000000000
+                        cipher=2816CAFA253460AD
+                     decrypted=0000000000000000
+            Iterated 100 times=086EB8B1F1BD2255
+           Iterated 1000 times=BA28A63897AD7409
+
+Set 1, vector#  6:
+                           key=02000000000000000000
+                         plain=0000000000000000
+                        cipher=19630B6DD43BFD2C
+                     decrypted=0000000000000000
+            Iterated 100 times=808C76BF8A65DD74
+           Iterated 1000 times=24843063BD32DA1C
+
+Set 1, vector#  7:
+                           key=01000000000000000000
+                         plain=0000000000000000
+                        cipher=FF1DF4571108C38B
+                     decrypted=0000000000000000
+            Iterated 100 times=C6159D9724D3B3A0
+           Iterated 1000 times=AB0486C9CC5FCFA7
+
+Set 1, vector#  8:
+                           key=00800000000000000000
+                         plain=0000000000000000
+                        cipher=91036C10F2185839
+                     decrypted=0000000000000000
+            Iterated 100 times=EDF86C31A0E08A85
+           Iterated 1000 times=D2CD5F0B2078F9D0
+
+Set 1, vector#  9:
+                           key=00400000000000000000
+                         plain=0000000000000000
+                        cipher=055FA78F08F6DE5A
+                     decrypted=0000000000000000
+            Iterated 100 times=AF727E4ECAF23982
+           Iterated 1000 times=7059B04EF209C655
+
+Set 1, vector# 10:
+                           key=00200000000000000000
+                         plain=0000000000000000
+                        cipher=9F18BC26634DDF40
+                     decrypted=0000000000000000
+            Iterated 100 times=D688F6A6EB916AA4
+           Iterated 1000 times=EE54E4ABE63BC9B3
+
+Set 1, vector# 11:
+                           key=00100000000000000000
+                         plain=0000000000000000
+                        cipher=7D2CBCF07327C81D
+                     decrypted=0000000000000000
+            Iterated 100 times=D2B71D0650995DA5
+           Iterated 1000 times=96F810A8284866E6
+
+Set 1, vector# 12:
+                           key=00080000000000000000
+                         plain=0000000000000000
+                        cipher=001422283EFD6906
+                     decrypted=0000000000000000
+            Iterated 100 times=32962FF32854BD01
+           Iterated 1000 times=19894E07E2C3D079
+
+Set 1, vector# 13:
+                           key=00040000000000000000
+                         plain=0000000000000000
+                        cipher=386F73B36B145E20
+                     decrypted=0000000000000000
+            Iterated 100 times=374F44CC6738E055
+           Iterated 1000 times=D88511522921B395
+
+Set 1, vector# 14:
+                           key=00020000000000000000
+                         plain=0000000000000000
+                        cipher=C32536640393A0E9
+                     decrypted=0000000000000000
+            Iterated 100 times=72AA47CF489ABC07
+           Iterated 1000 times=5102151D5A00E2EA
+
+Set 1, vector# 15:
+                           key=00010000000000000000
+                         plain=0000000000000000
+                        cipher=507D4FC76F6F34E9
+                     decrypted=0000000000000000
+            Iterated 100 times=F8C32638892E4945
+           Iterated 1000 times=20AC9A8B6778F06E
+
+Set 1, vector# 16:
+                           key=00008000000000000000
+                         plain=0000000000000000
+                        cipher=2E2F1CE1295BA772
+                     decrypted=0000000000000000
+            Iterated 100 times=0E716ECB733F0FA9
+           Iterated 1000 times=8397A0A126EE759C
+
+Set 1, vector# 17:
+                           key=00004000000000000000
+                         plain=0000000000000000
+                        cipher=9EA478C3EF0012A5
+                     decrypted=0000000000000000
+            Iterated 100 times=6725E6799B05AFC6
+           Iterated 1000 times=B8A07F2D56606311
+
+Set 1, vector# 18:
+                           key=00002000000000000000
+                         plain=0000000000000000
+                        cipher=60F4228DB5740DBE
+                     decrypted=0000000000000000
+            Iterated 100 times=FFB173C719045C60
+           Iterated 1000 times=84F9EF18A20007B3
+
+Set 1, vector# 19:
+                           key=00001000000000000000
+                         plain=0000000000000000
+                        cipher=AA06065BFE5C1542
+                     decrypted=0000000000000000
+            Iterated 100 times=CB7900BF628D42CB
+           Iterated 1000 times=90DB73852688157E
+
+Set 1, vector# 20:
+                           key=00000800000000000000
+                         plain=0000000000000000
+                        cipher=9842BA0352A71147
+                     decrypted=0000000000000000
+            Iterated 100 times=979780BBEB6EC532
+           Iterated 1000 times=611435824335DE17
+
+Set 1, vector# 21:
+                           key=00000400000000000000
+                         plain=0000000000000000
+                        cipher=D2A37FCCDFFE62D5
+                     decrypted=0000000000000000
+            Iterated 100 times=21FCA160E90609E9
+           Iterated 1000 times=3A94EE701D013099
+
+Set 1, vector# 22:
+                           key=00000200000000000000
+                         plain=0000000000000000
+                        cipher=0A5F723AFDEC5739
+                     decrypted=0000000000000000
+            Iterated 100 times=C1BA1132EEFED332
+           Iterated 1000 times=BC66DBAEFFA7ADC2
+
+Set 1, vector# 23:
+                           key=00000100000000000000
+                         plain=0000000000000000
+                        cipher=31B3485B46270CBB
+                     decrypted=0000000000000000
+            Iterated 100 times=FC23EB891CEEDAEA
+           Iterated 1000 times=D0D42150CFF81B5A
+
+Set 1, vector# 24:
+                           key=00000080000000000000
+                         plain=0000000000000000
+                        cipher=00FDA4F0F3D4C9AC
+                     decrypted=0000000000000000
+            Iterated 100 times=7D0F6A9369F92EF8
+           Iterated 1000 times=A9807192E3E91B27
+
+Set 1, vector# 25:
+                           key=00000040000000000000
+                         plain=0000000000000000
+                        cipher=90FBF7F218C5C463
+                     decrypted=0000000000000000
+            Iterated 100 times=4D93AD75BE6AD643
+           Iterated 1000 times=BD7D3B7354C16D86
+
+Set 1, vector# 26:
+                           key=00000020000000000000
+                         plain=0000000000000000
+                        cipher=9139E51050B19945
+                     decrypted=0000000000000000
+            Iterated 100 times=C9873B6037FB2598
+           Iterated 1000 times=73D9C71C7E82FF50
+
+Set 1, vector# 27:
+                           key=00000010000000000000
+                         plain=0000000000000000
+                        cipher=D3B4FBC8C753A0F4
+                     decrypted=0000000000000000
+            Iterated 100 times=CD04930A5399C0E2
+           Iterated 1000 times=0A028A1D31C8BA74
+
+Set 1, vector# 28:
+                           key=00000008000000000000
+                         plain=0000000000000000
+                        cipher=983C026CD85747A6
+                     decrypted=0000000000000000
+            Iterated 100 times=470F5818D05D87F3
+           Iterated 1000 times=A3287F504708B19E
+
+Set 1, vector# 29:
+                           key=00000004000000000000
+                         plain=0000000000000000
+                        cipher=F5CA2AA6A02D3636
+                     decrypted=0000000000000000
+            Iterated 100 times=700AF0F7DC7A3FCB
+           Iterated 1000 times=FDCE6F1F47FB1DD7
+
+Set 1, vector# 30:
+                           key=00000002000000000000
+                         plain=0000000000000000
+                        cipher=FA65A8F4766D57BE
+                     decrypted=0000000000000000
+            Iterated 100 times=4F4A2F819753C3CA
+           Iterated 1000 times=4DB1C7DB6A98EEFC
+
+Set 1, vector# 31:
+                           key=00000001000000000000
+                         plain=0000000000000000
+                        cipher=2640C476D5D7167E
+                     decrypted=0000000000000000
+            Iterated 100 times=23EF329110DB9389
+           Iterated 1000 times=7CF049C3C9D33082
+
+Set 1, vector# 32:
+                           key=00000000800000000000
+                         plain=0000000000000000
+                        cipher=C2AE8577767E5043
+                     decrypted=0000000000000000
+            Iterated 100 times=CDC4520881C4C12D
+           Iterated 1000 times=9ED8B969A4593B8A
+
+Set 1, vector# 33:
+                           key=00000000400000000000
+                         plain=0000000000000000
+                        cipher=5C8DF93345B80171
+                     decrypted=0000000000000000
+            Iterated 100 times=2F2F659B5296A5C0
+           Iterated 1000 times=F44003E60B9CFA13
+
+Set 1, vector# 34:
+                           key=00000000200000000000
+                         plain=0000000000000000
+                        cipher=70C735A65D5A6326
+                     decrypted=0000000000000000
+            Iterated 100 times=932D651DC9F48AA5
+           Iterated 1000 times=9A90D04C6024E564
+
+Set 1, vector# 35:
+                           key=00000000100000000000
+                         plain=0000000000000000
+                        cipher=003CA96553823796
+                     decrypted=0000000000000000
+            Iterated 100 times=6754B18C2F1F0B0B
+           Iterated 1000 times=155720068BC13913
+
+Set 1, vector# 36:
+                           key=00000000080000000000
+                         plain=0000000000000000
+                        cipher=A8639F534F24BDCA
+                     decrypted=0000000000000000
+            Iterated 100 times=70AF5EFB3C4AE28C
+           Iterated 1000 times=B3778BE025C4901D
+
+Set 1, vector# 37:
+                           key=00000000040000000000
+                         plain=0000000000000000
+                        cipher=CD5B1301497D2475
+                     decrypted=0000000000000000
+            Iterated 100 times=9C1D1A73A14734F9
+           Iterated 1000 times=6FD17A85D7FDB43E
+
+Set 1, vector# 38:
+                           key=00000000020000000000
+                         plain=0000000000000000
+                        cipher=DCE49D2B5A43255C
+                     decrypted=0000000000000000
+            Iterated 100 times=4D1E6DD329E866B1
+           Iterated 1000 times=88D8F79230BBE8CB
+
+Set 1, vector# 39:
+                           key=00000000010000000000
+                         plain=0000000000000000
+                        cipher=D298B7447B3B2BBA
+                     decrypted=0000000000000000
+            Iterated 100 times=B94B50B664B39D3F
+           Iterated 1000 times=C82FC9D21C0484AA
+
+Set 1, vector# 40:
+                           key=00000000008000000000
+                         plain=0000000000000000
+                        cipher=FA2BC43C45FF9190
+                     decrypted=0000000000000000
+            Iterated 100 times=57BABB0DC7F90A8E
+           Iterated 1000 times=F5DC5F38FFD271A7
+
+Set 1, vector# 41:
+                           key=00000000004000000000
+                         plain=0000000000000000
+                        cipher=67752B9A504C522F
+                     decrypted=0000000000000000
+            Iterated 100 times=E58CC241C0C206B9
+           Iterated 1000 times=6FE8D3BB14221871
+
+Set 1, vector# 42:
+                           key=00000000002000000000
+                         plain=0000000000000000
+                        cipher=DD0495E639F5C22E
+                     decrypted=0000000000000000
+            Iterated 100 times=F2556D9701B63680
+           Iterated 1000 times=62D9AB1800C599D3
+
+Set 1, vector# 43:
+                           key=00000000001000000000
+                         plain=0000000000000000
+                        cipher=70E9938D8ADF3A85
+                     decrypted=0000000000000000
+            Iterated 100 times=0087EDDBC5A8DD66
+           Iterated 1000 times=A10CACCA85CA57CC
+
+Set 1, vector# 44:
+                           key=00000000000800000000
+                         plain=0000000000000000
+                        cipher=8C648F47412224C4
+                     decrypted=0000000000000000
+            Iterated 100 times=6FB8CB42D3D190C0
+           Iterated 1000 times=EC0BE24CDEC4F30C
+
+Set 1, vector# 45:
+                           key=00000000000400000000
+                         plain=0000000000000000
+                        cipher=03F1B4057AAD7D76
+                     decrypted=0000000000000000
+            Iterated 100 times=E8A9843B8C5361BB
+           Iterated 1000 times=C2F45EF11D85A641
+
+Set 1, vector# 46:
+                           key=00000000000200000000
+                         plain=0000000000000000
+                        cipher=591CF36B97BCB0F5
+                     decrypted=0000000000000000
+            Iterated 100 times=507767515E0A9834
+           Iterated 1000 times=70FB4BA39F35B5CF
+
+Set 1, vector# 47:
+                           key=00000000000100000000
+                         plain=0000000000000000
+                        cipher=D48F08396D09620D
+                     decrypted=0000000000000000
+            Iterated 100 times=62891C37CDCEDF57
+           Iterated 1000 times=0725A764D71B41C6
+
+Set 1, vector# 48:
+                           key=00000000000080000000
+                         plain=0000000000000000
+                        cipher=8CFDE64F3D80D3A6
+                     decrypted=0000000000000000
+            Iterated 100 times=6F0FCE53A5537430
+           Iterated 1000 times=1BEFEE83CF2F9C9E
+
+Set 1, vector# 49:
+                           key=00000000000040000000
+                         plain=0000000000000000
+                        cipher=7B3631A34CEB0803
+                     decrypted=0000000000000000
+            Iterated 100 times=4CC310C86AD67B1D
+           Iterated 1000 times=FCB8E366DD9ECBAD
+
+Set 1, vector# 50:
+                           key=00000000000020000000
+                         plain=0000000000000000
+                        cipher=0CB293956BD5A71D
+                     decrypted=0000000000000000
+            Iterated 100 times=D74C9F167EB11B92
+           Iterated 1000 times=ED7BD3DDDD824E07
+
+Set 1, vector# 51:
+                           key=00000000000010000000
+                         plain=0000000000000000
+                        cipher=F37EDE3B36021605
+                     decrypted=0000000000000000
+            Iterated 100 times=FFCFBC36C69AC348
+           Iterated 1000 times=8DAA6A6E245E0F24
+
+Set 1, vector# 52:
+                           key=00000000000008000000
+                         plain=0000000000000000
+                        cipher=FF8BFE4C29FF92BE
+                     decrypted=0000000000000000
+            Iterated 100 times=88E739D0D5C36DF4
+           Iterated 1000 times=76093EAF1C1ADB58
+
+Set 1, vector# 53:
+                           key=00000000000004000000
+                         plain=0000000000000000
+                        cipher=784D7BD8B088C015
+                     decrypted=0000000000000000
+            Iterated 100 times=56A7C169778387DA
+           Iterated 1000 times=43A5BCA3A6384BB1
+
+Set 1, vector# 54:
+                           key=00000000000002000000
+                         plain=0000000000000000
+                        cipher=F52C5BDB48F3D05F
+                     decrypted=0000000000000000
+            Iterated 100 times=8E17689C0C684409
+           Iterated 1000 times=65155C1CC1224401
+
+Set 1, vector# 55:
+                           key=00000000000001000000
+                         plain=0000000000000000
+                        cipher=2D899988F65DE388
+                     decrypted=0000000000000000
+            Iterated 100 times=6A0A1BAA9D925267
+           Iterated 1000 times=9015AED32F1EE2F0
+
+Set 1, vector# 56:
+                           key=00000000000000800000
+                         plain=0000000000000000
+                        cipher=FCF6FA3BA5FB42DD
+                     decrypted=0000000000000000
+            Iterated 100 times=BA3689A1006CE73E
+           Iterated 1000 times=0EDCD06031833A1C
+
+Set 1, vector# 57:
+                           key=00000000000000400000
+                         plain=0000000000000000
+                        cipher=550A6E1C3FEBEA4F
+                     decrypted=0000000000000000
+            Iterated 100 times=4F1CBDE4D0EEFD53
+           Iterated 1000 times=2042FB1051764CF3
+
+Set 1, vector# 58:
+                           key=00000000000000200000
+                         plain=0000000000000000
+                        cipher=603950F31FD6A54A
+                     decrypted=0000000000000000
+            Iterated 100 times=52F3254E27BBFC57
+           Iterated 1000 times=C230BF194709D38F
+
+Set 1, vector# 59:
+                           key=00000000000000100000
+                         plain=0000000000000000
+                        cipher=2D8C7053F3E5270D
+                     decrypted=0000000000000000
+            Iterated 100 times=C7D14D5EF61705C5
+           Iterated 1000 times=9320D99F792FA227
+
+Set 1, vector# 60:
+                           key=00000000000000080000
+                         plain=0000000000000000
+                        cipher=8335EDA76F529337
+                     decrypted=0000000000000000
+            Iterated 100 times=55E54AC7558D2C22
+           Iterated 1000 times=31BFB897FAF9905F
+
+Set 1, vector# 61:
+                           key=00000000000000040000
+                         plain=0000000000000000
+                        cipher=9671F3D4CE336A07
+                     decrypted=0000000000000000
+            Iterated 100 times=DFDC388CDE2C362A
+           Iterated 1000 times=ECD2328B0AA0955E
+
+Set 1, vector# 62:
+                           key=00000000000000020000
+                         plain=0000000000000000
+                        cipher=7B5253BFE8D80428
+                     decrypted=0000000000000000
+            Iterated 100 times=FD691F5121CB3296
+           Iterated 1000 times=B048DFC50E07FAB8
+
+Set 1, vector# 63:
+                           key=00000000000000010000
+                         plain=0000000000000000
+                        cipher=8C5A135CA9E8A748
+                     decrypted=0000000000000000
+            Iterated 100 times=527B848F370D9329
+           Iterated 1000 times=623DF142F9BE1225
+
+Set 1, vector# 64:
+                           key=00000000000000008000
+                         plain=0000000000000000
+                        cipher=E112F4C6166B86F5
+                     decrypted=0000000000000000
+            Iterated 100 times=4DF7C28B5E8E4810
+           Iterated 1000 times=5DC3251036660604
+
+Set 1, vector# 65:
+                           key=00000000000000004000
+                         plain=0000000000000000
+                        cipher=7EEB2E7A7D8D0F92
+                     decrypted=0000000000000000
+            Iterated 100 times=47F1D65842330632
+           Iterated 1000 times=D7DF687976A885F3
+
+Set 1, vector# 66:
+                           key=00000000000000002000
+                         plain=0000000000000000
+                        cipher=0A0D8FA68CAB668A
+                     decrypted=0000000000000000
+            Iterated 100 times=98BC806BA00D9481
+           Iterated 1000 times=4A415B34BA828B87
+
+Set 1, vector# 67:
+                           key=00000000000000001000
+                         plain=0000000000000000
+                        cipher=646AB0FE802864E5
+                     decrypted=0000000000000000
+            Iterated 100 times=70D77730F1FA57C1
+           Iterated 1000 times=8560F7764CD23154
+
+Set 1, vector# 68:
+                           key=00000000000000000800
+                         plain=0000000000000000
+                        cipher=4F20A83C36F31DD0
+                     decrypted=0000000000000000
+            Iterated 100 times=AF41EED8B4776327
+           Iterated 1000 times=7A19E4ADD5AC7302
+
+Set 1, vector# 69:
+                           key=00000000000000000400
+                         plain=0000000000000000
+                        cipher=B02085B152F190BE
+                     decrypted=0000000000000000
+            Iterated 100 times=77662205A1DC3B70
+           Iterated 1000 times=7618324E0A3B461D
+
+Set 1, vector# 70:
+                           key=00000000000000000200
+                         plain=0000000000000000
+                        cipher=B06BC8BBBD63327D
+                     decrypted=0000000000000000
+            Iterated 100 times=7425D09EE576E2A3
+           Iterated 1000 times=C9EC38CB50A1533C
+
+Set 1, vector# 71:
+                           key=00000000000000000100
+                         plain=0000000000000000
+                        cipher=CE13E63A30276736
+                     decrypted=0000000000000000
+            Iterated 100 times=215C7650834C7248
+           Iterated 1000 times=D746FB581CBF45A7
+
+Set 1, vector# 72:
+                           key=00000000000000000080
+                         plain=0000000000000000
+                        cipher=60D84E0345A4CBDD
+                     decrypted=0000000000000000
+            Iterated 100 times=475C8DF6C3734A16
+           Iterated 1000 times=999F5259D3F7B18E
+
+Set 1, vector# 73:
+                           key=00000000000000000040
+                         plain=0000000000000000
+                        cipher=22C88C4232EE4FF5
+                     decrypted=0000000000000000
+            Iterated 100 times=B84BD0CB59633F10
+           Iterated 1000 times=0D9181B45301EF71
+
+Set 1, vector# 74:
+                           key=00000000000000000020
+                         plain=0000000000000000
+                        cipher=26F5101FC4112AD1
+                     decrypted=0000000000000000
+            Iterated 100 times=5F0495D9C210EAD8
+           Iterated 1000 times=26B7EC3D0FEB2CCF
+
+Set 1, vector# 75:
+                           key=00000000000000000010
+                         plain=0000000000000000
+                        cipher=516C10880EEB5079
+                     decrypted=0000000000000000
+            Iterated 100 times=3198D7F106F77B68
+           Iterated 1000 times=45EEFC53F445DCA0
+
+Set 1, vector# 76:
+                           key=00000000000000000008
+                         plain=0000000000000000
+                        cipher=928A51DAF4F4B602
+                     decrypted=0000000000000000
+            Iterated 100 times=1002326C73D5CB13
+           Iterated 1000 times=AF217E20D8405314
+
+Set 1, vector# 77:
+                           key=00000000000000000004
+                         plain=0000000000000000
+                        cipher=ECF1C93C21F0F1FA
+                     decrypted=0000000000000000
+            Iterated 100 times=82DBFAF67C605732
+           Iterated 1000 times=FF6D491B1DAA7C4E
+
+Set 1, vector# 78:
+                           key=00000000000000000002
+                         plain=0000000000000000
+                        cipher=39762F1E7170351B
+                     decrypted=0000000000000000
+            Iterated 100 times=49A3BF6FD94944B6
+           Iterated 1000 times=F2F312FCFB996804
+
+Set 1, vector# 79:
+                           key=00000000000000000001
+                         plain=0000000000000000
+                        cipher=11B37CEBD24A2E2C
+                     decrypted=0000000000000000
+            Iterated 100 times=3E7DEE746EC1BD52
+           Iterated 1000 times=F1CD37B385B5A25E
+
+Test vectors -- set 2
+=====================
+
+Set 2, vector#  0:
+                           key=00000000000000000000
+                         plain=8000000000000000
+                        cipher=B8653EFD0966AF14
+                     decrypted=8000000000000000
+            Iterated 100 times=F4745D2151E668A4
+           Iterated 1000 times=3AB270B049CBA231
+
+Set 2, vector#  1:
+                           key=00000000000000000000
+                         plain=4000000000000000
+                        cipher=21B773B4E3B38E24
+                     decrypted=4000000000000000
+            Iterated 100 times=906F68F67EE04E39
+           Iterated 1000 times=94AFF7BF62CADB24
+
+Set 2, vector#  2:
+                           key=00000000000000000000
+                         plain=2000000000000000
+                        cipher=C0DCBDF01C582028
+                     decrypted=2000000000000000
+            Iterated 100 times=7B7490CCD297A82F
+           Iterated 1000 times=2949D10A61D65849
+
+Set 2, vector#  3:
+                           key=00000000000000000000
+                         plain=1000000000000000
+                        cipher=7E58C8DC78110960
+                     decrypted=1000000000000000
+            Iterated 100 times=B148687DE5029020
+           Iterated 1000 times=7E0B84262595854B
+
+Set 2, vector#  4:
+                           key=00000000000000000000
+                         plain=0800000000000000
+                        cipher=D7CC75FB7C642FE0
+                     decrypted=0800000000000000
+            Iterated 100 times=D85DBE0B73C81F18
+           Iterated 1000 times=EC0A6F7D599CC8B4
+
+Set 2, vector#  5:
+                           key=00000000000000000000
+                         plain=0400000000000000
+                        cipher=7910615BCFBDCA40
+                     decrypted=0400000000000000
+            Iterated 100 times=67780242273D72BB
+           Iterated 1000 times=9C8224542510945A
+
+Set 2, vector#  6:
+                           key=00000000000000000000
+                         plain=0200000000000000
+                        cipher=FC47757C7BCB826C
+                     decrypted=0200000000000000
+            Iterated 100 times=82DE945D58D2FC0B
+           Iterated 1000 times=99E3C5371AF4435A
+
+Set 2, vector#  7:
+                           key=00000000000000000000
+                         plain=0100000000000000
+                        cipher=E07B245F4100F2F6
+                     decrypted=0100000000000000
+            Iterated 100 times=9CD295EF914A9736
+           Iterated 1000 times=6FFB834EA52B913B
+
+Set 2, vector#  8:
+                           key=00000000000000000000
+                         plain=0080000000000000
+                        cipher=2DBE9F44D636A6A1
+                     decrypted=0080000000000000
+            Iterated 100 times=96D3B9E45DF6D546
+           Iterated 1000 times=3BE633818A5BEB20
+
+Set 2, vector#  9:
+                           key=00000000000000000000
+                         plain=0040000000000000
+                        cipher=E917C55370C31594
+                     decrypted=0040000000000000
+            Iterated 100 times=C4138AE18902FE44
+           Iterated 1000 times=71332D41E3D389F8
+
+Set 2, vector# 10:
+                           key=00000000000000000000
+                         plain=0020000000000000
+                        cipher=41CE61FEF00AC6FE
+                     decrypted=0020000000000000
+            Iterated 100 times=2EAFC0439E4DFC16
+           Iterated 1000 times=08DF31F8B560C577
+
+Set 2, vector# 11:
+                           key=00000000000000000000
+                         plain=0010000000000000
+                        cipher=34169C48F9BE49C0
+                     decrypted=0010000000000000
+            Iterated 100 times=4EFA3616C17E1357
+           Iterated 1000 times=F176896416A98DBD
+
+Set 2, vector# 12:
+                           key=00000000000000000000
+                         plain=0008000000000000
+                        cipher=B1ED9F49DAB9EA60
+                     decrypted=0008000000000000
+            Iterated 100 times=5C438B9CB966BB62
+           Iterated 1000 times=83A91024FA153D6F
+
+Set 2, vector# 13:
+                           key=00000000000000000000
+                         plain=0004000000000000
+                        cipher=CCC4384A7B9E332A
+                     decrypted=0004000000000000
+            Iterated 100 times=2247E7810418EDB6
+           Iterated 1000 times=23981FB4EBDB9461
+
+Set 2, vector# 14:
+                           key=00000000000000000000
+                         plain=0002000000000000
+                        cipher=E384CF9BE6223E7C
+                     decrypted=0002000000000000
+            Iterated 100 times=63AAC3203ABEC6C7
+           Iterated 1000 times=5F91FDF8DB840C6A
+
+Set 2, vector# 15:
+                           key=00000000000000000000
+                         plain=0001000000000000
+                        cipher=88F170078E9E527F
+                     decrypted=0001000000000000
+            Iterated 100 times=E598A29D578C7D2F
+           Iterated 1000 times=C2F97DC790223322
+
+Set 2, vector# 16:
+                           key=00000000000000000000
+                         plain=0000800000000000
+                        cipher=CF66594612414371
+                     decrypted=0000800000000000
+            Iterated 100 times=524123F44EF2648A
+           Iterated 1000 times=22BEF5C4A429788A
+
+Set 2, vector# 17:
+                           key=00000000000000000000
+                         plain=0000400000000000
+                        cipher=5CE19798848BBFE1
+                     decrypted=0000400000000000
+            Iterated 100 times=40098AA38F86CAE3
+           Iterated 1000 times=D16074809D1B60B5
+
+Set 2, vector# 18:
+                           key=00000000000000000000
+                         plain=0000200000000000
+                        cipher=FF685A31DD36A2CB
+                     decrypted=0000200000000000
+            Iterated 100 times=0CE8458F128117CF
+           Iterated 1000 times=40896C32D8C5CEDB
+
+Set 2, vector# 19:
+                           key=00000000000000000000
+                         plain=0000100000000000
+                        cipher=DFBF2B9B90E8DE15
+                     decrypted=0000100000000000
+            Iterated 100 times=EAEAD3BAFB4B50AC
+           Iterated 1000 times=01023883C9ED22E5
+
+Set 2, vector# 20:
+                           key=00000000000000000000
+                         plain=0000080000000000
+                        cipher=3DA378DF90688743
+                     decrypted=0000080000000000
+            Iterated 100 times=47C5C98DF1784458
+           Iterated 1000 times=03877FBD1EB7A974
+
+Set 2, vector# 21:
+                           key=00000000000000000000
+                         plain=0000040000000000
+                        cipher=6D91E9BAC8008AB7
+                     decrypted=0000040000000000
+            Iterated 100 times=1A5E2CB8F1D2561A
+           Iterated 1000 times=68F198BA0AE7A4F9
+
+Set 2, vector# 22:
+                           key=00000000000000000000
+                         plain=0000020000000000
+                        cipher=6BBECB87E661CF9C
+                     decrypted=0000020000000000
+            Iterated 100 times=B5D4AC4A43FB7D3B
+           Iterated 1000 times=7659CD18A30E3A78
+
+Set 2, vector# 23:
+                           key=00000000000000000000
+                         plain=0000010000000000
+                        cipher=1C9973EFFF9A9F99
+                     decrypted=0000010000000000
+            Iterated 100 times=2D3A8BAF4B7905B0
+           Iterated 1000 times=5937378B3BDC14AE
+
+Set 2, vector# 24:
+                           key=00000000000000000000
+                         plain=0000008000000000
+                        cipher=BD42C1FEBA7596D9
+                     decrypted=0000008000000000
+            Iterated 100 times=2E1D5D6FC07F18C9
+           Iterated 1000 times=13996013DAAE6A3C
+
+Set 2, vector# 25:
+                           key=00000000000000000000
+                         plain=0000004000000000
+                        cipher=836C43DE1A9130AE
+                     decrypted=0000004000000000
+            Iterated 100 times=2C446649DAFC3872
+           Iterated 1000 times=A080E9EA48D0A8D6
+
+Set 2, vector# 26:
+                           key=00000000000000000000
+                         plain=0000002000000000
+                        cipher=9A986400736F54EB
+                     decrypted=0000002000000000
+            Iterated 100 times=4C07EACBA7817BCF
+           Iterated 1000 times=2A44D7FB090D78D3
+
+Set 2, vector# 27:
+                           key=00000000000000000000
+                         plain=0000001000000000
+                        cipher=94EE4C5AFF16B716
+                     decrypted=0000001000000000
+            Iterated 100 times=369CAE5CDB15DFD3
+           Iterated 1000 times=B212664970A7F344
+
+Set 2, vector# 28:
+                           key=00000000000000000000
+                         plain=0000000800000000
+                        cipher=D8C40400ED033937
+                     decrypted=0000000800000000
+            Iterated 100 times=6CF5D57BC4275BF5
+           Iterated 1000 times=B787B288C15FBFA2
+
+Set 2, vector# 29:
+                           key=00000000000000000000
+                         plain=0000000400000000
+                        cipher=A62F4045F71DA841
+                     decrypted=0000000400000000
+            Iterated 100 times=7D2FBAD310E18AED
+           Iterated 1000 times=B5979AD102FA8652
+
+Set 2, vector# 30:
+                           key=00000000000000000000
+                         plain=0000000200000000
+                        cipher=85555CCF4EB03BA0
+                     decrypted=0000000200000000
+            Iterated 100 times=CBC15A30655CE3CF
+           Iterated 1000 times=2DEB4035A29114F3
+
+Set 2, vector# 31:
+                           key=00000000000000000000
+                         plain=0000000100000000
+                        cipher=6992D519F0DEC3B0
+                     decrypted=0000000100000000
+            Iterated 100 times=61FBEABBFA75077D
+           Iterated 1000 times=12ED2F2D778DEFE0
+
+Set 2, vector# 32:
+                           key=00000000000000000000
+                         plain=0000000080000000
+                        cipher=CD490BDD23B2B49E
+                     decrypted=0000000080000000
+            Iterated 100 times=65F2A2EB9AE86895
+           Iterated 1000 times=DF67ECE79EFC7011
+
+Set 2, vector# 33:
+                           key=00000000000000000000
+                         plain=0000000040000000
+                        cipher=FF0D9BC7C259C8EA
+                     decrypted=0000000040000000
+            Iterated 100 times=4E44131B4B71F123
+           Iterated 1000 times=1479C1A66F8496FC
+
+Set 2, vector# 34:
+                           key=00000000000000000000
+                         plain=0000000020000000
+                        cipher=03A6C933859E0CC6
+                     decrypted=0000000020000000
+            Iterated 100 times=F1F3A7C180A9AEF1
+           Iterated 1000 times=477450F6F3138C7A
+
+Set 2, vector# 35:
+                           key=00000000000000000000
+                         plain=0000000010000000
+                        cipher=BEFCA37E00372B74
+                     decrypted=0000000010000000
+            Iterated 100 times=9C71E744FB0ED125
+           Iterated 1000 times=9D4585F6F565857F
+
+Set 2, vector# 36:
+                           key=00000000000000000000
+                         plain=0000000008000000
+                        cipher=2019D38B377522DC
+                     decrypted=0000000008000000
+            Iterated 100 times=784797A1E1EAECCE
+           Iterated 1000 times=E03720A5C7FD61CB
+
+Set 2, vector# 37:
+                           key=00000000000000000000
+                         plain=0000000004000000
+                        cipher=BF9D16DC1265A6F0
+                     decrypted=0000000004000000
+            Iterated 100 times=44054D45CE695A1C
+           Iterated 1000 times=BC4A5425A0F48223
+
+Set 2, vector# 38:
+                           key=00000000000000000000
+                         plain=0000000002000000
+                        cipher=41BB5B1063CF7C43
+                     decrypted=0000000002000000
+            Iterated 100 times=3292E2D40C277804
+           Iterated 1000 times=BBA13A55972837D6
+
+Set 2, vector# 39:
+                           key=00000000000000000000
+                         plain=0000000001000000
+                        cipher=03D3C76B898D41DF
+                     decrypted=0000000001000000
+            Iterated 100 times=68949F7E955AD83A
+           Iterated 1000 times=F915334016BCB4DC
+
+Set 2, vector# 40:
+                           key=00000000000000000000
+                         plain=0000000000800000
+                        cipher=43969BB1BCAEF931
+                     decrypted=0000000000800000
+            Iterated 100 times=67AD5558B9506BE7
+           Iterated 1000 times=61E6E1E2F48569C2
+
+Set 2, vector# 41:
+                           key=00000000000000000000
+                         plain=0000000000400000
+                        cipher=F6ED4E63D9135B0B
+                     decrypted=0000000000400000
+            Iterated 100 times=90DCEB0112020C4E
+           Iterated 1000 times=09BED9811E6955D9
+
+Set 2, vector# 42:
+                           key=00000000000000000000
+                         plain=0000000000200000
+                        cipher=8805DF6A56904D79
+                     decrypted=0000000000200000
+            Iterated 100 times=C91F607A1F582F14
+           Iterated 1000 times=E21F3A35D1FA2F0E
+
+Set 2, vector# 43:
+                           key=00000000000000000000
+                         plain=0000000000100000
+                        cipher=C3D86CC13A38FD09
+                     decrypted=0000000000100000
+            Iterated 100 times=FF5EF4D961BECE2F
+           Iterated 1000 times=EF304356DF7B4912
+
+Set 2, vector# 44:
+                           key=00000000000000000000
+                         plain=0000000000080000
+                        cipher=C070A02E07782035
+                     decrypted=0000000000080000
+            Iterated 100 times=3E342A95A4F87C4F
+           Iterated 1000 times=BE7E03EE11883086
+
+Set 2, vector# 45:
+                           key=00000000000000000000
+                         plain=0000000000040000
+                        cipher=84E4604943C8554D
+                     decrypted=0000000000040000
+            Iterated 100 times=5EF78CB52707983E
+           Iterated 1000 times=18831B372A8AE6D2
+
+Set 2, vector# 46:
+                           key=00000000000000000000
+                         plain=0000000000020000
+                        cipher=2F13E8A2D33219EE
+                     decrypted=0000000000020000
+            Iterated 100 times=02DD893F8C737DBE
+           Iterated 1000 times=6ACD7968400E0CCD
+
+Set 2, vector# 47:
+                           key=00000000000000000000
+                         plain=0000000000010000
+                        cipher=6CBE947276CE6544
+                     decrypted=0000000000010000
+            Iterated 100 times=08E9F1270BCBDB6B
+           Iterated 1000 times=266D619279AA21BB
+
+Set 2, vector# 48:
+                           key=00000000000000000000
+                         plain=0000000000008000
+                        cipher=336CDFC47EF5D4BE
+                     decrypted=0000000000008000
+            Iterated 100 times=40A4BD1C088AFE3B
+           Iterated 1000 times=AA7FFBA251D20561
+
+Set 2, vector# 49:
+                           key=00000000000000000000
+                         plain=0000000000004000
+                        cipher=8C269BB95CB6F3D6
+                     decrypted=0000000000004000
+            Iterated 100 times=CBD0B53C14BEE3F5
+           Iterated 1000 times=C51E40CC09F822DF
+
+Set 2, vector# 50:
+                           key=00000000000000000000
+                         plain=0000000000002000
+                        cipher=8C9AE45C1E92448C
+                     decrypted=0000000000002000
+            Iterated 100 times=33640E15569F8E60
+           Iterated 1000 times=C77F746A565830DB
+
+Set 2, vector# 51:
+                           key=00000000000000000000
+                         plain=0000000000001000
+                        cipher=5A5126782B8F548F
+                     decrypted=0000000000001000
+            Iterated 100 times=3CC7E5327A1D220C
+           Iterated 1000 times=8F9CA8DB4D228110
+
+Set 2, vector# 52:
+                           key=00000000000000000000
+                         plain=0000000000000800
+                        cipher=0146050EFD5B0E96
+                     decrypted=0000000000000800
+            Iterated 100 times=AA86DCE7F76D275D
+           Iterated 1000 times=E28AD161098FB1C6
+
+Set 2, vector# 53:
+                           key=00000000000000000000
+                         plain=0000000000000400
+                        cipher=9638B2DC7A14608E
+                     decrypted=0000000000000400
+            Iterated 100 times=91D4BF9D42CB90F6
+           Iterated 1000 times=7DC84156EE1DF5C9
+
+Set 2, vector# 54:
+                           key=00000000000000000000
+                         plain=0000000000000200
+                        cipher=0739A3E9FB2CAC2D
+                     decrypted=0000000000000200
+            Iterated 100 times=36D5C928CF019B6A
+           Iterated 1000 times=2B2E36E66776A470
+
+Set 2, vector# 55:
+                           key=00000000000000000000
+                         plain=0000000000000100
+                        cipher=9FB94F005BD4598B
+                     decrypted=0000000000000100
+            Iterated 100 times=FED3BE55DF687D13
+           Iterated 1000 times=E187B679D682B444
+
+Set 2, vector# 56:
+                           key=00000000000000000000
+                         plain=0000000000000080
+                        cipher=01CB59EA9662F5DC
+                     decrypted=0000000000000080
+            Iterated 100 times=A829CF42983E7BDE
+           Iterated 1000 times=3026DBBBD423DB18
+
+Set 2, vector# 57:
+                           key=00000000000000000000
+                         plain=0000000000000040
+                        cipher=C1E66117757D31AA
+                     decrypted=0000000000000040
+            Iterated 100 times=3FF3821D7399924D
+           Iterated 1000 times=9A54FFCDCF4D6B0E
+
+Set 2, vector# 58:
+                           key=00000000000000000000
+                         plain=0000000000000020
+                        cipher=602918E62B240FAA
+                     decrypted=0000000000000020
+            Iterated 100 times=6EF14CF255C2D49C
+           Iterated 1000 times=85C2711700C7BB35
+
+Set 2, vector# 59:
+                           key=00000000000000000000
+                         plain=0000000000000010
+                        cipher=C9865CA4433345F1
+                     decrypted=0000000000000010
+            Iterated 100 times=2CF6B751587133D3
+           Iterated 1000 times=79E1B861C20A6F14
+
+Set 2, vector# 60:
+                           key=00000000000000000000
+                         plain=0000000000000008
+                        cipher=2125885D9252A9F6
+                     decrypted=0000000000000008
+            Iterated 100 times=99255C94A830BC02
+           Iterated 1000 times=3CD82896CA1ED603
+
+Set 2, vector# 61:
+                           key=00000000000000000000
+                         plain=0000000000000004
+                        cipher=1E58E5099477A7BC
+                     decrypted=0000000000000004
+            Iterated 100 times=FC6DA48A9AEEA87B
+           Iterated 1000 times=2CEBCC566F3D410B
+
+Set 2, vector# 62:
+                           key=00000000000000000000
+                         plain=0000000000000002
+                        cipher=E4612CB7AE919C90
+                     decrypted=0000000000000002
+            Iterated 100 times=3C5BF9888EE19CCF
+           Iterated 1000 times=83AAE7F90A6AC65B
+
+Set 2, vector# 63:
+                           key=00000000000000000000
+                         plain=0000000000000001
+                        cipher=38CBDC863843C72F
+                     decrypted=0000000000000001
+            Iterated 100 times=66A64BC2AA4EAEC8
+           Iterated 1000 times=301B3223F7588D75
+
+Test vectors -- set 3
+=====================
+
+Set 3, vector#  0:
+                           key=00000000000000000000
+                         plain=0000000000000000
+                        cipher=5579C1387B228445
+                     decrypted=0000000000000000
+            Iterated 100 times=03144AE03D543F5B
+           Iterated 1000 times=D035A8993E4EC2C3
+
+Set 3, vector#  1:
+                           key=01010101010101010101
+                         plain=0101010101010101
+                        cipher=6BF0BF5EF003F6E2
+                     decrypted=0101010101010101
+            Iterated 100 times=CBE5AF17BA7F5F6E
+           Iterated 1000 times=62063D7F909E986B
+
+Set 3, vector#  2:
+                           key=02020202020202020202
+                         plain=0202020202020202
+                        cipher=E423F1B296DCD500
+                     decrypted=0202020202020202
+            Iterated 100 times=B4B32ADBE4D49093
+           Iterated 1000 times=48C275AF8E4E5E55
+
+Set 3, vector#  3:
+                           key=03030303030303030303
+                         plain=0303030303030303
+                        cipher=76704AF051A42B54
+                     decrypted=0303030303030303
+            Iterated 100 times=1F78EB86EAB69B9A
+           Iterated 1000 times=A0317BB45CE4AE04
+
+Set 3, vector#  4:
+                           key=04040404040404040404
+                         plain=0404040404040404
+                        cipher=27404FEC88390DE2
+                     decrypted=0404040404040404
+            Iterated 100 times=33E72689267C4B73
+           Iterated 1000 times=93572F55C601BD18
+
+Set 3, vector#  5:
+                           key=05050505050505050505
+                         plain=0505050505050505
+                        cipher=DC0EA4EA3C888236
+                     decrypted=0505050505050505
+            Iterated 100 times=128BC252DCAA3BF4
+           Iterated 1000 times=CDF99662E232B402
+
+Set 3, vector#  6:
+                           key=06060606060606060606
+                         plain=0606060606060606
+                        cipher=B062AB3DCCBBC20C
+                     decrypted=0606060606060606
+            Iterated 100 times=F3369BC3C82DFB70
+           Iterated 1000 times=F60A41511BFD6117
+
+Set 3, vector#  7:
+                           key=07070707070707070707
+                         plain=0707070707070707
+                        cipher=DC4E4905DCB45542
+                     decrypted=0707070707070707
+            Iterated 100 times=D298B8E0A59C61B0
+           Iterated 1000 times=00D95017F762FD33
+
+Set 3, vector#  8:
+                           key=08080808080808080808
+                         plain=0808080808080808
+                        cipher=131487AB3D193416
+                     decrypted=0808080808080808
+            Iterated 100 times=650C146D6DB043FD
+           Iterated 1000 times=906B78CDCE17C0A8
+
+Set 3, vector#  9:
+                           key=09090909090909090909
+                         plain=0909090909090909
+                        cipher=F6CECD3334555EFF
+                     decrypted=0909090909090909
+            Iterated 100 times=84A6854AA2BFB412
+           Iterated 1000 times=E312AA3CDE4A51CF
+
+Set 3, vector# 10:
+                           key=0A0A0A0A0A0A0A0A0A0A
+                         plain=0A0A0A0A0A0A0A0A
+                        cipher=25B6F2515561C969
+                     decrypted=0A0A0A0A0A0A0A0A
+            Iterated 100 times=64C0C23911D50B0B
+           Iterated 1000 times=289341778612D04D
+
+Set 3, vector# 11:
+                           key=0B0B0B0B0B0B0B0B0B0B
+                         plain=0B0B0B0B0B0B0B0B
+                        cipher=D508A5F55B7CD226
+                     decrypted=0B0B0B0B0B0B0B0B
+            Iterated 100 times=B9F2D107C4F67583
+           Iterated 1000 times=08EA88BE5689FE9C
+
+Set 3, vector# 12:
+                           key=0C0C0C0C0C0C0C0C0C0C
+                         plain=0C0C0C0C0C0C0C0C
+                        cipher=B8F62739C0590453
+                     decrypted=0C0C0C0C0C0C0C0C
+            Iterated 100 times=512A9B7B36DAB412
+           Iterated 1000 times=FC62E9333F2E6CBF
+
+Set 3, vector# 13:
+                           key=0D0D0D0D0D0D0D0D0D0D
+                         plain=0D0D0D0D0D0D0D0D
+                        cipher=2BAB9E39045D8045
+                     decrypted=0D0D0D0D0D0D0D0D
+            Iterated 100 times=9B920A9C81CF41CC
+           Iterated 1000 times=1EB6FC18CC18C567
+
+Set 3, vector# 14:
+                           key=0E0E0E0E0E0E0E0E0E0E
+                         plain=0E0E0E0E0E0E0E0E
+                        cipher=69BAA89967E5831B
+                     decrypted=0E0E0E0E0E0E0E0E
+            Iterated 100 times=B4815D4C1E462E27
+           Iterated 1000 times=47AA52B1A36ECAC2
+
+Set 3, vector# 15:
+                           key=0F0F0F0F0F0F0F0F0F0F
+                         plain=0F0F0F0F0F0F0F0F
+                        cipher=F85F40B6F98F3C7E
+                     decrypted=0F0F0F0F0F0F0F0F
+            Iterated 100 times=52E4F6D1DE77C8F2
+           Iterated 1000 times=31381BAA15AA3C3B
+
+Set 3, vector# 16:
+                           key=10101010101010101010
+                         plain=1010101010101010
+                        cipher=25CD6DC7B57AD18B
+                     decrypted=1010101010101010
+            Iterated 100 times=624671CFA7558402
+           Iterated 1000 times=BA831BC5E08DAB6A
+
+Set 3, vector# 17:
+                           key=11111111111111111111
+                         plain=1111111111111111
+                        cipher=1EAA0952F3CDDBDA
+                     decrypted=1111111111111111
+            Iterated 100 times=86FEFA0007260836
+           Iterated 1000 times=81AFA7A1088F4F20
+
+Set 3, vector# 18:
+                           key=12121212121212121212
+                         plain=1212121212121212
+                        cipher=56971039149BAC05
+                     decrypted=1212121212121212
+            Iterated 100 times=0D372D544C81F5A3
+           Iterated 1000 times=CD6CE28CE1BAAFF1
+
+Set 3, vector# 19:
+                           key=13131313131313131313
+                         plain=1313131313131313
+                        cipher=8162B91CBD4EEAE6
+                     decrypted=1313131313131313
+            Iterated 100 times=4E19635E634FE0E6
+           Iterated 1000 times=F76652268B4CA13F
+
+Set 3, vector# 20:
+                           key=14141414141414141414
+                         plain=1414141414141414
+                        cipher=2E91191AA49985B2
+                     decrypted=1414141414141414
+            Iterated 100 times=ADE0CA70B9F34983
+           Iterated 1000 times=A87A184DFB13D2CA
+
+Set 3, vector# 21:
+                           key=15151515151515151515
+                         plain=1515151515151515
+                        cipher=B97965452636F0C4
+                     decrypted=1515151515151515
+            Iterated 100 times=C092F225F8F6C9D2
+           Iterated 1000 times=DB506559197B184C
+
+Set 3, vector# 22:
+                           key=16161616161616161616
+                         plain=1616161616161616
+                        cipher=07BA48018B98DCCA
+                     decrypted=1616161616161616
+            Iterated 100 times=60DFD13B6C4AE1B0
+           Iterated 1000 times=52C8EFDBF37D490F
+
+Set 3, vector# 23:
+                           key=17171717171717171717
+                         plain=1717171717171717
+                        cipher=7D038DC82B4F3021
+                     decrypted=1717171717171717
+            Iterated 100 times=5E3EBE6208814278
+           Iterated 1000 times=175DC42E3F51BD26
+
+Set 3, vector# 24:
+                           key=18181818181818181818
+                         plain=1818181818181818
+                        cipher=1CF39D095317B2CF
+                     decrypted=1818181818181818
+            Iterated 100 times=B3C913D9D5C7F809
+           Iterated 1000 times=076B5E5EC9CA1154
+
+Set 3, vector# 25:
+                           key=19191919191919191919
+                         plain=1919191919191919
+                        cipher=873C781094D74C50
+                     decrypted=1919191919191919
+            Iterated 100 times=8544B9716467B566
+           Iterated 1000 times=4CC8C899380598BF
+
+Set 3, vector# 26:
+                           key=1A1A1A1A1A1A1A1A1A1A
+                         plain=1A1A1A1A1A1A1A1A
+                        cipher=FBD2FF7A7E2CAF87
+                     decrypted=1A1A1A1A1A1A1A1A
+            Iterated 100 times=EC34341C6AE5D64D
+           Iterated 1000 times=C88320B65C096EF1
+
+Set 3, vector# 27:
+                           key=1B1B1B1B1B1B1B1B1B1B
+                         plain=1B1B1B1B1B1B1B1B
+                        cipher=B45897DCE1AAA726
+                     decrypted=1B1B1B1B1B1B1B1B
+            Iterated 100 times=3548EFEBEE448B82
+           Iterated 1000 times=51AF0D51F5DCBDE2
+
+Set 3, vector# 28:
+                           key=1C1C1C1C1C1C1C1C1C1C
+                         plain=1C1C1C1C1C1C1C1C
+                        cipher=05C8192DF0EFF76A
+                     decrypted=1C1C1C1C1C1C1C1C
+            Iterated 100 times=B17F205CD4524765
+           Iterated 1000 times=DD4690DFA240B41F
+
+Set 3, vector# 29:
+                           key=1D1D1D1D1D1D1D1D1D1D
+                         plain=1D1D1D1D1D1D1D1D
+                        cipher=B428E51E0E8EED03
+                     decrypted=1D1D1D1D1D1D1D1D
+            Iterated 100 times=E7EF65BE37CEEFE3
+           Iterated 1000 times=7B7D735353025D2C
+
+Set 3, vector# 30:
+                           key=1E1E1E1E1E1E1E1E1E1E
+                         plain=1E1E1E1E1E1E1E1E
+                        cipher=325DA71860AFC2DE
+                     decrypted=1E1E1E1E1E1E1E1E
+            Iterated 100 times=CE160FC8C38927AD
+           Iterated 1000 times=75CEB3AB34B12C4D
+
+Set 3, vector# 31:
+                           key=1F1F1F1F1F1F1F1F1F1F
+                         plain=1F1F1F1F1F1F1F1F
+                        cipher=15FA8C4F437FD7E1
+                     decrypted=1F1F1F1F1F1F1F1F
+            Iterated 100 times=DBB527BEE015A6DC
+           Iterated 1000 times=55DC68F2E2E2D1F4
+
+Set 3, vector# 32:
+                           key=20202020202020202020
+                         plain=2020202020202020
+                        cipher=50B914AE38316F8D
+                     decrypted=2020202020202020
+            Iterated 100 times=8BFF7AE6EDC96E91
+           Iterated 1000 times=D6821A6B10588A54
+
+Set 3, vector# 33:
+                           key=21212121212121212121
+                         plain=2121212121212121
+                        cipher=1D8AE74132E966AB
+                     decrypted=2121212121212121
+            Iterated 100 times=EAAD982F2095FD0B
+           Iterated 1000 times=E557601565318502
+
+Set 3, vector# 34:
+                           key=22222222222222222222
+                         plain=2222222222222222
+                        cipher=A49B3DB1CE5E7D3F
+                     decrypted=2222222222222222
+            Iterated 100 times=A4FA9DEF539472B4
+           Iterated 1000 times=64F9C49BE43FD69D
+
+Set 3, vector# 35:
+                           key=23232323232323232323
+                         plain=2323232323232323
+                        cipher=B331CFF8B4222329
+                     decrypted=2323232323232323
+            Iterated 100 times=9BC2F6343E1BBB09
+           Iterated 1000 times=B0D43C26C6030778
+
+Set 3, vector# 36:
+                           key=24242424242424242424
+                         plain=2424242424242424
+                        cipher=28CA817C7B8A6F49
+                     decrypted=2424242424242424
+            Iterated 100 times=B7DA455A877AE6B9
+           Iterated 1000 times=326E81B91791EF3C
+
+Set 3, vector# 37:
+                           key=25252525252525252525
+                         plain=2525252525252525
+                        cipher=34C11D4684F21B0E
+                     decrypted=2525252525252525
+            Iterated 100 times=CC7A4896F63D1A11
+           Iterated 1000 times=BD1009070FF8EEBE
+
+Set 3, vector# 38:
+                           key=26262626262626262626
+                         plain=2626262626262626
+                        cipher=F826BA50E8A958B1
+                     decrypted=2626262626262626
+            Iterated 100 times=8B7C99D4D61FBB3C
+           Iterated 1000 times=2F0E9B9D1D8FB7DB
+
+Set 3, vector# 39:
+                           key=27272727272727272727
+                         plain=2727272727272727
+                        cipher=BF169C45356EDF17
+                     decrypted=2727272727272727
+            Iterated 100 times=F03F00142A88FA3C
+           Iterated 1000 times=1AA1AADEC0BC72A2
+
+Set 3, vector# 40:
+                           key=28282828282828282828
+                         plain=2828282828282828
+                        cipher=36F5B136CB49ECD9
+                     decrypted=2828282828282828
+            Iterated 100 times=636B1CDF28462FBB
+           Iterated 1000 times=8694959D845D7304
+
+Set 3, vector# 41:
+                           key=29292929292929292929
+                         plain=2929292929292929
+                        cipher=CAC0453D6375C7B6
+                     decrypted=2929292929292929
+            Iterated 100 times=246D9266984B3A73
+           Iterated 1000 times=2029C93C03FD62AD
+
+Set 3, vector# 42:
+                           key=2A2A2A2A2A2A2A2A2A2A
+                         plain=2A2A2A2A2A2A2A2A
+                        cipher=7A709E42B8D05D77
+                     decrypted=2A2A2A2A2A2A2A2A
+            Iterated 100 times=019ACDE44E24D594
+           Iterated 1000 times=C13F02C02DBF37F8
+
+Set 3, vector# 43:
+                           key=2B2B2B2B2B2B2B2B2B2B
+                         plain=2B2B2B2B2B2B2B2B
+                        cipher=515FA2F4F13E8ABD
+                     decrypted=2B2B2B2B2B2B2B2B
+            Iterated 100 times=CA5F6B90A1D2C3F2
+           Iterated 1000 times=19B1B44E80BC965B
+
+Set 3, vector# 44:
+                           key=2C2C2C2C2C2C2C2C2C2C
+                         plain=2C2C2C2C2C2C2C2C
+                        cipher=882678A452D364DE
+                     decrypted=2C2C2C2C2C2C2C2C
+            Iterated 100 times=5D0ABCCEDB76BB47
+           Iterated 1000 times=4DB310604BC116FE
+
+Set 3, vector# 45:
+                           key=2D2D2D2D2D2D2D2D2D2D
+                         plain=2D2D2D2D2D2D2D2D
+                        cipher=127EEFD434FAC2CB
+                     decrypted=2D2D2D2D2D2D2D2D
+            Iterated 100 times=9475694B2A088613
+           Iterated 1000 times=4E9216658421EE8A
+
+Set 3, vector# 46:
+                           key=2E2E2E2E2E2E2E2E2E2E
+                         plain=2E2E2E2E2E2E2E2E
+                        cipher=A138EDC7F2822817
+                     decrypted=2E2E2E2E2E2E2E2E
+            Iterated 100 times=B9AB8C20222AA4AC
+           Iterated 1000 times=21B6E7125F6E6E1B
+
+Set 3, vector# 47:
+                           key=2F2F2F2F2F2F2F2F2F2F
+                         plain=2F2F2F2F2F2F2F2F
+                        cipher=2BA6C8BF45AB006C
+                     decrypted=2F2F2F2F2F2F2F2F
+            Iterated 100 times=25B16C98850D67C0
+           Iterated 1000 times=65A32AFA86BBF15C
+
+Set 3, vector# 48:
+                           key=30303030303030303030
+                         plain=3030303030303030
+                        cipher=A16B7FF47547809B
+                     decrypted=3030303030303030
+            Iterated 100 times=3FBEAC4CF6BD5A0D
+           Iterated 1000 times=97369470A7352CA2
+
+Set 3, vector# 49:
+                           key=31313131313131313131
+                         plain=3131313131313131
+                        cipher=1A8E47E1BFFF13FA
+                     decrypted=3131313131313131
+            Iterated 100 times=2038A95E45F5503D
+           Iterated 1000 times=5250E933FF842061
+
+Set 3, vector# 50:
+                           key=32323232323232323232
+                         plain=3232323232323232
+                        cipher=2303664D655220AD
+                     decrypted=3232323232323232
+            Iterated 100 times=A713D6B13F819C50
+           Iterated 1000 times=5B74519B278048D4
+
+Set 3, vector# 51:
+                           key=33333333333333333333
+                         plain=3333333333333333
+                        cipher=976807E7FC127CAA
+                     decrypted=3333333333333333
+            Iterated 100 times=EB340DC1F2A2E32D
+           Iterated 1000 times=FFFEE8BD9B9D2272
+
+Set 3, vector# 52:
+                           key=34343434343434343434
+                         plain=3434343434343434
+                        cipher=CFF23CD53166A86D
+                     decrypted=3434343434343434
+            Iterated 100 times=9A8FC424375A1FAF
+           Iterated 1000 times=3ED9B66324B750F4
+
+Set 3, vector# 53:
+                           key=35353535353535353535
+                         plain=3535353535353535
+                        cipher=9287FD7FBD4C72DB
+                     decrypted=3535353535353535
+            Iterated 100 times=E6D018E975E1A0FC
+           Iterated 1000 times=F4172DFFBFFC197E
+
+Set 3, vector# 54:
+                           key=36363636363636363636
+                         plain=3636363636363636
+                        cipher=9C028DFFCE693075
+                     decrypted=3636363636363636
+            Iterated 100 times=2668AF0BC474D2D9
+           Iterated 1000 times=24A23175CEFB6A01
+
+Set 3, vector# 55:
+                           key=37373737373737373737
+                         plain=3737373737373737
+                        cipher=524FD77713B7A690
+                     decrypted=3737373737373737
+            Iterated 100 times=BE3D06221E1032BA
+           Iterated 1000 times=56E2ECA918119775
+
+Set 3, vector# 56:
+                           key=38383838383838383838
+                         plain=3838383838383838
+                        cipher=2EB915C4AC9657FD
+                     decrypted=3838383838383838
+            Iterated 100 times=E07F336321CC64BA
+           Iterated 1000 times=6D273C015858CB3E
+
+Set 3, vector# 57:
+                           key=39393939393939393939
+                         plain=3939393939393939
+                        cipher=1BB9C50AADF2BFB1
+                     decrypted=3939393939393939
+            Iterated 100 times=EFC9FEA97A0CDC3E
+           Iterated 1000 times=C4E1A70BE867F8BC
+
+Set 3, vector# 58:
+                           key=3A3A3A3A3A3A3A3A3A3A
+                         plain=3A3A3A3A3A3A3A3A
+                        cipher=D622472A02C187AC
+                     decrypted=3A3A3A3A3A3A3A3A
+            Iterated 100 times=36E05335CCC3832D
+           Iterated 1000 times=214A00414E1E76D3
+
+Set 3, vector# 59:
+                           key=3B3B3B3B3B3B3B3B3B3B
+                         plain=3B3B3B3B3B3B3B3B
+                        cipher=1E9320E6C79A3C9E
+                     decrypted=3B3B3B3B3B3B3B3B
+            Iterated 100 times=C9778B98A9C9B78E
+           Iterated 1000 times=55D50B132B6B86FA
+
+Set 3, vector# 60:
+                           key=3C3C3C3C3C3C3C3C3C3C
+                         plain=3C3C3C3C3C3C3C3C
+                        cipher=BC0347BB0FB9996F
+                     decrypted=3C3C3C3C3C3C3C3C
+            Iterated 100 times=AB60F77AAA9D9D12
+           Iterated 1000 times=F728A3DA4A43117F
+
+Set 3, vector# 61:
+                           key=3D3D3D3D3D3D3D3D3D3D
+                         plain=3D3D3D3D3D3D3D3D
+                        cipher=1908AB462789F206
+                     decrypted=3D3D3D3D3D3D3D3D
+            Iterated 100 times=7C83A266007B1ED3
+           Iterated 1000 times=E1AA6D2812790758
+
+Set 3, vector# 62:
+                           key=3E3E3E3E3E3E3E3E3E3E
+                         plain=3E3E3E3E3E3E3E3E
+                        cipher=FEF31DEDB157FF5B
+                     decrypted=3E3E3E3E3E3E3E3E
+            Iterated 100 times=A33C051A0FDC3A09
+           Iterated 1000 times=A22FBD50A5BD9154
+
+Set 3, vector# 63:
+                           key=3F3F3F3F3F3F3F3F3F3F
+                         plain=3F3F3F3F3F3F3F3F
+                        cipher=EEF58E7428BF752D
+                     decrypted=3F3F3F3F3F3F3F3F
+            Iterated 100 times=FB11D806394441A9
+           Iterated 1000 times=87EB1948E6F2E5C1
+
+Set 3, vector# 64:
+                           key=40404040404040404040
+                         plain=4040404040404040
+                        cipher=15FB2639BBC45823
+                     decrypted=4040404040404040
+            Iterated 100 times=FD8A21EBBA263212
+           Iterated 1000 times=44BC117D429C39DF
+
+Set 3, vector# 65:
+                           key=41414141414141414141
+                         plain=4141414141414141
+                        cipher=902545BA28D3193F
+                     decrypted=4141414141414141
+            Iterated 100 times=098E248A0E277150
+           Iterated 1000 times=A75375AC57867D62
+
+Set 3, vector# 66:
+                           key=42424242424242424242
+                         plain=4242424242424242
+                        cipher=9FE1BC05B900D783
+                     decrypted=4242424242424242
+            Iterated 100 times=C0B44D2BB9E31B2C
+           Iterated 1000 times=7C2D87BC6557FB7E
+
+Set 3, vector# 67:
+                           key=43434343434343434343
+                         plain=4343434343434343
+                        cipher=FCF554CE94E8E8F2
+                     decrypted=4343434343434343
+            Iterated 100 times=2BDEBD27D37D9088
+           Iterated 1000 times=50C9F4DE8DB01461
+
+Set 3, vector# 68:
+                           key=44444444444444444444
+                         plain=4444444444444444
+                        cipher=017AEC1102D2266A
+                     decrypted=4444444444444444
+            Iterated 100 times=77B6D112BEEB56E2
+           Iterated 1000 times=20448A4A3FAED341
+
+Set 3, vector# 69:
+                           key=45454545454545454545
+                         plain=4545454545454545
+                        cipher=1E564BE696F0363A
+                     decrypted=4545454545454545
+            Iterated 100 times=E709C3EC068802CB
+           Iterated 1000 times=7C2027877E7C1076
+
+Set 3, vector# 70:
+                           key=46464646464646464646
+                         plain=4646464646464646
+                        cipher=A1B6B8A376CE0595
+                     decrypted=4646464646464646
+            Iterated 100 times=17F78BCF3E7C13E2
+           Iterated 1000 times=30331BDA5B905C50
+
+Set 3, vector# 71:
+                           key=47474747474747474747
+                         plain=4747474747474747
+                        cipher=3D6809C4054B0A7B
+                     decrypted=4747474747474747
+            Iterated 100 times=D524C15371A557CA
+           Iterated 1000 times=867BFF347663BA06
+
+Set 3, vector# 72:
+                           key=48484848484848484848
+                         plain=4848484848484848
+                        cipher=DE16F53883A34C82
+                     decrypted=4848484848484848
+            Iterated 100 times=AF8ED96BB6432576
+           Iterated 1000 times=04C2B80736F239D0
+
+Set 3, vector# 73:
+                           key=49494949494949494949
+                         plain=4949494949494949
+                        cipher=8B64F9E430DCD6CD
+                     decrypted=4949494949494949
+            Iterated 100 times=B35C7DA2E5C3769E
+           Iterated 1000 times=4354C4E563AA610D
+
+Set 3, vector# 74:
+                           key=4A4A4A4A4A4A4A4A4A4A
+                         plain=4A4A4A4A4A4A4A4A
+                        cipher=632ED60CDFEE4B98
+                     decrypted=4A4A4A4A4A4A4A4A
+            Iterated 100 times=03775944F524DCA2
+           Iterated 1000 times=2409B87EEA9483B4
+
+Set 3, vector# 75:
+                           key=4B4B4B4B4B4B4B4B4B4B
+                         plain=4B4B4B4B4B4B4B4B
+                        cipher=312F4A7A94B4E9A1
+                     decrypted=4B4B4B4B4B4B4B4B
+            Iterated 100 times=D5CB19F7F76F248E
+           Iterated 1000 times=DC0F6B1579199A05
+
+Set 3, vector# 76:
+                           key=4C4C4C4C4C4C4C4C4C4C
+                         plain=4C4C4C4C4C4C4C4C
+                        cipher=5E8FA41FEB2F7599
+                     decrypted=4C4C4C4C4C4C4C4C
+            Iterated 100 times=05F7FB582804E858
+           Iterated 1000 times=B6DF5D1186D49089
+
+Set 3, vector# 77:
+                           key=4D4D4D4D4D4D4D4D4D4D
+                         plain=4D4D4D4D4D4D4D4D
+                        cipher=551484878D7F54DB
+                     decrypted=4D4D4D4D4D4D4D4D
+            Iterated 100 times=806F526A040924AB
+           Iterated 1000 times=CCAA7FBBA4857625
+
+Set 3, vector# 78:
+                           key=4E4E4E4E4E4E4E4E4E4E
+                         plain=4E4E4E4E4E4E4E4E
+                        cipher=2059D2005AAA8138
+                     decrypted=4E4E4E4E4E4E4E4E
+            Iterated 100 times=708ACEE81AF7AEDD
+           Iterated 1000 times=D012DC597C2E49BB
+
+Set 3, vector# 79:
+                           key=4F4F4F4F4F4F4F4F4F4F
+                         plain=4F4F4F4F4F4F4F4F
+                        cipher=B1CE44DAF21BCB5C
+                     decrypted=4F4F4F4F4F4F4F4F
+            Iterated 100 times=E2F2C7EE084771EC
+           Iterated 1000 times=449E8BD8CAB649CE
+
+Set 3, vector# 80:
+                           key=50505050505050505050
+                         plain=5050505050505050
+                        cipher=649401F5F03DEFEF
+                     decrypted=5050505050505050
+            Iterated 100 times=2FC36CA85DC3E5F1
+           Iterated 1000 times=A8D177A409071294
+
+Set 3, vector# 81:
+                           key=51515151515151515151
+                         plain=5151515151515151
+                        cipher=84917ACFB5649AA4
+                     decrypted=5151515151515151
+            Iterated 100 times=0A6645F152310BBC
+           Iterated 1000 times=027794AF0574903F
+
+Set 3, vector# 82:
+                           key=52525252525252525252
+                         plain=5252525252525252
+                        cipher=4F7371EE3EB0DD86
+                     decrypted=5252525252525252
+            Iterated 100 times=6E1BFEB67672AFFA
+           Iterated 1000 times=CA5DCDC98F62EBFA
+
+Set 3, vector# 83:
+                           key=53535353535353535353
+                         plain=5353535353535353
+                        cipher=01382B20BE7074F2
+                     decrypted=5353535353535353
+            Iterated 100 times=CC16ED571B7A8531
+           Iterated 1000 times=95B3E0493A3E7427
+
+Set 3, vector# 84:
+                           key=54545454545454545454
+                         plain=5454545454545454
+                        cipher=20AE110262DCB219
+                     decrypted=5454545454545454
+            Iterated 100 times=F19E185F5DD1C8CF
+           Iterated 1000 times=EDEB43E8A5BCF19B
+
+Set 3, vector# 85:
+                           key=55555555555555555555
+                         plain=5555555555555555
+                        cipher=2F7B89C503D2D2E8
+                     decrypted=5555555555555555
+            Iterated 100 times=2E7DCE2778EE7F4D
+           Iterated 1000 times=A4B04FDAC7E3908A
+
+Set 3, vector# 86:
+                           key=56565656565656565656
+                         plain=5656565656565656
+                        cipher=6333BF4E4BF3893D
+                     decrypted=5656565656565656
+            Iterated 100 times=6D002B3C622687B9
+           Iterated 1000 times=D426E74483466E32
+
+Set 3, vector# 87:
+                           key=57575757575757575757
+                         plain=5757575757575757
+                        cipher=4721BB6EB29EDBF5
+                     decrypted=5757575757575757
+            Iterated 100 times=245627438C8635D1
+           Iterated 1000 times=B8318AC7C5DD2836
+
+Set 3, vector# 88:
+                           key=58585858585858585858
+                         plain=5858585858585858
+                        cipher=6ECB839C71AAA74A
+                     decrypted=5858585858585858
+            Iterated 100 times=F5E6872D5BF46929
+           Iterated 1000 times=696AD0CBFCBCA955
+
+Set 3, vector# 89:
+                           key=59595959595959595959
+                         plain=5959595959595959
+                        cipher=5BA1FAC558765122
+                     decrypted=5959595959595959
+            Iterated 100 times=90F093510A32F4E2
+           Iterated 1000 times=80E0C0AA3484F408
+
+Set 3, vector# 90:
+                           key=5A5A5A5A5A5A5A5A5A5A
+                         plain=5A5A5A5A5A5A5A5A
+                        cipher=C51F0BE493A3C80C
+                     decrypted=5A5A5A5A5A5A5A5A
+            Iterated 100 times=AD56F3920B986AB6
+           Iterated 1000 times=EA5CD8F6465E3081
+
+Set 3, vector# 91:
+                           key=5B5B5B5B5B5B5B5B5B5B
+                         plain=5B5B5B5B5B5B5B5B
+                        cipher=31ED6746425FFA17
+                     decrypted=5B5B5B5B5B5B5B5B
+            Iterated 100 times=9968309DF187C332
+           Iterated 1000 times=684D1C1730C92F4B
+
+Set 3, vector# 92:
+                           key=5C5C5C5C5C5C5C5C5C5C
+                         plain=5C5C5C5C5C5C5C5C
+                        cipher=09DADA27CFA4C79D
+                     decrypted=5C5C5C5C5C5C5C5C
+            Iterated 100 times=02D54840D2E486FD
+           Iterated 1000 times=9523EB52C94D7463
+
+Set 3, vector# 93:
+                           key=5D5D5D5D5D5D5D5D5D5D
+                         plain=5D5D5D5D5D5D5D5D
+                        cipher=BBD6651809B8DECC
+                     decrypted=5D5D5D5D5D5D5D5D
+            Iterated 100 times=61FEC049FD8EA19A
+           Iterated 1000 times=C5434E3A2895BD7B
+
+Set 3, vector# 94:
+                           key=5E5E5E5E5E5E5E5E5E5E
+                         plain=5E5E5E5E5E5E5E5E
+                        cipher=2C9DA40DA0AAD873
+                     decrypted=5E5E5E5E5E5E5E5E
+            Iterated 100 times=39BB46F725EBDAEA
+           Iterated 1000 times=7CC103B7B04CBA05
+
+Set 3, vector# 95:
+                           key=5F5F5F5F5F5F5F5F5F5F
+                         plain=5F5F5F5F5F5F5F5F
+                        cipher=9C418FA2E814AD97
+                     decrypted=5F5F5F5F5F5F5F5F
+            Iterated 100 times=57368FE71B54CB30
+           Iterated 1000 times=20827D803FCE1EB4
+
+Set 3, vector# 96:
+                           key=60606060606060606060
+                         plain=6060606060606060
+                        cipher=2382873109C02DEB
+                     decrypted=6060606060606060
+            Iterated 100 times=AEB655FDCAA79349
+           Iterated 1000 times=3BF8C2A7EDA413F3
+
+Set 3, vector# 97:
+                           key=61616161616161616161
+                         plain=6161616161616161
+                        cipher=11FEB4EDFD9E6684
+                     decrypted=6161616161616161
+            Iterated 100 times=018A2334F17C179C
+           Iterated 1000 times=F655CB47421D30D1
+
+Set 3, vector# 98:
+                           key=62626262626262626262
+                         plain=6262626262626262
+                        cipher=AD6CBFECFE387B71
+                     decrypted=6262626262626262
+            Iterated 100 times=DF323BB3C6FA209A
+           Iterated 1000 times=80E13FEFF4D69A05
+
+Set 3, vector# 99:
+                           key=63636363636363636363
+                         plain=6363636363636363
+                        cipher=563A767315D3F8D2
+                     decrypted=6363636363636363
+            Iterated 100 times=B579346894CF578A
+           Iterated 1000 times=0DCB58EAA4F601A3
+
+Set 3, vector#100:
+                           key=64646464646464646464
+                         plain=6464646464646464
+                        cipher=849D613EB1542CB0
+                     decrypted=6464646464646464
+            Iterated 100 times=78149BF4F529B47B
+           Iterated 1000 times=4FC38857A957A9E3
+
+Set 3, vector#101:
+                           key=65656565656565656565
+                         plain=6565656565656565
+                        cipher=7F683A4C4DEB6969
+                     decrypted=6565656565656565
+            Iterated 100 times=52CBFB6BBEB30780
+           Iterated 1000 times=2EAE49C9F0CED668
+
+Set 3, vector#102:
+                           key=66666666666666666666
+                         plain=6666666666666666
+                        cipher=FA0C0BC108F611F6
+                     decrypted=6666666666666666
+            Iterated 100 times=DE28BE132E770C21
+           Iterated 1000 times=151214D822BEBDC8
+
+Set 3, vector#103:
+                           key=67676767676767676767
+                         plain=6767676767676767
+                        cipher=BC8F8CDC600610E0
+                     decrypted=6767676767676767
+            Iterated 100 times=2139D937FA4B9404
+           Iterated 1000 times=DEE220C1FFDD18BE
+
+Set 3, vector#104:
+                           key=68686868686868686868
+                         plain=6868686868686868
+                        cipher=1EFF1675E02A1FBC
+                     decrypted=6868686868686868
+            Iterated 100 times=B8016A5A57F3F9D2
+           Iterated 1000 times=0F8574FB420625F9
+
+Set 3, vector#105:
+                           key=69696969696969696969
+                         plain=6969696969696969
+                        cipher=A8C93A1385F17F9B
+                     decrypted=6969696969696969
+            Iterated 100 times=AB066F1F32AA9AF6
+           Iterated 1000 times=601C8DB5150A779F
+
+Set 3, vector#106:
+                           key=6A6A6A6A6A6A6A6A6A6A
+                         plain=6A6A6A6A6A6A6A6A
+                        cipher=912BAD8D340E8010
+                     decrypted=6A6A6A6A6A6A6A6A
+            Iterated 100 times=9832C17D5B400F59
+           Iterated 1000 times=871C88292345BF1E
+
+Set 3, vector#107:
+                           key=6B6B6B6B6B6B6B6B6B6B
+                         plain=6B6B6B6B6B6B6B6B
+                        cipher=224F0E0C02AD5241
+                     decrypted=6B6B6B6B6B6B6B6B
+            Iterated 100 times=314287C04F593DAA
+           Iterated 1000 times=C52FF12D8752861D
+
+Set 3, vector#108:
+                           key=6C6C6C6C6C6C6C6C6C6C
+                         plain=6C6C6C6C6C6C6C6C
+                        cipher=0E574BC87EBDC7CB
+                     decrypted=6C6C6C6C6C6C6C6C
+            Iterated 100 times=ED05A8CD07A80BC8
+           Iterated 1000 times=81AB2FCECF9F796B
+
+Set 3, vector#109:
+                           key=6D6D6D6D6D6D6D6D6D6D
+                         plain=6D6D6D6D6D6D6D6D
+                        cipher=A336A2D5856E6AF3
+                     decrypted=6D6D6D6D6D6D6D6D
+            Iterated 100 times=5F1A3DD4836C763B
+           Iterated 1000 times=8AE72F5E235A4F6F
+
+Set 3, vector#110:
+                           key=6E6E6E6E6E6E6E6E6E6E
+                         plain=6E6E6E6E6E6E6E6E
+                        cipher=BBF60D774DDAC3E7
+                     decrypted=6E6E6E6E6E6E6E6E
+            Iterated 100 times=8A81BAC42D12B7F3
+           Iterated 1000 times=A34553A44D371C71
+
+Set 3, vector#111:
+                           key=6F6F6F6F6F6F6F6F6F6F
+                         plain=6F6F6F6F6F6F6F6F
+                        cipher=A508A800DD928F66
+                     decrypted=6F6F6F6F6F6F6F6F
+            Iterated 100 times=8D5901D414BFFC71
+           Iterated 1000 times=AA4FDB7F59F1F5AF
+
+Set 3, vector#112:
+                           key=70707070707070707070
+                         plain=7070707070707070
+                        cipher=F6642D4BED228FAC
+                     decrypted=7070707070707070
+            Iterated 100 times=B234A4EBAA55B060
+           Iterated 1000 times=759BDA57DE62BA3C
+
+Set 3, vector#113:
+                           key=71717171717171717171
+                         plain=7171717171717171
+                        cipher=C9D100D41C7A9BEF
+                     decrypted=7171717171717171
+            Iterated 100 times=16D5B2CEC9FF7996
+           Iterated 1000 times=C83DB5DC3F54218A
+
+Set 3, vector#114:
+                           key=72727272727272727272
+                         plain=7272727272727272
+                        cipher=51F8BF2CEE785093
+                     decrypted=7272727272727272
+            Iterated 100 times=637A6195B8A72E8E
+           Iterated 1000 times=7D42A6277843C0BE
+
+Set 3, vector#115:
+                           key=73737373737373737373
+                         plain=7373737373737373
+                        cipher=B9C5EB8DA4974479
+                     decrypted=7373737373737373
+            Iterated 100 times=A8AB17A35D842361
+           Iterated 1000 times=3CB3B24C5C4B999B
+
+Set 3, vector#116:
+                           key=74747474747474747474
+                         plain=7474747474747474
+                        cipher=43241081B1B218DC
+                     decrypted=7474747474747474
+            Iterated 100 times=342C3C9780EFE18A
+           Iterated 1000 times=479E5F84C9AAA13A
+
+Set 3, vector#117:
+                           key=75757575757575757575
+                         plain=7575757575757575
+                        cipher=9D2096D96C67D04E
+                     decrypted=7575757575757575
+            Iterated 100 times=79C7CAD4F95C2E08
+           Iterated 1000 times=AFC70BE9BC961120
+
+Set 3, vector#118:
+                           key=76767676767676767676
+                         plain=7676767676767676
+                        cipher=B6ED62800FCABB8F
+                     decrypted=7676767676767676
+            Iterated 100 times=8965B9F6EB839D0B
+           Iterated 1000 times=A833D4A69FAB8C48
+
+Set 3, vector#119:
+                           key=77777777777777777777
+                         plain=7777777777777777
+                        cipher=2BB85422305D79FE
+                     decrypted=7777777777777777
+            Iterated 100 times=5627F3252BB19DFC
+           Iterated 1000 times=1812EADEDD3D4105
+
+Set 3, vector#120:
+                           key=78787878787878787878
+                         plain=7878787878787878
+                        cipher=3298EA721BF951C1
+                     decrypted=7878787878787878
+            Iterated 100 times=B2D6BA999640CE82
+           Iterated 1000 times=73F2286BAC75DE24
+
+Set 3, vector#121:
+                           key=79797979797979797979
+                         plain=7979797979797979
+                        cipher=08AB232D6A245939
+                     decrypted=7979797979797979
+            Iterated 100 times=265BDC431353774F
+           Iterated 1000 times=81890681B55CCCEF
+
+Set 3, vector#122:
+                           key=7A7A7A7A7A7A7A7A7A7A
+                         plain=7A7A7A7A7A7A7A7A
+                        cipher=7C43B12CDAB4B731
+                     decrypted=7A7A7A7A7A7A7A7A
+            Iterated 100 times=6904F67BD42B494F
+           Iterated 1000 times=4BC187995C182206
+
+Set 3, vector#123:
+                           key=7B7B7B7B7B7B7B7B7B7B
+                         plain=7B7B7B7B7B7B7B7B
+                        cipher=5B82FB679C57782A
+                     decrypted=7B7B7B7B7B7B7B7B
+            Iterated 100 times=8CD077E3C808E137
+           Iterated 1000 times=F9897D817CB5952B
+
+Set 3, vector#124:
+                           key=7C7C7C7C7C7C7C7C7C7C
+                         plain=7C7C7C7C7C7C7C7C
+                        cipher=E7C8706A09822618
+                     decrypted=7C7C7C7C7C7C7C7C
+            Iterated 100 times=48CFEC44AE9E165E
+           Iterated 1000 times=CD899F63F44677E5
+
+Set 3, vector#125:
+                           key=7D7D7D7D7D7D7D7D7D7D
+                         plain=7D7D7D7D7D7D7D7D
+                        cipher=1963AD68E020D233
+                     decrypted=7D7D7D7D7D7D7D7D
+            Iterated 100 times=DAB2DB6BB03F7E12
+           Iterated 1000 times=5B0EC0C570E12938
+
+Set 3, vector#126:
+                           key=7E7E7E7E7E7E7E7E7E7E
+                         plain=7E7E7E7E7E7E7E7E
+                        cipher=449820102ABF6B48
+                     decrypted=7E7E7E7E7E7E7E7E
+            Iterated 100 times=2E3C73D06C389A9B
+           Iterated 1000 times=CAB4B53DCA267192
+
+Set 3, vector#127:
+                           key=7F7F7F7F7F7F7F7F7F7F
+                         plain=7F7F7F7F7F7F7F7F
+                        cipher=D139A6ADC5045302
+                     decrypted=7F7F7F7F7F7F7F7F
+            Iterated 100 times=B3E6C5FEEFE8060E
+           Iterated 1000 times=AA38DDFE3E39C111
+
+Set 3, vector#128:
+                           key=80808080808080808080
+                         plain=8080808080808080
+                        cipher=7A8ABEF323251A2B
+                     decrypted=8080808080808080
+            Iterated 100 times=67802C2DB622F3B8
+           Iterated 1000 times=6C68029D1AF8728F
+
+Set 3, vector#129:
+                           key=81818181818181818181
+                         plain=8181818181818181
+                        cipher=79723489A50147BA
+                     decrypted=8181818181818181
+            Iterated 100 times=C2AA300125C54CBC
+           Iterated 1000 times=90C80C67BDC7F3C3
+
+Set 3, vector#130:
+                           key=82828282828282828282
+                         plain=8282828282828282
+                        cipher=763B972EAF90D09F
+                     decrypted=8282828282828282
+            Iterated 100 times=59CF36E63CA14ACF
+           Iterated 1000 times=8353A133BB8F06A1
+
+Set 3, vector#131:
+                           key=83838383838383838383
+                         plain=8383838383838383
+                        cipher=01EE4E7F744D67F8
+                     decrypted=8383838383838383
+            Iterated 100 times=47375C1785D5AF2A
+           Iterated 1000 times=4B336540DE0B1526
+
+Set 3, vector#132:
+                           key=84848484848484848484
+                         plain=8484848484848484
+                        cipher=BFBAFBBC1B0B6E04
+                     decrypted=8484848484848484
+            Iterated 100 times=9B39F5168EA7792B
+           Iterated 1000 times=C063876B950AC246
+
+Set 3, vector#133:
+                           key=85858585858585858585
+                         plain=8585858585858585
+                        cipher=95B08895FBD3F3FC
+                     decrypted=8585858585858585
+            Iterated 100 times=546C7DD8BD7DF405
+           Iterated 1000 times=50C93A26B7AD5A61
+
+Set 3, vector#134:
+                           key=86868686868686868686
+                         plain=8686868686868686
+                        cipher=2BA08B9C0A56F4A3
+                     decrypted=8686868686868686
+            Iterated 100 times=1BD1C5C8FF2A7239
+           Iterated 1000 times=A7A4A809A0F36934
+
+Set 3, vector#135:
+                           key=87878787878787878787
+                         plain=8787878787878787
+                        cipher=B0FC50C525420F5F
+                     decrypted=8787878787878787
+            Iterated 100 times=75DB6CBA8AE6EDAE
+           Iterated 1000 times=3C9061E4A1CC5F4B
+
+Set 3, vector#136:
+                           key=88888888888888888888
+                         plain=8888888888888888
+                        cipher=E8875158F2A2A829
+                     decrypted=8888888888888888
+            Iterated 100 times=DDD85073234EDD7A
+           Iterated 1000 times=6F94591A93A51698
+
+Set 3, vector#137:
+                           key=89898989898989898989
+                         plain=8989898989898989
+                        cipher=5B4F957BB6DFA2ED
+                     decrypted=8989898989898989
+            Iterated 100 times=FEB539A4FD34CEB3
+           Iterated 1000 times=214ABF587ABD69E9
+
+Set 3, vector#138:
+                           key=8A8A8A8A8A8A8A8A8A8A
+                         plain=8A8A8A8A8A8A8A8A
+                        cipher=46EF778C7D641FC8
+                     decrypted=8A8A8A8A8A8A8A8A
+            Iterated 100 times=098B608662543E46
+           Iterated 1000 times=61DF75C1AFC094A4
+
+Set 3, vector#139:
+                           key=8B8B8B8B8B8B8B8B8B8B
+                         plain=8B8B8B8B8B8B8B8B
+                        cipher=00ECFD374BCAA0F2
+                     decrypted=8B8B8B8B8B8B8B8B
+            Iterated 100 times=D4C0BD67ED6AD45C
+           Iterated 1000 times=2CD32FDF7CD18C7E
+
+Set 3, vector#140:
+                           key=8C8C8C8C8C8C8C8C8C8C
+                         plain=8C8C8C8C8C8C8C8C
+                        cipher=E2766D31B3BAA5E9
+                     decrypted=8C8C8C8C8C8C8C8C
+            Iterated 100 times=78659950B044EBFA
+           Iterated 1000 times=43BBA400E5CE917E
+
+Set 3, vector#141:
+                           key=8D8D8D8D8D8D8D8D8D8D
+                         plain=8D8D8D8D8D8D8D8D
+                        cipher=E7C7BA7C6AAB791A
+                     decrypted=8D8D8D8D8D8D8D8D
+            Iterated 100 times=E6655BD09491B5A2
+           Iterated 1000 times=7FCB654D6AD4A526
+
+Set 3, vector#142:
+                           key=8E8E8E8E8E8E8E8E8E8E
+                         plain=8E8E8E8E8E8E8E8E
+                        cipher=1AE721410FF70B65
+                     decrypted=8E8E8E8E8E8E8E8E
+            Iterated 100 times=5E319E423E111FFB
+           Iterated 1000 times=F356BB2C1B012C60
+
+Set 3, vector#143:
+                           key=8F8F8F8F8F8F8F8F8F8F
+                         plain=8F8F8F8F8F8F8F8F
+                        cipher=74F96EC302CA1335
+                     decrypted=8F8F8F8F8F8F8F8F
+            Iterated 100 times=67AEC0F576389F37
+           Iterated 1000 times=CB7CDE8FB4C1F312
+
+Set 3, vector#144:
+                           key=90909090909090909090
+                         plain=9090909090909090
+                        cipher=DB2E504D925CC923
+                     decrypted=9090909090909090
+            Iterated 100 times=37FC839C158C53C7
+           Iterated 1000 times=4C71AF25EFFA77A6
+
+Set 3, vector#145:
+                           key=91919191919191919191
+                         plain=9191919191919191
+                        cipher=BF545FDC65ED1A34
+                     decrypted=9191919191919191
+            Iterated 100 times=93D120563C74C077
+           Iterated 1000 times=181878A2E61924C0
+
+Set 3, vector#146:
+                           key=92929292929292929292
+                         plain=9292929292929292
+                        cipher=E57482316DB990DF
+                     decrypted=9292929292929292
+            Iterated 100 times=1A008A144E6C4472
+           Iterated 1000 times=871CBDEC1E39F393
+
+Set 3, vector#147:
+                           key=93939393939393939393
+                         plain=9393939393939393
+                        cipher=BEE196587FFAF8C7
+                     decrypted=9393939393939393
+            Iterated 100 times=EE190F22F86469D5
+           Iterated 1000 times=0FB72BE8F5706ACB
+
+Set 3, vector#148:
+                           key=94949494949494949494
+                         plain=9494949494949494
+                        cipher=748EEFEAFB94BA88
+                     decrypted=9494949494949494
+            Iterated 100 times=8EE525DB5A2B7D8F
+           Iterated 1000 times=FD7D06DEEE6F72AC
+
+Set 3, vector#149:
+                           key=95959595959595959595
+                         plain=9595959595959595
+                        cipher=A2135E9677D3BF75
+                     decrypted=9595959595959595
+            Iterated 100 times=6B385A45E41483A9
+           Iterated 1000 times=6EF5CB2320C4BAC4
+
+Set 3, vector#150:
+                           key=96969696969696969696
+                         plain=9696969696969696
+                        cipher=ABC2E716B554BD49
+                     decrypted=9696969696969696
+            Iterated 100 times=4D33A448DC680989
+           Iterated 1000 times=B30F70AE5592128E
+
+Set 3, vector#151:
+                           key=97979797979797979797
+                         plain=9797979797979797
+                        cipher=D336512BB1AC3F9B
+                     decrypted=9797979797979797
+            Iterated 100 times=F56AD68B99631371
+           Iterated 1000 times=E196C38C39162A92
+
+Set 3, vector#152:
+                           key=98989898989898989898
+                         plain=9898989898989898
+                        cipher=395CDBB217722BE3
+                     decrypted=9898989898989898
+            Iterated 100 times=AC0B74EC1648E0B0
+           Iterated 1000 times=2511A68833CBA3A0
+
+Set 3, vector#153:
+                           key=99999999999999999999
+                         plain=9999999999999999
+                        cipher=1ECB6145AA00735D
+                     decrypted=9999999999999999
+            Iterated 100 times=D868EBEE1E2E8861
+           Iterated 1000 times=4A9636D98BE2EDEB
+
+Set 3, vector#154:
+                           key=9A9A9A9A9A9A9A9A9A9A
+                         plain=9A9A9A9A9A9A9A9A
+                        cipher=A3E7867A58149785
+                     decrypted=9A9A9A9A9A9A9A9A
+            Iterated 100 times=F91CCF2C7358F1CC
+           Iterated 1000 times=882293A26CB3F85B
+
+Set 3, vector#155:
+                           key=9B9B9B9B9B9B9B9B9B9B
+                         plain=9B9B9B9B9B9B9B9B
+                        cipher=5A3275AF2A239325
+                     decrypted=9B9B9B9B9B9B9B9B
+            Iterated 100 times=BC965CC635D82EAB
+           Iterated 1000 times=B165AAB5E1C34529
+
+Set 3, vector#156:
+                           key=9C9C9C9C9C9C9C9C9C9C
+                         plain=9C9C9C9C9C9C9C9C
+                        cipher=38A0BE4625DDBA56
+                     decrypted=9C9C9C9C9C9C9C9C
+            Iterated 100 times=BF0A3A78A61E88C2
+           Iterated 1000 times=C87502CC8B9DB93C
+
+Set 3, vector#157:
+                           key=9D9D9D9D9D9D9D9D9D9D
+                         plain=9D9D9D9D9D9D9D9D
+                        cipher=5007D75F7BF7BDCC
+                     decrypted=9D9D9D9D9D9D9D9D
+            Iterated 100 times=C8787939F427AC79
+           Iterated 1000 times=535294594796DB44
+
+Set 3, vector#158:
+                           key=9E9E9E9E9E9E9E9E9E9E
+                         plain=9E9E9E9E9E9E9E9E
+                        cipher=34BFCB53D6FB32D8
+                     decrypted=9E9E9E9E9E9E9E9E
+            Iterated 100 times=77CCC1322EB89CA0
+           Iterated 1000 times=01174D1F5D80C16C
+
+Set 3, vector#159:
+                           key=9F9F9F9F9F9F9F9F9F9F
+                         plain=9F9F9F9F9F9F9F9F
+                        cipher=7AD62D235799473F
+                     decrypted=9F9F9F9F9F9F9F9F
+            Iterated 100 times=23EF8B0F585DDFAB
+           Iterated 1000 times=D7FC225091F2AF7C
+
+Set 3, vector#160:
+                           key=A0A0A0A0A0A0A0A0A0A0
+                         plain=A0A0A0A0A0A0A0A0
+                        cipher=B5CDA6A75458FC51
+                     decrypted=A0A0A0A0A0A0A0A0
+            Iterated 100 times=D6B127957EE9E2F3
+           Iterated 1000 times=832958A6DDD1B87E
+
+Set 3, vector#161:
+                           key=A1A1A1A1A1A1A1A1A1A1
+                         plain=A1A1A1A1A1A1A1A1
+                        cipher=5AF7EC6839F1D311
+                     decrypted=A1A1A1A1A1A1A1A1
+            Iterated 100 times=55037069385C7C23
+           Iterated 1000 times=4C5EE99A0D494481
+
+Set 3, vector#162:
+                           key=A2A2A2A2A2A2A2A2A2A2
+                         plain=A2A2A2A2A2A2A2A2
+                        cipher=1CF948C79A195B46
+                     decrypted=A2A2A2A2A2A2A2A2
+            Iterated 100 times=4B73517CE9968921
+           Iterated 1000 times=2C807678F60D4330
+
+Set 3, vector#163:
+                           key=A3A3A3A3A3A3A3A3A3A3
+                         plain=A3A3A3A3A3A3A3A3
+                        cipher=6053D85EA88A2DC8
+                     decrypted=A3A3A3A3A3A3A3A3
+            Iterated 100 times=D7E67BDEC02D4669
+           Iterated 1000 times=EF70C560191CF2F6
+
+Set 3, vector#164:
+                           key=A4A4A4A4A4A4A4A4A4A4
+                         plain=A4A4A4A4A4A4A4A4
+                        cipher=A3AEDF4EEFB7754B
+                     decrypted=A4A4A4A4A4A4A4A4
+            Iterated 100 times=5EC4EC0E8E8A9865
+           Iterated 1000 times=DAF825F3E556F619
+
+Set 3, vector#165:
+                           key=A5A5A5A5A5A5A5A5A5A5
+                         plain=A5A5A5A5A5A5A5A5
+                        cipher=B01D53A27E167D25
+                     decrypted=A5A5A5A5A5A5A5A5
+            Iterated 100 times=BB03F1EFE48273D3
+           Iterated 1000 times=37AF14122D060458
+
+Set 3, vector#166:
+                           key=A6A6A6A6A6A6A6A6A6A6
+                         plain=A6A6A6A6A6A6A6A6
+                        cipher=A6DB29A257551624
+                     decrypted=A6A6A6A6A6A6A6A6
+            Iterated 100 times=3CFCD1BB4F09A962
+           Iterated 1000 times=60706312E4BC6F7D
+
+Set 3, vector#167:
+                           key=A7A7A7A7A7A7A7A7A7A7
+                         plain=A7A7A7A7A7A7A7A7
+                        cipher=34E08EEB9D6FE4DB
+                     decrypted=A7A7A7A7A7A7A7A7
+            Iterated 100 times=5679F0C05325CDD3
+           Iterated 1000 times=54D5112ED48D5B16
+
+Set 3, vector#168:
+                           key=A8A8A8A8A8A8A8A8A8A8
+                         plain=A8A8A8A8A8A8A8A8
+                        cipher=639DCE91CFC243BF
+                     decrypted=A8A8A8A8A8A8A8A8
+            Iterated 100 times=254BCBD573E16870
+           Iterated 1000 times=1CFE8AE299A366FA
+
+Set 3, vector#169:
+                           key=A9A9A9A9A9A9A9A9A9A9
+                         plain=A9A9A9A9A9A9A9A9
+                        cipher=BB39511A808F1372
+                     decrypted=A9A9A9A9A9A9A9A9
+            Iterated 100 times=9BCFA43F12874981
+           Iterated 1000 times=138FC702A5327552
+
+Set 3, vector#170:
+                           key=AAAAAAAAAAAAAAAAAAAA
+                         plain=AAAAAAAAAAAAAAAA
+                        cipher=C578DA0848234EBD
+                     decrypted=AAAAAAAAAAAAAAAA
+            Iterated 100 times=93927201A008C2E7
+           Iterated 1000 times=20B4A451DE0277EB
+
+Set 3, vector#171:
+                           key=ABABABABABABABABABAB
+                         plain=ABABABABABABABAB
+                        cipher=35CD3E4825E3FAE6
+                     decrypted=ABABABABABABABAB
+            Iterated 100 times=EE17A31F07026573
+           Iterated 1000 times=67C2DF28B19EB088
+
+Set 3, vector#172:
+                           key=ACACACACACACACACACAC
+                         plain=ACACACACACACACAC
+                        cipher=DBFEE7B510B80A26
+                     decrypted=ACACACACACACACAC
+            Iterated 100 times=358A1C65EC85BF7B
+           Iterated 1000 times=B419EC1FDE64C4A5
+
+Set 3, vector#173:
+                           key=ADADADADADADADADADAD
+                         plain=ADADADADADADADAD
+                        cipher=9AB4C31EB642FE00
+                     decrypted=ADADADADADADADAD
+            Iterated 100 times=EF5ED55959F2427B
+           Iterated 1000 times=29EF92D9ACE1F225
+
+Set 3, vector#174:
+                           key=AEAEAEAEAEAEAEAEAEAE
+                         plain=AEAEAEAEAEAEAEAE
+                        cipher=883F74D5F1000C11
+                     decrypted=AEAEAEAEAEAEAEAE
+            Iterated 100 times=461C1B2EF4400297
+           Iterated 1000 times=A9316F98550B12CC
+
+Set 3, vector#175:
+                           key=AFAFAFAFAFAFAFAFAFAF
+                         plain=AFAFAFAFAFAFAFAF
+                        cipher=C595153265F56ED0
+                     decrypted=AFAFAFAFAFAFAFAF
+            Iterated 100 times=1A9E8C441667E370
+           Iterated 1000 times=C9CD017F550B1935
+
+Set 3, vector#176:
+                           key=B0B0B0B0B0B0B0B0B0B0
+                         plain=B0B0B0B0B0B0B0B0
+                        cipher=A84714BD43446A1A
+                     decrypted=B0B0B0B0B0B0B0B0
+            Iterated 100 times=B9186C7EDD0B9927
+           Iterated 1000 times=21D9C7526D0E894A
+
+Set 3, vector#177:
+                           key=B1B1B1B1B1B1B1B1B1B1
+                         plain=B1B1B1B1B1B1B1B1
+                        cipher=53ADDF77E2688781
+                     decrypted=B1B1B1B1B1B1B1B1
+            Iterated 100 times=C06DBC5BD399BADB
+           Iterated 1000 times=CBF3DCE0F87F32EF
+
+Set 3, vector#178:
+                           key=B2B2B2B2B2B2B2B2B2B2
+                         plain=B2B2B2B2B2B2B2B2
+                        cipher=6B4D8B509B02F84C
+                     decrypted=B2B2B2B2B2B2B2B2
+            Iterated 100 times=775A197B39C137E8
+           Iterated 1000 times=5D769D0F1B6A4DFE
+
+Set 3, vector#179:
+                           key=B3B3B3B3B3B3B3B3B3B3
+                         plain=B3B3B3B3B3B3B3B3
+                        cipher=4FDB7920AB4CDB37
+                     decrypted=B3B3B3B3B3B3B3B3
+            Iterated 100 times=3B215FF973D9C969
+           Iterated 1000 times=3D8DEEEFBC90C005
+
+Set 3, vector#180:
+                           key=B4B4B4B4B4B4B4B4B4B4
+                         plain=B4B4B4B4B4B4B4B4
+                        cipher=30A848FC4240AF60
+                     decrypted=B4B4B4B4B4B4B4B4
+            Iterated 100 times=5F0A17DF286F3F3C
+           Iterated 1000 times=144EF9E7BC3A2A31
+
+Set 3, vector#181:
+                           key=B5B5B5B5B5B5B5B5B5B5
+                         plain=B5B5B5B5B5B5B5B5
+                        cipher=E8F4AF6D7669BF8F
+                     decrypted=B5B5B5B5B5B5B5B5
+            Iterated 100 times=42E3712E40DD6751
+           Iterated 1000 times=662064E38E158BE9
+
+Set 3, vector#182:
+                           key=B6B6B6B6B6B6B6B6B6B6
+                         plain=B6B6B6B6B6B6B6B6
+                        cipher=3DE8F18721BA3618
+                     decrypted=B6B6B6B6B6B6B6B6
+            Iterated 100 times=2D211507873D03FA
+           Iterated 1000 times=F06EE6F35D87BB9B
+
+Set 3, vector#183:
+                           key=B7B7B7B7B7B7B7B7B7B7
+                         plain=B7B7B7B7B7B7B7B7
+                        cipher=71CA7E2EDBB3E025
+                     decrypted=B7B7B7B7B7B7B7B7
+            Iterated 100 times=F6C11F9F8A3C0787
+           Iterated 1000 times=1556EA276F93F3E7
+
+Set 3, vector#184:
+                           key=B8B8B8B8B8B8B8B8B8B8
+                         plain=B8B8B8B8B8B8B8B8
+                        cipher=94D39ECF84A507A8
+                     decrypted=B8B8B8B8B8B8B8B8
+            Iterated 100 times=EEB7A6EF59FF1C8E
+           Iterated 1000 times=6B41257D1B7A86C4
+
+Set 3, vector#185:
+                           key=B9B9B9B9B9B9B9B9B9B9
+                         plain=B9B9B9B9B9B9B9B9
+                        cipher=E500D200F1D18FFE
+                     decrypted=B9B9B9B9B9B9B9B9
+            Iterated 100 times=AD9D0AF9D795674B
+           Iterated 1000 times=CC988FDE91207E0D
+
+Set 3, vector#186:
+                           key=BABABABABABABABABABA
+                         plain=BABABABABABABABA
+                        cipher=B8182B50C4F4D6C7
+                     decrypted=BABABABABABABABA
+            Iterated 100 times=9A25A32B42301342
+           Iterated 1000 times=902A3816041B7A8E
+
+Set 3, vector#187:
+                           key=BBBBBBBBBBBBBBBBBBBB
+                         plain=BBBBBBBBBBBBBBBB
+                        cipher=BB15315F13AC484E
+                     decrypted=BBBBBBBBBBBBBBBB
+            Iterated 100 times=C7D8D66A978AEA77
+           Iterated 1000 times=3DED1D04C38F9CA7
+
+Set 3, vector#188:
+                           key=BCBCBCBCBCBCBCBCBCBC
+                         plain=BCBCBCBCBCBCBCBC
+                        cipher=C5102279C294334A
+                     decrypted=BCBCBCBCBCBCBCBC
+            Iterated 100 times=9F9127072CECA8E0
+           Iterated 1000 times=1095D9D6FC42ECE2
+
+Set 3, vector#189:
+                           key=BDBDBDBDBDBDBDBDBDBD
+                         plain=BDBDBDBDBDBDBDBD
+                        cipher=7A4D45260AC5B28A
+                     decrypted=BDBDBDBDBDBDBDBD
+            Iterated 100 times=1B5BCEBAF216E2BF
+           Iterated 1000 times=F2285E6C74901D10
+
+Set 3, vector#190:
+                           key=BEBEBEBEBEBEBEBEBEBE
+                         plain=BEBEBEBEBEBEBEBE
+                        cipher=90BD1ABAC07C1AE0
+                     decrypted=BEBEBEBEBEBEBEBE
+            Iterated 100 times=F37EFEC28BE737C9
+           Iterated 1000 times=1DE3B9C8E2E5E0BD
+
+Set 3, vector#191:
+                           key=BFBFBFBFBFBFBFBFBFBF
+                         plain=BFBFBFBFBFBFBFBF
+                        cipher=9FF085F83C2EBB76
+                     decrypted=BFBFBFBFBFBFBFBF
+            Iterated 100 times=030F92F60840D2E2
+           Iterated 1000 times=B09507C7154330C4
+
+Set 3, vector#192:
+                           key=C0C0C0C0C0C0C0C0C0C0
+                         plain=C0C0C0C0C0C0C0C0
+                        cipher=1B4E6B421023E46C
+                     decrypted=C0C0C0C0C0C0C0C0
+            Iterated 100 times=70514FC60689A9E6
+           Iterated 1000 times=25C06A80DA5336AB
+
+Set 3, vector#193:
+                           key=C1C1C1C1C1C1C1C1C1C1
+                         plain=C1C1C1C1C1C1C1C1
+                        cipher=DA8303764AD5BA6B
+                     decrypted=C1C1C1C1C1C1C1C1
+            Iterated 100 times=69D1F56CC3FBC80E
+           Iterated 1000 times=3988F51C7AF860E1
+
+Set 3, vector#194:
+                           key=C2C2C2C2C2C2C2C2C2C2
+                         plain=C2C2C2C2C2C2C2C2
+                        cipher=833D41D3A07543C5
+                     decrypted=C2C2C2C2C2C2C2C2
+            Iterated 100 times=991F172BCB671C94
+           Iterated 1000 times=F9578D082AC202A6
+
+Set 3, vector#195:
+                           key=C3C3C3C3C3C3C3C3C3C3
+                         plain=C3C3C3C3C3C3C3C3
+                        cipher=DCB1A85367EB04C9
+                     decrypted=C3C3C3C3C3C3C3C3
+            Iterated 100 times=73A86D30C73314D1
+           Iterated 1000 times=EEA8345C4CD67F44
+
+Set 3, vector#196:
+                           key=C4C4C4C4C4C4C4C4C4C4
+                         plain=C4C4C4C4C4C4C4C4
+                        cipher=815570FA1EC6FBBA
+                     decrypted=C4C4C4C4C4C4C4C4
+            Iterated 100 times=A99DAEA32B6B99E8
+           Iterated 1000 times=D940C9D327F46F21
+
+Set 3, vector#197:
+                           key=C5C5C5C5C5C5C5C5C5C5
+                         plain=C5C5C5C5C5C5C5C5
+                        cipher=BC3B9EFFC1B11A36
+                     decrypted=C5C5C5C5C5C5C5C5
+            Iterated 100 times=5182C418FA3E483F
+           Iterated 1000 times=6C6D9C858C0B9F8E
+
+Set 3, vector#198:
+                           key=C6C6C6C6C6C6C6C6C6C6
+                         plain=C6C6C6C6C6C6C6C6
+                        cipher=14F864FF9FA60720
+                     decrypted=C6C6C6C6C6C6C6C6
+            Iterated 100 times=E37C690AF3FD10FA
+           Iterated 1000 times=1A109609C5A40D05
+
+Set 3, vector#199:
+                           key=C7C7C7C7C7C7C7C7C7C7
+                         plain=C7C7C7C7C7C7C7C7
+                        cipher=B5EB6BF1D0A7A47F
+                     decrypted=C7C7C7C7C7C7C7C7
+            Iterated 100 times=0B307AE1D9FF0744
+           Iterated 1000 times=277EFE67FDA0613B
+
+Set 3, vector#200:
+                           key=C8C8C8C8C8C8C8C8C8C8
+                         plain=C8C8C8C8C8C8C8C8
+                        cipher=2A2691E706C1D272
+                     decrypted=C8C8C8C8C8C8C8C8
+            Iterated 100 times=51478953D44BB2E2
+           Iterated 1000 times=C8A249698A210B91
+
+Set 3, vector#201:
+                           key=C9C9C9C9C9C9C9C9C9C9
+                         plain=C9C9C9C9C9C9C9C9
+                        cipher=32B73BC47E8B53F0
+                     decrypted=C9C9C9C9C9C9C9C9
+            Iterated 100 times=C6DAD3DDBCE20B93
+           Iterated 1000 times=255BEC701257F860
+
+Set 3, vector#202:
+                           key=CACACACACACACACACACA
+                         plain=CACACACACACACACA
+                        cipher=6A096B583C71D96D
+                     decrypted=CACACACACACACACA
+            Iterated 100 times=B1C1D9525E802642
+           Iterated 1000 times=8DC39F86188297DE
+
+Set 3, vector#203:
+                           key=CBCBCBCBCBCBCBCBCBCB
+                         plain=CBCBCBCBCBCBCBCB
+                        cipher=66B257748C30371D
+                     decrypted=CBCBCBCBCBCBCBCB
+            Iterated 100 times=C482F46186461D91
+           Iterated 1000 times=062BBB5CEF6E8545
+
+Set 3, vector#204:
+                           key=CCCCCCCCCCCCCCCCCCCC
+                         plain=CCCCCCCCCCCCCCCC
+                        cipher=D2610EBD0E29EA53
+                     decrypted=CCCCCCCCCCCCCCCC
+            Iterated 100 times=92B613FE96BEE8F5
+           Iterated 1000 times=3DE2DC367BCD45FD
+
+Set 3, vector#205:
+                           key=CDCDCDCDCDCDCDCDCDCD
+                         plain=CDCDCDCDCDCDCDCD
+                        cipher=4D06FF37901A246F
+                     decrypted=CDCDCDCDCDCDCDCD
+            Iterated 100 times=B518E668733BCD33
+           Iterated 1000 times=B9D575EBEE9AD6F2
+
+Set 3, vector#206:
+                           key=CECECECECECECECECECE
+                         plain=CECECECECECECECE
+                        cipher=D4500FAD395EC528
+                     decrypted=CECECECECECECECE
+            Iterated 100 times=4E8908190286E464
+           Iterated 1000 times=5487B630ACD5DFBF
+
+Set 3, vector#207:
+                           key=CFCFCFCFCFCFCFCFCFCF
+                         plain=CFCFCFCFCFCFCFCF
+                        cipher=5326BCBB7EA32F12
+                     decrypted=CFCFCFCFCFCFCFCF
+            Iterated 100 times=570AFAC421DA4419
+           Iterated 1000 times=D1661D1A0E2D15CD
+
+Set 3, vector#208:
+                           key=D0D0D0D0D0D0D0D0D0D0
+                         plain=D0D0D0D0D0D0D0D0
+                        cipher=68BF69ED37A835D4
+                     decrypted=D0D0D0D0D0D0D0D0
+            Iterated 100 times=31C1AC712104BD63
+           Iterated 1000 times=99212FA6A85C6C38
+
+Set 3, vector#209:
+                           key=D1D1D1D1D1D1D1D1D1D1
+                         plain=D1D1D1D1D1D1D1D1
+                        cipher=B19F5F1E58069413
+                     decrypted=D1D1D1D1D1D1D1D1
+            Iterated 100 times=D0CD41A8DF3447FD
+           Iterated 1000 times=48A3EA6EA8A0FF90
+
+Set 3, vector#210:
+                           key=D2D2D2D2D2D2D2D2D2D2
+                         plain=D2D2D2D2D2D2D2D2
+                        cipher=F88F2E3C44DF099A
+                     decrypted=D2D2D2D2D2D2D2D2
+            Iterated 100 times=9D5E4442326D5A41
+           Iterated 1000 times=C222A935784BC3CD
+
+Set 3, vector#211:
+                           key=D3D3D3D3D3D3D3D3D3D3
+                         plain=D3D3D3D3D3D3D3D3
+                        cipher=52AD307079B5F1C4
+                     decrypted=D3D3D3D3D3D3D3D3
+            Iterated 100 times=F16322495EB251FF
+           Iterated 1000 times=2FC4EB5248F0986C
+
+Set 3, vector#212:
+                           key=D4D4D4D4D4D4D4D4D4D4
+                         plain=D4D4D4D4D4D4D4D4
+                        cipher=A88C3C2DF5ACF32B
+                     decrypted=D4D4D4D4D4D4D4D4
+            Iterated 100 times=16CFE35F79297B99
+           Iterated 1000 times=3527EB7A2043CFA6
+
+Set 3, vector#213:
+                           key=D5D5D5D5D5D5D5D5D5D5
+                         plain=D5D5D5D5D5D5D5D5
+                        cipher=E216A5902CCCD6B5
+                     decrypted=D5D5D5D5D5D5D5D5
+            Iterated 100 times=BF901BF9B700E49E
+           Iterated 1000 times=EDFD4BB3F08C4F6A
+
+Set 3, vector#214:
+                           key=D6D6D6D6D6D6D6D6D6D6
+                         plain=D6D6D6D6D6D6D6D6
+                        cipher=1CDEB2F2D5EA16F6
+                     decrypted=D6D6D6D6D6D6D6D6
+            Iterated 100 times=292AEBE11D559AB2
+           Iterated 1000 times=96C94EB10B27EC9A
+
+Set 3, vector#215:
+                           key=D7D7D7D7D7D7D7D7D7D7
+                         plain=D7D7D7D7D7D7D7D7
+                        cipher=02323FF5F2FDC209
+                     decrypted=D7D7D7D7D7D7D7D7
+            Iterated 100 times=13A844800E394E5B
+           Iterated 1000 times=241B862F02C9DA54
+
+Set 3, vector#216:
+                           key=D8D8D8D8D8D8D8D8D8D8
+                         plain=D8D8D8D8D8D8D8D8
+                        cipher=5E1718F7D4E60ABB
+                     decrypted=D8D8D8D8D8D8D8D8
+            Iterated 100 times=B27D06C9D242B277
+           Iterated 1000 times=794EF50C776E8CB8
+
+Set 3, vector#217:
+                           key=D9D9D9D9D9D9D9D9D9D9
+                         plain=D9D9D9D9D9D9D9D9
+                        cipher=20D9EFAAA37C45EB
+                     decrypted=D9D9D9D9D9D9D9D9
+            Iterated 100 times=E6C7B818862EECF7
+           Iterated 1000 times=4F93461602768D55
+
+Set 3, vector#218:
+                           key=DADADADADADADADADADA
+                         plain=DADADADADADADADA
+                        cipher=1CAD489D6CE8060A
+                     decrypted=DADADADADADADADA
+            Iterated 100 times=7D7B4BF74828C9F3
+           Iterated 1000 times=BD38A85069DA72BA
+
+Set 3, vector#219:
+                           key=DBDBDBDBDBDBDBDBDBDB
+                         plain=DBDBDBDBDBDBDBDB
+                        cipher=208A1DDD7962E6EB
+                     decrypted=DBDBDBDBDBDBDBDB
+            Iterated 100 times=CC89682891EB4831
+           Iterated 1000 times=A958C8648704FAA2
+
+Set 3, vector#220:
+                           key=DCDCDCDCDCDCDCDCDCDC
+                         plain=DCDCDCDCDCDCDCDC
+                        cipher=43C01F61D30E401D
+                     decrypted=DCDCDCDCDCDCDCDC
+            Iterated 100 times=235899B8B4835D70
+           Iterated 1000 times=67B91A1ECB650691
+
+Set 3, vector#221:
+                           key=DDDDDDDDDDDDDDDDDDDD
+                         plain=DDDDDDDDDDDDDDDD
+                        cipher=B5EF67FF97F2BE7F
+                     decrypted=DDDDDDDDDDDDDDDD
+            Iterated 100 times=2968A79243E9D086
+           Iterated 1000 times=25C7C3E37B394E32
+
+Set 3, vector#222:
+                           key=DEDEDEDEDEDEDEDEDEDE
+                         plain=DEDEDEDEDEDEDEDE
+                        cipher=5E5C47A88FD8B6B8
+                     decrypted=DEDEDEDEDEDEDEDE
+            Iterated 100 times=515F9B2CEFB08A17
+           Iterated 1000 times=62FCDE8ADC7CED3C
+
+Set 3, vector#223:
+                           key=DFDFDFDFDFDFDFDFDFDF
+                         plain=DFDFDFDFDFDFDFDF
+                        cipher=2052EF093A08FD14
+                     decrypted=DFDFDFDFDFDFDFDF
+            Iterated 100 times=D0A26D4EA468CA34
+           Iterated 1000 times=215B9FAAAABD40E7
+
+Set 3, vector#224:
+                           key=E0E0E0E0E0E0E0E0E0E0
+                         plain=E0E0E0E0E0E0E0E0
+                        cipher=5E5AEFB099EC7739
+                     decrypted=E0E0E0E0E0E0E0E0
+            Iterated 100 times=D93B06F043F4F235
+           Iterated 1000 times=21F7B27FACB9AEA1
+
+Set 3, vector#225:
+                           key=E1E1E1E1E1E1E1E1E1E1
+                         plain=E1E1E1E1E1E1E1E1
+                        cipher=2663776EEC8B8389
+                     decrypted=E1E1E1E1E1E1E1E1
+            Iterated 100 times=C06DC045E68ABC1E
+           Iterated 1000 times=92746437F401D396
+
+Set 3, vector#226:
+                           key=E2E2E2E2E2E2E2E2E2E2
+                         plain=E2E2E2E2E2E2E2E2
+                        cipher=4B919519F72EC135
+                     decrypted=E2E2E2E2E2E2E2E2
+            Iterated 100 times=6CED869EF065CE97
+           Iterated 1000 times=A0A5E447E3870E3E
+
+Set 3, vector#227:
+                           key=E3E3E3E3E3E3E3E3E3E3
+                         plain=E3E3E3E3E3E3E3E3
+                        cipher=882E0E607A652AEE
+                     decrypted=E3E3E3E3E3E3E3E3
+            Iterated 100 times=E9B44BA68E32D535
+           Iterated 1000 times=B953F70F5829015D
+
+Set 3, vector#228:
+                           key=E4E4E4E4E4E4E4E4E4E4
+                         plain=E4E4E4E4E4E4E4E4
+                        cipher=DC9112EA38E5A117
+                     decrypted=E4E4E4E4E4E4E4E4
+            Iterated 100 times=7E99272395EF03D6
+           Iterated 1000 times=96E7E91A73412636
+
+Set 3, vector#229:
+                           key=E5E5E5E5E5E5E5E5E5E5
+                         plain=E5E5E5E5E5E5E5E5
+                        cipher=88C908D4575CB77C
+                     decrypted=E5E5E5E5E5E5E5E5
+            Iterated 100 times=8B41FF16D6F4B3D9
+           Iterated 1000 times=4A7A8944E126A54A
+
+Set 3, vector#230:
+                           key=E6E6E6E6E6E6E6E6E6E6
+                         plain=E6E6E6E6E6E6E6E6
+                        cipher=DBCAAFBEC9A34CD3
+                     decrypted=E6E6E6E6E6E6E6E6
+            Iterated 100 times=C482F2828D1646A0
+           Iterated 1000 times=313F2B1A59098F32
+
+Set 3, vector#231:
+                           key=E7E7E7E7E7E7E7E7E7E7
+                         plain=E7E7E7E7E7E7E7E7
+                        cipher=EE3A7C6A11E3248A
+                     decrypted=E7E7E7E7E7E7E7E7
+            Iterated 100 times=5E5B5D766B2F802D
+           Iterated 1000 times=269253CCC941BE31
+
+Set 3, vector#232:
+                           key=E8E8E8E8E8E8E8E8E8E8
+                         plain=E8E8E8E8E8E8E8E8
+                        cipher=035F92C3BC88CD46
+                     decrypted=E8E8E8E8E8E8E8E8
+            Iterated 100 times=ECC1034660EBD0D2
+           Iterated 1000 times=CD38D92EB4EAB2C8
+
+Set 3, vector#233:
+                           key=E9E9E9E9E9E9E9E9E9E9
+                         plain=E9E9E9E9E9E9E9E9
+                        cipher=4C73AB5D411B7E09
+                     decrypted=E9E9E9E9E9E9E9E9
+            Iterated 100 times=42F57A67A0BB6645
+           Iterated 1000 times=ED57496C22F4DC97
+
+Set 3, vector#234:
+                           key=EAEAEAEAEAEAEAEAEAEA
+                         plain=EAEAEAEAEAEAEAEA
+                        cipher=0FC6284AABCD6AFA
+                     decrypted=EAEAEAEAEAEAEAEA
+            Iterated 100 times=7DD7750089F8D3B5
+           Iterated 1000 times=A74D43FFB59CCFE6
+
+Set 3, vector#235:
+                           key=EBEBEBEBEBEBEBEBEBEB
+                         plain=EBEBEBEBEBEBEBEB
+                        cipher=1228127390EDADC8
+                     decrypted=EBEBEBEBEBEBEBEB
+            Iterated 100 times=325F68998FDD6420
+           Iterated 1000 times=44BDAAD63114865F
+
+Set 3, vector#236:
+                           key=ECECECECECECECECECEC
+                         plain=ECECECECECECECEC
+                        cipher=71BF49AC1FEB8260
+                     decrypted=ECECECECECECECEC
+            Iterated 100 times=C9F95146C40E9629
+           Iterated 1000 times=70B0CF56CFC79164
+
+Set 3, vector#237:
+                           key=EDEDEDEDEDEDEDEDEDED
+                         plain=EDEDEDEDEDEDEDED
+                        cipher=76EB7B2A202BD984
+                     decrypted=EDEDEDEDEDEDEDED
+            Iterated 100 times=BF19EE810A71FE5D
+           Iterated 1000 times=C3EBCF9346C4CEEF
+
+Set 3, vector#238:
+                           key=EEEEEEEEEEEEEEEEEEEE
+                         plain=EEEEEEEEEEEEEEEE
+                        cipher=FB019617FD2B3600
+                     decrypted=EEEEEEEEEEEEEEEE
+            Iterated 100 times=A607951AB8260D65
+           Iterated 1000 times=9E20CA715C030EF4
+
+Set 3, vector#239:
+                           key=EFEFEFEFEFEFEFEFEFEF
+                         plain=EFEFEFEFEFEFEFEF
+                        cipher=94180FF712B9AB0A
+                     decrypted=EFEFEFEFEFEFEFEF
+            Iterated 100 times=B5B7FF267E7109CA
+           Iterated 1000 times=C4BAA65C55B331E4
+
+Set 3, vector#240:
+                           key=F0F0F0F0F0F0F0F0F0F0
+                         plain=F0F0F0F0F0F0F0F0
+                        cipher=99286F6AD5A72A38
+                     decrypted=F0F0F0F0F0F0F0F0
+            Iterated 100 times=C88FB6F2AADE2E90
+           Iterated 1000 times=D95138AB5C8B4F91
+
+Set 3, vector#241:
+                           key=F1F1F1F1F1F1F1F1F1F1
+                         plain=F1F1F1F1F1F1F1F1
+                        cipher=9D581DDC3268F335
+                     decrypted=F1F1F1F1F1F1F1F1
+            Iterated 100 times=08BAC13EC23FF06C
+           Iterated 1000 times=63B7DD55DC58BC56
+
+Set 3, vector#242:
+                           key=F2F2F2F2F2F2F2F2F2F2
+                         plain=F2F2F2F2F2F2F2F2
+                        cipher=5FF87F859035C182
+                     decrypted=F2F2F2F2F2F2F2F2
+            Iterated 100 times=A67B08D98800DC9E
+           Iterated 1000 times=AE492B0E528A7C14
+
+Set 3, vector#243:
+                           key=F3F3F3F3F3F3F3F3F3F3
+                         plain=F3F3F3F3F3F3F3F3
+                        cipher=F9E16BDA3B1E129E
+                     decrypted=F3F3F3F3F3F3F3F3
+            Iterated 100 times=D237260936956CA3
+           Iterated 1000 times=FA6E88740B8B888C
+
+Set 3, vector#244:
+                           key=F4F4F4F4F4F4F4F4F4F4
+                         plain=F4F4F4F4F4F4F4F4
+                        cipher=BCDEFCED74D251FC
+                     decrypted=F4F4F4F4F4F4F4F4
+            Iterated 100 times=9957E3C86B222E2E
+           Iterated 1000 times=8353DD4A4A8C1196
+
+Set 3, vector#245:
+                           key=F5F5F5F5F5F5F5F5F5F5
+                         plain=F5F5F5F5F5F5F5F5
+                        cipher=640EF4AA1766E65E
+                     decrypted=F5F5F5F5F5F5F5F5
+            Iterated 100 times=1128C8DB1C154BF9
+           Iterated 1000 times=8A7C740DBBB9E880
+
+Set 3, vector#246:
+                           key=F6F6F6F6F6F6F6F6F6F6
+                         plain=F6F6F6F6F6F6F6F6
+                        cipher=7104199B4CE06442
+                     decrypted=F6F6F6F6F6F6F6F6
+            Iterated 100 times=F3916DCE098949A9
+           Iterated 1000 times=FBEB4B39C3A6A2D7
+
+Set 3, vector#247:
+                           key=F7F7F7F7F7F7F7F7F7F7
+                         plain=F7F7F7F7F7F7F7F7
+                        cipher=A4F5B25783B03F8F
+                     decrypted=F7F7F7F7F7F7F7F7
+            Iterated 100 times=CAE94644D24B1391
+           Iterated 1000 times=0A519F1ED4073234
+
+Set 3, vector#248:
+                           key=F8F8F8F8F8F8F8F8F8F8
+                         plain=F8F8F8F8F8F8F8F8
+                        cipher=B371140FDDE410B1
+                     decrypted=F8F8F8F8F8F8F8F8
+            Iterated 100 times=C60175692E805DC6
+           Iterated 1000 times=428A0568A71DE896
+
+Set 3, vector#249:
+                           key=F9F9F9F9F9F9F9F9F9F9
+                         plain=F9F9F9F9F9F9F9F9
+                        cipher=9396CB6A0951BB58
+                     decrypted=F9F9F9F9F9F9F9F9
+            Iterated 100 times=F76CA1EE95B64DC2
+           Iterated 1000 times=F2A0BE670AF2D4BF
+
+Set 3, vector#250:
+                           key=FAFAFAFAFAFAFAFAFAFA
+                         plain=FAFAFAFAFAFAFAFA
+                        cipher=0497ABCAD6D5C898
+                     decrypted=FAFAFAFAFAFAFAFA
+            Iterated 100 times=818BBE5D2C9EC62D
+           Iterated 1000 times=34C4FF1963D072C0
+
+Set 3, vector#251:
+                           key=FBFBFBFBFBFBFBFBFBFB
+                         plain=FBFBFBFBFBFBFBFB
+                        cipher=014913F43C071AEE
+                     decrypted=FBFBFBFBFBFBFBFB
+            Iterated 100 times=41E1095108780198
+           Iterated 1000 times=F78052185C501A16
+
+Set 3, vector#252:
+                           key=FCFCFCFCFCFCFCFCFCFC
+                         plain=FCFCFCFCFCFCFCFC
+                        cipher=FD5A983EF9BC0853
+                     decrypted=FCFCFCFCFCFCFCFC
+            Iterated 100 times=2F00FE5453AE6323
+           Iterated 1000 times=90AE22149BE56826
+
+Set 3, vector#253:
+                           key=FDFDFDFDFDFDFDFDFDFD
+                         plain=FDFDFDFDFDFDFDFD
+                        cipher=70A4A8DFE967D293
+                     decrypted=FDFDFDFDFDFDFDFD
+            Iterated 100 times=E195EBF63800F091
+           Iterated 1000 times=B850810C06F32114
+
+Set 3, vector#254:
+                           key=FEFEFEFEFEFEFEFEFEFE
+                         plain=FEFEFEFEFEFEFEFE
+                        cipher=E64CFD810FC767ED
+                     decrypted=FEFEFEFEFEFEFEFE
+            Iterated 100 times=A00E98A551862110
+           Iterated 1000 times=4560A4D1F2CC353F
+
+Set 3, vector#255:
+                           key=FFFFFFFFFFFFFFFFFFFF
+                         plain=FFFFFFFFFFFFFFFF
+                        cipher=3333DCD3213210D2
+                     decrypted=FFFFFFFFFFFFFFFF
+            Iterated 100 times=DBC8DBAF8BC17C97
+           Iterated 1000 times=249154FDF3402B03
+
+Test vectors -- set 4
+=====================
+
+Set 4, vector#  0:
+                           key=00010203040506070809
+                         plain=0011223344556677
+                        cipher=582119C5AF266AF7
+                     decrypted=0011223344556677
+            Iterated 100 times=768AB81009C4665B
+           Iterated 1000 times=7DB0A61E7A605295
+
+Set 4, vector#  1:
+                           key=2BD6459F82C5B300952C
+                         plain=EA024714AD5C4D84
+                        cipher=C9F440DB71E5ABC1
+                     decrypted=EA024714AD5C4D84
+            Iterated 100 times=E3B83C514A9DD51D
+           Iterated 1000 times=9BD8BC2469AEC25E
+
+Test vectors -- set 5
+=====================
+
+Set 5, vector#  0:
+                           key=80000000000000000000
+                        cipher=0000000000000000
+                         plain=8D6561D680D92FD9
+                     encrypted=0000000000000000
+
+Set 5, vector#  1:
+                           key=40000000000000000000
+                        cipher=0000000000000000
+                         plain=BA1F689044870235
+                     encrypted=0000000000000000
+
+Set 5, vector#  2:
+                           key=20000000000000000000
+                        cipher=0000000000000000
+                         plain=FB7E809EBDF5CFE3
+                     encrypted=0000000000000000
+
+Set 5, vector#  3:
+                           key=10000000000000000000
+                        cipher=0000000000000000
+                         plain=D3F62EA2740A7239
+                     encrypted=0000000000000000
+
+Set 5, vector#  4:
+                           key=08000000000000000000
+                        cipher=0000000000000000
+                         plain=11AE12C57ACCFAED
+                     encrypted=0000000000000000
+
+Set 5, vector#  5:
+                           key=04000000000000000000
+                        cipher=0000000000000000
+                         plain=63DE698BA6CC5895
+                     encrypted=0000000000000000
+
+Set 5, vector#  6:
+                           key=02000000000000000000
+                        cipher=0000000000000000
+                         plain=064D483F4D0E719A
+                     encrypted=0000000000000000
+
+Set 5, vector#  7:
+                           key=01000000000000000000
+                        cipher=0000000000000000
+                         plain=4BD57C0E320B7BF7
+                     encrypted=0000000000000000
+
+Set 5, vector#  8:
+                           key=00800000000000000000
+                        cipher=0000000000000000
+                         plain=CB974412ACA09EEF
+                     encrypted=0000000000000000
+
+Set 5, vector#  9:
+                           key=00400000000000000000
+                        cipher=0000000000000000
+                         plain=701E57EA00D60452
+                     encrypted=0000000000000000
+
+Set 5, vector# 10:
+                           key=00200000000000000000
+                        cipher=0000000000000000
+                         plain=D0006CBD52F5E8E3
+                     encrypted=0000000000000000
+
+Set 5, vector# 11:
+                           key=00100000000000000000
+                        cipher=0000000000000000
+                         plain=1B086A02F0CF920E
+                     encrypted=0000000000000000
+
+Set 5, vector# 12:
+                           key=00080000000000000000
+                        cipher=0000000000000000
+                         plain=615ED2FB940FE372
+                     encrypted=0000000000000000
+
+Set 5, vector# 13:
+                           key=00040000000000000000
+                        cipher=0000000000000000
+                         plain=B407549058073FA9
+                     encrypted=0000000000000000
+
+Set 5, vector# 14:
+                           key=00020000000000000000
+                        cipher=0000000000000000
+                         plain=552EDC35C3C02024
+                     encrypted=0000000000000000
+
+Set 5, vector# 15:
+                           key=00010000000000000000
+                        cipher=0000000000000000
+                         plain=5E805291C5A6DD44
+                     encrypted=0000000000000000
+
+Set 5, vector# 16:
+                           key=00008000000000000000
+                        cipher=0000000000000000
+                         plain=EDE24D947DECBE81
+                     encrypted=0000000000000000
+
+Set 5, vector# 17:
+                           key=00004000000000000000
+                        cipher=0000000000000000
+                         plain=9BD07909CC200006
+                     encrypted=0000000000000000
+
+Set 5, vector# 18:
+                           key=00002000000000000000
+                        cipher=0000000000000000
+                         plain=7B87DC10CD240333
+                     encrypted=0000000000000000
+
+Set 5, vector# 19:
+                           key=00001000000000000000
+                        cipher=0000000000000000
+                         plain=9745219715AF36E7
+                     encrypted=0000000000000000
+
+Set 5, vector# 20:
+                           key=00000800000000000000
+                        cipher=0000000000000000
+                         plain=ECD3B6DE917C7988
+                     encrypted=0000000000000000
+
+Set 5, vector# 21:
+                           key=00000400000000000000
+                        cipher=0000000000000000
+                         plain=F1BEA60F7F3BD918
+                     encrypted=0000000000000000
+
+Set 5, vector# 22:
+                           key=00000200000000000000
+                        cipher=0000000000000000
+                         plain=1B15B9F00FFA2E51
+                     encrypted=0000000000000000
+
+Set 5, vector# 23:
+                           key=00000100000000000000
+                        cipher=0000000000000000
+                         plain=CE53E42077F9DAF2
+                     encrypted=0000000000000000
+
+Set 5, vector# 24:
+                           key=00000080000000000000
+                        cipher=0000000000000000
+                         plain=47364D75AF331BDF
+                     encrypted=0000000000000000
+
+Set 5, vector# 25:
+                           key=00000040000000000000
+                        cipher=0000000000000000
+                         plain=B04EC95A7475E2F3
+                     encrypted=0000000000000000
+
+Set 5, vector# 26:
+                           key=00000020000000000000
+                        cipher=0000000000000000
+                         plain=26C102E89E7AEE1A
+                     encrypted=0000000000000000
+
+Set 5, vector# 27:
+                           key=00000010000000000000
+                        cipher=0000000000000000
+                         plain=BEF30B21DF0C54AA
+                     encrypted=0000000000000000
+
+Set 5, vector# 28:
+                           key=00000008000000000000
+                        cipher=0000000000000000
+                         plain=F767A0B132A32A2C
+                     encrypted=0000000000000000
+
+Set 5, vector# 29:
+                           key=00000004000000000000
+                        cipher=0000000000000000
+                         plain=40E8C02153A2EF70
+                     encrypted=0000000000000000
+
+Set 5, vector# 30:
+                           key=00000002000000000000
+                        cipher=0000000000000000
+                         plain=D134C75AB543454B
+                     encrypted=0000000000000000
+
+Set 5, vector# 31:
+                           key=00000001000000000000
+                        cipher=0000000000000000
+                         plain=C7A19AE509E573DD
+                     encrypted=0000000000000000
+
+Set 5, vector# 32:
+                           key=00000000800000000000
+                        cipher=0000000000000000
+                         plain=6C646CB0D0985F06
+                     encrypted=0000000000000000
+
+Set 5, vector# 33:
+                           key=00000000400000000000
+                        cipher=0000000000000000
+                         plain=C57CC26EE9C4ED1A
+                     encrypted=0000000000000000
+
+Set 5, vector# 34:
+                           key=00000000200000000000
+                        cipher=0000000000000000
+                         plain=D36C7F0112973D5C
+                     encrypted=0000000000000000
+
+Set 5, vector# 35:
+                           key=00000000100000000000
+                        cipher=0000000000000000
+                         plain=B77A0A5964B2B362
+                     encrypted=0000000000000000
+
+Set 5, vector# 36:
+                           key=00000000080000000000
+                        cipher=0000000000000000
+                         plain=2F2B3926A3B7C4EF
+                     encrypted=0000000000000000
+
+Set 5, vector# 37:
+                           key=00000000040000000000
+                        cipher=0000000000000000
+                         plain=B7D82C5BF0FB98BF
+                     encrypted=0000000000000000
+
+Set 5, vector# 38:
+                           key=00000000020000000000
+                        cipher=0000000000000000
+                         plain=AB354688F28AC37C
+                     encrypted=0000000000000000
+
+Set 5, vector# 39:
+                           key=00000000010000000000
+                        cipher=0000000000000000
+                         plain=2706724BBDB67E20
+                     encrypted=0000000000000000
+
+Set 5, vector# 40:
+                           key=00000000008000000000
+                        cipher=0000000000000000
+                         plain=D002893FBE52374A
+                     encrypted=0000000000000000
+
+Set 5, vector# 41:
+                           key=00000000004000000000
+                        cipher=0000000000000000
+                         plain=59AAF6D2AA22E729
+                     encrypted=0000000000000000
+
+Set 5, vector# 42:
+                           key=00000000002000000000
+                        cipher=0000000000000000
+                         plain=C0E3E49FCE09F644
+                     encrypted=0000000000000000
+
+Set 5, vector# 43:
+                           key=00000000001000000000
+                        cipher=0000000000000000
+                         plain=59BD599C5E1CA576
+                     encrypted=0000000000000000
+
+Set 5, vector# 44:
+                           key=00000000000800000000
+                        cipher=0000000000000000
+                         plain=CDA1CE1D1B3090DF
+                     encrypted=0000000000000000
+
+Set 5, vector# 45:
+                           key=00000000000400000000
+                        cipher=0000000000000000
+                         plain=F531BCC80E38A983
+                     encrypted=0000000000000000
+
+Set 5, vector# 46:
+                           key=00000000000200000000
+                        cipher=0000000000000000
+                         plain=D33D73A77B21EA8F
+                     encrypted=0000000000000000
+
+Set 5, vector# 47:
+                           key=00000000000100000000
+                        cipher=0000000000000000
+                         plain=F3671927C6A81C8C
+                     encrypted=0000000000000000
+
+Set 5, vector# 48:
+                           key=00000000000080000000
+                        cipher=0000000000000000
+                         plain=7749A4567933BB9E
+                     encrypted=0000000000000000
+
+Set 5, vector# 49:
+                           key=00000000000040000000
+                        cipher=0000000000000000
+                         plain=239D3508E23D07C9
+                     encrypted=0000000000000000
+
+Set 5, vector# 50:
+                           key=00000000000020000000
+                        cipher=0000000000000000
+                         plain=8FBAD2802C58EC70
+                     encrypted=0000000000000000
+
+Set 5, vector# 51:
+                           key=00000000000010000000
+                        cipher=0000000000000000
+                         plain=454A55B9DA86C855
+                     encrypted=0000000000000000
+
+Set 5, vector# 52:
+                           key=00000000000008000000
+                        cipher=0000000000000000
+                         plain=C25648AAD2DE7910
+                     encrypted=0000000000000000
+
+Set 5, vector# 53:
+                           key=00000000000004000000
+                        cipher=0000000000000000
+                         plain=B2606C8800935030
+                     encrypted=0000000000000000
+
+Set 5, vector# 54:
+                           key=00000000000002000000
+                        cipher=0000000000000000
+                         plain=B7674514935C6646
+                     encrypted=0000000000000000
+
+Set 5, vector# 55:
+                           key=00000000000001000000
+                        cipher=0000000000000000
+                         plain=F08A554E7F6D4A29
+                     encrypted=0000000000000000
+
+Set 5, vector# 56:
+                           key=00000000000000800000
+                        cipher=0000000000000000
+                         plain=A41031C6726587F2
+                     encrypted=0000000000000000
+
+Set 5, vector# 57:
+                           key=00000000000000400000
+                        cipher=0000000000000000
+                         plain=9F146AEB0AEC14BF
+                     encrypted=0000000000000000
+
+Set 5, vector# 58:
+                           key=00000000000000200000
+                        cipher=0000000000000000
+                         plain=DB844970E5066A5E
+                     encrypted=0000000000000000
+
+Set 5, vector# 59:
+                           key=00000000000000100000
+                        cipher=0000000000000000
+                         plain=3FB17A057BF746B4
+                     encrypted=0000000000000000
+
+Set 5, vector# 60:
+                           key=00000000000000080000
+                        cipher=0000000000000000
+                         plain=678F0DF35DBE7C11
+                     encrypted=0000000000000000
+
+Set 5, vector# 61:
+                           key=00000000000000040000
+                        cipher=0000000000000000
+                         plain=D8101E02F9D966AC
+                     encrypted=0000000000000000
+
+Set 5, vector# 62:
+                           key=00000000000000020000
+                        cipher=0000000000000000
+                         plain=7E739733C953B954
+                     encrypted=0000000000000000
+
+Set 5, vector# 63:
+                           key=00000000000000010000
+                        cipher=0000000000000000
+                         plain=B55254BBA3FED0E3
+                     encrypted=0000000000000000
+
+Set 5, vector# 64:
+                           key=00000000000000008000
+                        cipher=0000000000000000
+                         plain=5517E4EC1B4A0EEB
+                     encrypted=0000000000000000
+
+Set 5, vector# 65:
+                           key=00000000000000004000
+                        cipher=0000000000000000
+                         plain=532ACDD890C9F31B
+                     encrypted=0000000000000000
+
+Set 5, vector# 66:
+                           key=00000000000000002000
+                        cipher=0000000000000000
+                         plain=1CBF09AC3C7F2E06
+                     encrypted=0000000000000000
+
+Set 5, vector# 67:
+                           key=00000000000000001000
+                        cipher=0000000000000000
+                         plain=63EB27B8CB0C2829
+                     encrypted=0000000000000000
+
+Set 5, vector# 68:
+                           key=00000000000000000800
+                        cipher=0000000000000000
+                         plain=C0AC253AA1DDAC86
+                     encrypted=0000000000000000
+
+Set 5, vector# 69:
+                           key=00000000000000000400
+                        cipher=0000000000000000
+                         plain=293E0BB40D49727F
+                     encrypted=0000000000000000
+
+Set 5, vector# 70:
+                           key=00000000000000000200
+                        cipher=0000000000000000
+                         plain=0BE9C7C158CB7DC6
+                     encrypted=0000000000000000
+
+Set 5, vector# 71:
+                           key=00000000000000000100
+                        cipher=0000000000000000
+                         plain=83D9DE3BA1CE63CB
+                     encrypted=0000000000000000
+
+Set 5, vector# 72:
+                           key=00000000000000000080
+                        cipher=0000000000000000
+                         plain=1EC150A13958A333
+                     encrypted=0000000000000000
+
+Set 5, vector# 73:
+                           key=00000000000000000040
+                        cipher=0000000000000000
+                         plain=2C162B1C54895987
+                     encrypted=0000000000000000
+
+Set 5, vector# 74:
+                           key=00000000000000000020
+                        cipher=0000000000000000
+                         plain=8153ECB0FC2AB1A4
+                     encrypted=0000000000000000
+
+Set 5, vector# 75:
+                           key=00000000000000000010
+                        cipher=0000000000000000
+                         plain=B0063AE622C73D50
+                     encrypted=0000000000000000
+
+Set 5, vector# 76:
+                           key=00000000000000000008
+                        cipher=0000000000000000
+                         plain=AE07BA14E3B883A2
+                     encrypted=0000000000000000
+
+Set 5, vector# 77:
+                           key=00000000000000000004
+                        cipher=0000000000000000
+                         plain=67CF7EF955550F3D
+                     encrypted=0000000000000000
+
+Set 5, vector# 78:
+                           key=00000000000000000002
+                        cipher=0000000000000000
+                         plain=26E91D1479EBA5BD
+                     encrypted=0000000000000000
+
+Set 5, vector# 79:
+                           key=00000000000000000001
+                        cipher=0000000000000000
+                         plain=E6D34B91BEB2CE50
+                     encrypted=0000000000000000
+
+Test vectors -- set 6
+=====================
+
+Set 6, vector#  0:
+                           key=00000000000000000000
+                        cipher=8000000000000000
+                         plain=5737468DE7352E69
+                     encrypted=8000000000000000
+
+Set 6, vector#  1:
+                           key=00000000000000000000
+                        cipher=4000000000000000
+                         plain=CB21D9BF14ED5702
+                     encrypted=4000000000000000
+
+Set 6, vector#  2:
+                           key=00000000000000000000
+                        cipher=2000000000000000
+                         plain=1B37A69D57AD8DB9
+                     encrypted=2000000000000000
+
+Set 6, vector#  3:
+                           key=00000000000000000000
+                        cipher=1000000000000000
+                         plain=B5E9F09105E123C4
+                     encrypted=1000000000000000
+
+Set 6, vector#  4:
+                           key=00000000000000000000
+                        cipher=0800000000000000
+                         plain=E22E9597C0699D2A
+                     encrypted=0800000000000000
+
+Set 6, vector#  5:
+                           key=00000000000000000000
+                        cipher=0400000000000000
+                         plain=E6CB93F27DCAB79C
+                     encrypted=0400000000000000
+
+Set 6, vector#  6:
+                           key=00000000000000000000
+                        cipher=0200000000000000
+                         plain=DBE5CF28791A8169
+                     encrypted=0200000000000000
+
+Set 6, vector#  7:
+                           key=00000000000000000000
+                        cipher=0100000000000000
+                         plain=D51E60445EA9E0C5
+                     encrypted=0100000000000000
+
+Set 6, vector#  8:
+                           key=00000000000000000000
+                        cipher=0080000000000000
+                         plain=27226019FBE743F2
+                     encrypted=0080000000000000
+
+Set 6, vector#  9:
+                           key=00000000000000000000
+                        cipher=0040000000000000
+                         plain=C01D9805AF25F8CC
+                     encrypted=0040000000000000
+
+Set 6, vector# 10:
+                           key=00000000000000000000
+                        cipher=0020000000000000
+                         plain=74C9F760BC15A872
+                     encrypted=0020000000000000
+
+Set 6, vector# 11:
+                           key=00000000000000000000
+                        cipher=0010000000000000
+                         plain=F695A429CA241CE0
+                     encrypted=0010000000000000
+
+Set 6, vector# 12:
+                           key=00000000000000000000
+                        cipher=0008000000000000
+                         plain=9AD29762FBE4CAB5
+                     encrypted=0008000000000000
+
+Set 6, vector# 13:
+                           key=00000000000000000000
+                        cipher=0004000000000000
+                         plain=7ADFDECA112D644C
+                     encrypted=0004000000000000
+
+Set 6, vector# 14:
+                           key=00000000000000000000
+                        cipher=0002000000000000
+                         plain=FFCDE40E18C6E810
+                     encrypted=0002000000000000
+
+Set 6, vector# 15:
+                           key=00000000000000000000
+                        cipher=0001000000000000
+                         plain=6DC61A1912E39238
+                     encrypted=0001000000000000
+
+Set 6, vector# 16:
+                           key=00000000000000000000
+                        cipher=0000800000000000
+                         plain=0D869F2E3F8EE794
+                     encrypted=0000800000000000
+
+Set 6, vector# 17:
+                           key=00000000000000000000
+                        cipher=0000400000000000
+                         plain=F9508678F42799A3
+                     encrypted=0000400000000000
+
+Set 6, vector# 18:
+                           key=00000000000000000000
+                        cipher=0000200000000000
+                         plain=FDB6A9AC875851B7
+                     encrypted=0000200000000000
+
+Set 6, vector# 19:
+                           key=00000000000000000000
+                        cipher=0000100000000000
+                         plain=115FC77CD31F41A8
+                     encrypted=0000100000000000
+
+Set 6, vector# 20:
+                           key=00000000000000000000
+                        cipher=0000080000000000
+                         plain=B9087134A730CB9C
+                     encrypted=0000080000000000
+
+Set 6, vector# 21:
+                           key=00000000000000000000
+                        cipher=0000040000000000
+                         plain=498A21BC221A26D1
+                     encrypted=0000040000000000
+
+Set 6, vector# 22:
+                           key=00000000000000000000
+                        cipher=0000020000000000
+                         plain=B664F77E06A88877
+                     encrypted=0000020000000000
+
+Set 6, vector# 23:
+                           key=00000000000000000000
+                        cipher=0000010000000000
+                         plain=98A67EAA25C675CB
+                     encrypted=0000010000000000
+
+Set 6, vector# 24:
+                           key=00000000000000000000
+                        cipher=0000008000000000
+                         plain=2C178DFCED608945
+                     encrypted=0000008000000000
+
+Set 6, vector# 25:
+                           key=00000000000000000000
+                        cipher=0000004000000000
+                         plain=990A97B7BDA71EFE
+                     encrypted=0000004000000000
+
+Set 6, vector# 26:
+                           key=00000000000000000000
+                        cipher=0000002000000000
+                         plain=2518BB9C42993A5F
+                     encrypted=0000002000000000
+
+Set 6, vector# 27:
+                           key=00000000000000000000
+                        cipher=0000001000000000
+                         plain=5F3DE2B911B4208B
+                     encrypted=0000001000000000
+
+Set 6, vector# 28:
+                           key=00000000000000000000
+                        cipher=0000000800000000
+                         plain=1A506EDA647C3D27
+                     encrypted=0000000800000000
+
+Set 6, vector# 29:
+                           key=00000000000000000000
+                        cipher=0000000400000000
+                         plain=85AB6F135382541E
+                     encrypted=0000000400000000
+
+Set 6, vector# 30:
+                           key=00000000000000000000
+                        cipher=0000000200000000
+                         plain=AC0938D638396567
+                     encrypted=0000000200000000
+
+Set 6, vector# 31:
+                           key=00000000000000000000
+                        cipher=0000000100000000
+                         plain=F3999CF07BCC3FA8
+                     encrypted=0000000100000000
+
+Set 6, vector# 32:
+                           key=00000000000000000000
+                        cipher=0000000080000000
+                         plain=BE85B959323AC9AC
+                     encrypted=0000000080000000
+
+Set 6, vector# 33:
+                           key=00000000000000000000
+                        cipher=0000000040000000
+                         plain=3E6C7AA1A92776E0
+                     encrypted=0000000040000000
+
+Set 6, vector# 34:
+                           key=00000000000000000000
+                        cipher=0000000020000000
+                         plain=AC5F7CE9A0857D35
+                     encrypted=0000000020000000
+
+Set 6, vector# 35:
+                           key=00000000000000000000
+                        cipher=0000000010000000
+                         plain=E03EF22A540EA297
+                     encrypted=0000000010000000
+
+Set 6, vector# 36:
+                           key=00000000000000000000
+                        cipher=0000000008000000
+                         plain=9BD8F7D6D9865FE2
+                     encrypted=0000000008000000
+
+Set 6, vector# 37:
+                           key=00000000000000000000
+                        cipher=0000000004000000
+                         plain=177036A6868E7FB1
+                     encrypted=0000000004000000
+
+Set 6, vector# 38:
+                           key=00000000000000000000
+                        cipher=0000000002000000
+                         plain=1A7C755AF4B7880F
+                     encrypted=0000000002000000
+
+Set 6, vector# 39:
+                           key=00000000000000000000
+                        cipher=0000000001000000
+                         plain=BB54BF56EA22F35E
+                     encrypted=0000000001000000
+
+Set 6, vector# 40:
+                           key=00000000000000000000
+                        cipher=0000000000800000
+                         plain=964BBCD639556E90
+                     encrypted=0000000000800000
+
+Set 6, vector# 41:
+                           key=00000000000000000000
+                        cipher=0000000000400000
+                         plain=6D630DC2D25C24C8
+                     encrypted=0000000000400000
+
+Set 6, vector# 42:
+                           key=00000000000000000000
+                        cipher=0000000000200000
+                         plain=66F6267F27116A85
+                     encrypted=0000000000200000
+
+Set 6, vector# 43:
+                           key=00000000000000000000
+                        cipher=0000000000100000
+                         plain=093074C315333905
+                     encrypted=0000000000100000
+
+Set 6, vector# 44:
+                           key=00000000000000000000
+                        cipher=0000000000080000
+                         plain=E205EB32492B9F13
+                     encrypted=0000000000080000
+
+Set 6, vector# 45:
+                           key=00000000000000000000
+                        cipher=0000000000040000
+                         plain=6407205E740D2A0B
+                     encrypted=0000000000040000
+
+Set 6, vector# 46:
+                           key=00000000000000000000
+                        cipher=0000000000020000
+                         plain=BBCF1EB8F8CF3F1F
+                     encrypted=0000000000020000
+
+Set 6, vector# 47:
+                           key=00000000000000000000
+                        cipher=0000000000010000
+                         plain=C7E6C23121C4B9F4
+                     encrypted=0000000000010000
+
+Set 6, vector# 48:
+                           key=00000000000000000000
+                        cipher=0000000000008000
+                         plain=80194093041A88C0
+                     encrypted=0000000000008000
+
+Set 6, vector# 49:
+                           key=00000000000000000000
+                        cipher=0000000000004000
+                         plain=0099A65FC171F8D9
+                     encrypted=0000000000004000
+
+Set 6, vector# 50:
+                           key=00000000000000000000
+                        cipher=0000000000002000
+                         plain=5F78236ADDF8CE52
+                     encrypted=0000000000002000
+
+Set 6, vector# 51:
+                           key=00000000000000000000
+                        cipher=0000000000001000
+                         plain=0287A2DFCEB5AC40
+                     encrypted=0000000000001000
+
+Set 6, vector# 52:
+                           key=00000000000000000000
+                        cipher=0000000000000800
+                         plain=D20C8EA22ED7D9DA
+                     encrypted=0000000000000800
+
+Set 6, vector# 53:
+                           key=00000000000000000000
+                        cipher=0000000000000400
+                         plain=088E9EC9CC187016
+                     encrypted=0000000000000400
+
+Set 6, vector# 54:
+                           key=00000000000000000000
+                        cipher=0000000000000200
+                         plain=C5571F623C3C882E
+                     encrypted=0000000000000200
+
+Set 6, vector# 55:
+                           key=00000000000000000000
+                        cipher=0000000000000100
+                         plain=5516C3D88175B43B
+                     encrypted=0000000000000100
+
+Set 6, vector# 56:
+                           key=00000000000000000000
+                        cipher=0000000000000080
+                         plain=C2EAF68CB2B6764C
+                     encrypted=0000000000000080
+
+Set 6, vector# 57:
+                           key=00000000000000000000
+                        cipher=0000000000000040
+                         plain=E0AF79AE2FACD597
+                     encrypted=0000000000000040
+
+Set 6, vector# 58:
+                           key=00000000000000000000
+                        cipher=0000000000000020
+                         plain=3B67BA357C5822BE
+                     encrypted=0000000000000020
+
+Set 6, vector# 59:
+                           key=00000000000000000000
+                        cipher=0000000000000010
+                         plain=96761210766B2524
+                     encrypted=0000000000000010
+
+Set 6, vector# 60:
+                           key=00000000000000000000
+                        cipher=0000000000000008
+                         plain=686AB8834D8BAD0E
+                     encrypted=0000000000000008
+
+Set 6, vector# 61:
+                           key=00000000000000000000
+                        cipher=0000000000000004
+                         plain=1A2CAF66A875642E
+                     encrypted=0000000000000004
+
+Set 6, vector# 62:
+                           key=00000000000000000000
+                        cipher=0000000000000002
+                         plain=F69E5390C73686EF
+                     encrypted=0000000000000002
+
+Set 6, vector# 63:
+                           key=00000000000000000000
+                        cipher=0000000000000001
+                         plain=3FD11B6447552201
+                     encrypted=0000000000000001
+
+Test vectors -- set 7
+=====================
+
+Set 7, vector#  0:
+                           key=00000000000000000000
+                        cipher=0000000000000000
+                         plain=EF506CB600C2E95F
+                     encrypted=0000000000000000
+
+Set 7, vector#  1:
+                           key=01010101010101010101
+                        cipher=0101010101010101
+                         plain=E61FC14F23AA0B5B
+                     encrypted=0101010101010101
+
+Set 7, vector#  2:
+                           key=02020202020202020202
+                        cipher=0202020202020202
+                         plain=120E86D6C1799363
+                     encrypted=0202020202020202
+
+Set 7, vector#  3:
+                           key=03030303030303030303
+                        cipher=0303030303030303
+                         plain=0D4DF34E2778A9BC
+                     encrypted=0303030303030303
+
+Set 7, vector#  4:
+                           key=04040404040404040404
+                        cipher=0404040404040404
+                         plain=D51C70B8DB27F40D
+                     encrypted=0404040404040404
+
+Set 7, vector#  5:
+                           key=05050505050505050505
+                        cipher=0505050505050505
+                         plain=4EA97DAEB12F1668
+                     encrypted=0505050505050505
+
+Set 7, vector#  6:
+                           key=06060606060606060606
+                        cipher=0606060606060606
+                         plain=3929C9E31CABC1AF
+                     encrypted=0606060606060606
+
+Set 7, vector#  7:
+                           key=07070707070707070707
+                        cipher=0707070707070707
+                         plain=D27E6A8AC4A48382
+                     encrypted=0707070707070707
+
+Set 7, vector#  8:
+                           key=08080808080808080808
+                        cipher=0808080808080808
+                         plain=A53C046DE7638CF6
+                     encrypted=0808080808080808
+
+Set 7, vector#  9:
+                           key=09090909090909090909
+                        cipher=0909090909090909
+                         plain=C10D34B0E6CDF24F
+                     encrypted=0909090909090909
+
+Set 7, vector# 10:
+                           key=0A0A0A0A0A0A0A0A0A0A
+                        cipher=0A0A0A0A0A0A0A0A
+                         plain=974869411D28D8B1
+                     encrypted=0A0A0A0A0A0A0A0A
+
+Set 7, vector# 11:
+                           key=0B0B0B0B0B0B0B0B0B0B
+                        cipher=0B0B0B0B0B0B0B0B
+                         plain=69F3A5AFA29C1CE6
+                     encrypted=0B0B0B0B0B0B0B0B
+
+Set 7, vector# 12:
+                           key=0C0C0C0C0C0C0C0C0C0C
+                        cipher=0C0C0C0C0C0C0C0C
+                         plain=CF81E81D72674FB6
+                     encrypted=0C0C0C0C0C0C0C0C
+
+Set 7, vector# 13:
+                           key=0D0D0D0D0D0D0D0D0D0D
+                        cipher=0D0D0D0D0D0D0D0D
+                         plain=259DCABDCBE2B997
+                     encrypted=0D0D0D0D0D0D0D0D
+
+Set 7, vector# 14:
+                           key=0E0E0E0E0E0E0E0E0E0E
+                        cipher=0E0E0E0E0E0E0E0E
+                         plain=E53A949C99A26805
+                     encrypted=0E0E0E0E0E0E0E0E
+
+Set 7, vector# 15:
+                           key=0F0F0F0F0F0F0F0F0F0F
+                        cipher=0F0F0F0F0F0F0F0F
+                         plain=FE8FE8EEDFB72652
+                     encrypted=0F0F0F0F0F0F0F0F
+
+Set 7, vector# 16:
+                           key=10101010101010101010
+                        cipher=1010101010101010
+                         plain=D7B5D2385F3BE450
+                     encrypted=1010101010101010
+
+Set 7, vector# 17:
+                           key=11111111111111111111
+                        cipher=1111111111111111
+                         plain=FDCCF5B20F4021E4
+                     encrypted=1111111111111111
+
+Set 7, vector# 18:
+                           key=12121212121212121212
+                        cipher=1212121212121212
+                         plain=D7B50A216AF505D9
+                     encrypted=1212121212121212
+
+Set 7, vector# 19:
+                           key=13131313131313131313
+                        cipher=1313131313131313
+                         plain=46F6BD2F0ADBCC75
+                     encrypted=1313131313131313
+
+Set 7, vector# 20:
+                           key=14141414141414141414
+                        cipher=1414141414141414
+                         plain=048B432A1E1C42EF
+                     encrypted=1414141414141414
+
+Set 7, vector# 21:
+                           key=15151515151515151515
+                        cipher=1515151515151515
+                         plain=65822CB5A152DF9B
+                     encrypted=1515151515151515
+
+Set 7, vector# 22:
+                           key=16161616161616161616
+                        cipher=1616161616161616
+                         plain=5A93F8BD59738841
+                     encrypted=1616161616161616
+
+Set 7, vector# 23:
+                           key=17171717171717171717
+                        cipher=1717171717171717
+                         plain=E6C86E982809B976
+                     encrypted=1717171717171717
+
+Set 7, vector# 24:
+                           key=18181818181818181818
+                        cipher=1818181818181818
+                         plain=101D2C53B3B1C284
+                     encrypted=1818181818181818
+
+Set 7, vector# 25:
+                           key=19191919191919191919
+                        cipher=1919191919191919
+                         plain=90533BC6FB82C441
+                     encrypted=1919191919191919
+
+Set 7, vector# 26:
+                           key=1A1A1A1A1A1A1A1A1A1A
+                        cipher=1A1A1A1A1A1A1A1A
+                         plain=23509CADB9F08F9C
+                     encrypted=1A1A1A1A1A1A1A1A
+
+Set 7, vector# 27:
+                           key=1B1B1B1B1B1B1B1B1B1B
+                        cipher=1B1B1B1B1B1B1B1B
+                         plain=710F71BD4498819A
+                     encrypted=1B1B1B1B1B1B1B1B
+
+Set 7, vector# 28:
+                           key=1C1C1C1C1C1C1C1C1C1C
+                        cipher=1C1C1C1C1C1C1C1C
+                         plain=5BECF683E999FB46
+                     encrypted=1C1C1C1C1C1C1C1C
+
+Set 7, vector# 29:
+                           key=1D1D1D1D1D1D1D1D1D1D
+                        cipher=1D1D1D1D1D1D1D1D
+                         plain=8C3728818158A2BB
+                     encrypted=1D1D1D1D1D1D1D1D
+
+Set 7, vector# 30:
+                           key=1E1E1E1E1E1E1E1E1E1E
+                        cipher=1E1E1E1E1E1E1E1E
+                         plain=FDCB8AC6A4CFE284
+                     encrypted=1E1E1E1E1E1E1E1E
+
+Set 7, vector# 31:
+                           key=1F1F1F1F1F1F1F1F1F1F
+                        cipher=1F1F1F1F1F1F1F1F
+                         plain=FB8C314F9B023527
+                     encrypted=1F1F1F1F1F1F1F1F
+
+Set 7, vector# 32:
+                           key=20202020202020202020
+                        cipher=2020202020202020
+                         plain=54DF91EE1A4CF110
+                     encrypted=2020202020202020
+
+Set 7, vector# 33:
+                           key=21212121212121212121
+                        cipher=2121212121212121
+                         plain=B0BAF50F53C67226
+                     encrypted=2121212121212121
+
+Set 7, vector# 34:
+                           key=22222222222222222222
+                        cipher=2222222222222222
+                         plain=E91D6F869FD4D46E
+                     encrypted=2222222222222222
+
+Set 7, vector# 35:
+                           key=23232323232323232323
+                        cipher=2323232323232323
+                         plain=FE8BC8C72999AEB8
+                     encrypted=2323232323232323
+
+Set 7, vector# 36:
+                           key=24242424242424242424
+                        cipher=2424242424242424
+                         plain=57A596457B7737B8
+                     encrypted=2424242424242424
+
+Set 7, vector# 37:
+                           key=25252525252525252525
+                        cipher=2525252525252525
+                         plain=660E362A050C6D25
+                     encrypted=2525252525252525
+
+Set 7, vector# 38:
+                           key=26262626262626262626
+                        cipher=2626262626262626
+                         plain=64130F4C87A7CA77
+                     encrypted=2626262626262626
+
+Set 7, vector# 39:
+                           key=27272727272727272727
+                        cipher=2727272727272727
+                         plain=5892F1B387DEE7EB
+                     encrypted=2727272727272727
+
+Set 7, vector# 40:
+                           key=28282828282828282828
+                        cipher=2828282828282828
+                         plain=21613FB9BF3DEBD0
+                     encrypted=2828282828282828
+
+Set 7, vector# 41:
+                           key=29292929292929292929
+                        cipher=2929292929292929
+                         plain=93BAE9FCBB8235FA
+                     encrypted=2929292929292929
+
+Set 7, vector# 42:
+                           key=2A2A2A2A2A2A2A2A2A2A
+                        cipher=2A2A2A2A2A2A2A2A
+                         plain=71406E47C1D84340
+                     encrypted=2A2A2A2A2A2A2A2A
+
+Set 7, vector# 43:
+                           key=2B2B2B2B2B2B2B2B2B2B
+                        cipher=2B2B2B2B2B2B2B2B
+                         plain=D593DB8999724E6A
+                     encrypted=2B2B2B2B2B2B2B2B
+
+Set 7, vector# 44:
+                           key=2C2C2C2C2C2C2C2C2C2C
+                        cipher=2C2C2C2C2C2C2C2C
+                         plain=1AAFB0DBC0B42266
+                     encrypted=2C2C2C2C2C2C2C2C
+
+Set 7, vector# 45:
+                           key=2D2D2D2D2D2D2D2D2D2D
+                        cipher=2D2D2D2D2D2D2D2D
+                         plain=38B8EA0CE19BE3DD
+                     encrypted=2D2D2D2D2D2D2D2D
+
+Set 7, vector# 46:
+                           key=2E2E2E2E2E2E2E2E2E2E
+                        cipher=2E2E2E2E2E2E2E2E
+                         plain=162BD36D2E8352A4
+                     encrypted=2E2E2E2E2E2E2E2E
+
+Set 7, vector# 47:
+                           key=2F2F2F2F2F2F2F2F2F2F
+                        cipher=2F2F2F2F2F2F2F2F
+                         plain=BF981E52552020D5
+                     encrypted=2F2F2F2F2F2F2F2F
+
+Set 7, vector# 48:
+                           key=30303030303030303030
+                        cipher=3030303030303030
+                         plain=18C4E80473447B36
+                     encrypted=3030303030303030
+
+Set 7, vector# 49:
+                           key=31313131313131313131
+                        cipher=3131313131313131
+                         plain=69152942A3C166A4
+                     encrypted=3131313131313131
+
+Set 7, vector# 50:
+                           key=32323232323232323232
+                        cipher=3232323232323232
+                         plain=62613CD836C4939E
+                     encrypted=3232323232323232
+
+Set 7, vector# 51:
+                           key=33333333333333333333
+                        cipher=3333333333333333
+                         plain=C9D551C6DB40AEB9
+                     encrypted=3333333333333333
+
+Set 7, vector# 52:
+                           key=34343434343434343434
+                        cipher=3434343434343434
+                         plain=CAD2492C02B86832
+                     encrypted=3434343434343434
+
+Set 7, vector# 53:
+                           key=35353535353535353535
+                        cipher=3535353535353535
+                         plain=3B0C897C4A7DD65D
+                     encrypted=3535353535353535
+
+Set 7, vector# 54:
+                           key=36363636363636363636
+                        cipher=3636363636363636
+                         plain=CDE5D07B6028A1AC
+                     encrypted=3636363636363636
+
+Set 7, vector# 55:
+                           key=37373737373737373737
+                        cipher=3737373737373737
+                         plain=6FF7E919A0AB4DDF
+                     encrypted=3737373737373737
+
+Set 7, vector# 56:
+                           key=38383838383838383838
+                        cipher=3838383838383838
+                         plain=BE104F2850E8C8D3
+                     encrypted=3838383838383838
+
+Set 7, vector# 57:
+                           key=39393939393939393939
+                        cipher=3939393939393939
+                         plain=0D60EE225BA14E8C
+                     encrypted=3939393939393939
+
+Set 7, vector# 58:
+                           key=3A3A3A3A3A3A3A3A3A3A
+                        cipher=3A3A3A3A3A3A3A3A
+                         plain=0972A2296A01E689
+                     encrypted=3A3A3A3A3A3A3A3A
+
+Set 7, vector# 59:
+                           key=3B3B3B3B3B3B3B3B3B3B
+                        cipher=3B3B3B3B3B3B3B3B
+                         plain=00381B48E76FE5FE
+                     encrypted=3B3B3B3B3B3B3B3B
+
+Set 7, vector# 60:
+                           key=3C3C3C3C3C3C3C3C3C3C
+                        cipher=3C3C3C3C3C3C3C3C
+                         plain=9EFE4FEBDB275CF9
+                     encrypted=3C3C3C3C3C3C3C3C
+
+Set 7, vector# 61:
+                           key=3D3D3D3D3D3D3D3D3D3D
+                        cipher=3D3D3D3D3D3D3D3D
+                         plain=62C51690EE09727F
+                     encrypted=3D3D3D3D3D3D3D3D
+
+Set 7, vector# 62:
+                           key=3E3E3E3E3E3E3E3E3E3E
+                        cipher=3E3E3E3E3E3E3E3E
+                         plain=C736443E89D8ECE5
+                     encrypted=3E3E3E3E3E3E3E3E
+
+Set 7, vector# 63:
+                           key=3F3F3F3F3F3F3F3F3F3F
+                        cipher=3F3F3F3F3F3F3F3F
+                         plain=84C6C810E4813017
+                     encrypted=3F3F3F3F3F3F3F3F
+
+Set 7, vector# 64:
+                           key=40404040404040404040
+                        cipher=4040404040404040
+                         plain=DA9C844E4A8A2986
+                     encrypted=4040404040404040
+
+Set 7, vector# 65:
+                           key=41414141414141414141
+                        cipher=4141414141414141
+                         plain=9EAAA1692070C85C
+                     encrypted=4141414141414141
+
+Set 7, vector# 66:
+                           key=42424242424242424242
+                        cipher=4242424242424242
+                         plain=5F1B0BE23BFAA0EE
+                     encrypted=4242424242424242
+
+Set 7, vector# 67:
+                           key=43434343434343434343
+                        cipher=4343434343434343
+                         plain=458703ED5E024665
+                     encrypted=4343434343434343
+
+Set 7, vector# 68:
+                           key=44444444444444444444
+                        cipher=4444444444444444
+                         plain=EF881CECB581C2D6
+                     encrypted=4444444444444444
+
+Set 7, vector# 69:
+                           key=45454545454545454545
+                        cipher=4545454545454545
+                         plain=48F6FDADC5360E8E
+                     encrypted=4545454545454545
+
+Set 7, vector# 70:
+                           key=46464646464646464646
+                        cipher=4646464646464646
+                         plain=2CEF65AF5B8DF225
+                     encrypted=4646464646464646
+
+Set 7, vector# 71:
+                           key=47474747474747474747
+                        cipher=4747474747474747
+                         plain=1BE6C5042BAFEF5D
+                     encrypted=4747474747474747
+
+Set 7, vector# 72:
+                           key=48484848484848484848
+                        cipher=4848484848484848
+                         plain=6F2B7C9D8C8A2313
+                     encrypted=4848484848484848
+
+Set 7, vector# 73:
+                           key=49494949494949494949
+                        cipher=4949494949494949
+                         plain=DD7A2812AFDE13FC
+                     encrypted=4949494949494949
+
+Set 7, vector# 74:
+                           key=4A4A4A4A4A4A4A4A4A4A
+                        cipher=4A4A4A4A4A4A4A4A
+                         plain=A6FD72BC048525B8
+                     encrypted=4A4A4A4A4A4A4A4A
+
+Set 7, vector# 75:
+                           key=4B4B4B4B4B4B4B4B4B4B
+                        cipher=4B4B4B4B4B4B4B4B
+                         plain=1084412E70739262
+                     encrypted=4B4B4B4B4B4B4B4B
+
+Set 7, vector# 76:
+                           key=4C4C4C4C4C4C4C4C4C4C
+                        cipher=4C4C4C4C4C4C4C4C
+                         plain=614C127F9D719239
+                     encrypted=4C4C4C4C4C4C4C4C
+
+Set 7, vector# 77:
+                           key=4D4D4D4D4D4D4D4D4D4D
+                        cipher=4D4D4D4D4D4D4D4D
+                         plain=01782E43E4D8EBE5
+                     encrypted=4D4D4D4D4D4D4D4D
+
+Set 7, vector# 78:
+                           key=4E4E4E4E4E4E4E4E4E4E
+                        cipher=4E4E4E4E4E4E4E4E
+                         plain=9C6C0869CCA88566
+                     encrypted=4E4E4E4E4E4E4E4E
+
+Set 7, vector# 79:
+                           key=4F4F4F4F4F4F4F4F4F4F
+                        cipher=4F4F4F4F4F4F4F4F
+                         plain=680D4F74DC5D8DC1
+                     encrypted=4F4F4F4F4F4F4F4F
+
+Set 7, vector# 80:
+                           key=50505050505050505050
+                        cipher=5050505050505050
+                         plain=57C61DCF9CCE295F
+                     encrypted=5050505050505050
+
+Set 7, vector# 81:
+                           key=51515151515151515151
+                        cipher=5151515151515151
+                         plain=03A8CC4208135BA3
+                     encrypted=5151515151515151
+
+Set 7, vector# 82:
+                           key=52525252525252525252
+                        cipher=5252525252525252
+                         plain=875A37A92658144E
+                     encrypted=5252525252525252
+
+Set 7, vector# 83:
+                           key=53535353535353535353
+                        cipher=5353535353535353
+                         plain=851956AB6D6D5303
+                     encrypted=5353535353535353
+
+Set 7, vector# 84:
+                           key=54545454545454545454
+                        cipher=5454545454545454
+                         plain=EC7FD457A028FD4E
+                     encrypted=5454545454545454
+
+Set 7, vector# 85:
+                           key=55555555555555555555
+                        cipher=5555555555555555
+                         plain=4EBE82C26745D4E7
+                     encrypted=5555555555555555
+
+Set 7, vector# 86:
+                           key=56565656565656565656
+                        cipher=5656565656565656
+                         plain=C03016CD566E24CF
+                     encrypted=5656565656565656
+
+Set 7, vector# 87:
+                           key=57575757575757575757
+                        cipher=5757575757575757
+                         plain=5AF04F3C47978852
+                     encrypted=5757575757575757
+
+Set 7, vector# 88:
+                           key=58585858585858585858
+                        cipher=5858585858585858
+                         plain=FF65FC488561A7A9
+                     encrypted=5858585858585858
+
+Set 7, vector# 89:
+                           key=59595959595959595959
+                        cipher=5959595959595959
+                         plain=55EE82F55A118DE2
+                     encrypted=5959595959595959
+
+Set 7, vector# 90:
+                           key=5A5A5A5A5A5A5A5A5A5A
+                        cipher=5A5A5A5A5A5A5A5A
+                         plain=013AC1147D94AF98
+                     encrypted=5A5A5A5A5A5A5A5A
+
+Set 7, vector# 91:
+                           key=5B5B5B5B5B5B5B5B5B5B
+                        cipher=5B5B5B5B5B5B5B5B
+                         plain=6E6B16BE55B888D2
+                     encrypted=5B5B5B5B5B5B5B5B
+
+Set 7, vector# 92:
+                           key=5C5C5C5C5C5C5C5C5C5C
+                        cipher=5C5C5C5C5C5C5C5C
+                         plain=589E8F15B9C2594C
+                     encrypted=5C5C5C5C5C5C5C5C
+
+Set 7, vector# 93:
+                           key=5D5D5D5D5D5D5D5D5D5D
+                        cipher=5D5D5D5D5D5D5D5D
+                         plain=78E2106B22185547
+                     encrypted=5D5D5D5D5D5D5D5D
+
+Set 7, vector# 94:
+                           key=5E5E5E5E5E5E5E5E5E5E
+                        cipher=5E5E5E5E5E5E5E5E
+                         plain=2E1DAC4ED8E915CD
+                     encrypted=5E5E5E5E5E5E5E5E
+
+Set 7, vector# 95:
+                           key=5F5F5F5F5F5F5F5F5F5F
+                        cipher=5F5F5F5F5F5F5F5F
+                         plain=F235EB8E1BCB0D5B
+                     encrypted=5F5F5F5F5F5F5F5F
+
+Set 7, vector# 96:
+                           key=60606060606060606060
+                        cipher=6060606060606060
+                         plain=F5607F65253CC3A5
+                     encrypted=6060606060606060
+
+Set 7, vector# 97:
+                           key=61616161616161616161
+                        cipher=6161616161616161
+                         plain=912C48D196FEF313
+                     encrypted=6161616161616161
+
+Set 7, vector# 98:
+                           key=62626262626262626262
+                        cipher=6262626262626262
+                         plain=18DE3CD9DC5A8705
+                     encrypted=6262626262626262
+
+Set 7, vector# 99:
+                           key=63636363636363636363
+                        cipher=6363636363636363
+                         plain=C0540F1F53033EEB
+                     encrypted=6363636363636363
+
+Set 7, vector#100:
+                           key=64646464646464646464
+                        cipher=6464646464646464
+                         plain=377BEE6611B91C29
+                     encrypted=6464646464646464
+
+Set 7, vector#101:
+                           key=65656565656565656565
+                        cipher=6565656565656565
+                         plain=AF419F3C04AA6431
+                     encrypted=6565656565656565
+
+Set 7, vector#102:
+                           key=66666666666666666666
+                        cipher=6666666666666666
+                         plain=52567B8DD2CC0B4E
+                     encrypted=6666666666666666
+
+Set 7, vector#103:
+                           key=67676767676767676767
+                        cipher=6767676767676767
+                         plain=5C0628605373C946
+                     encrypted=6767676767676767
+
+Set 7, vector#104:
+                           key=68686868686868686868
+                        cipher=6868686868686868
+                         plain=F80380C5CBA5875D
+                     encrypted=6868686868686868
+
+Set 7, vector#105:
+                           key=69696969696969696969
+                        cipher=6969696969696969
+                         plain=5F554432862AE65D
+                     encrypted=6969696969696969
+
+Set 7, vector#106:
+                           key=6A6A6A6A6A6A6A6A6A6A
+                        cipher=6A6A6A6A6A6A6A6A
+                         plain=892D997A909255BE
+                     encrypted=6A6A6A6A6A6A6A6A
+
+Set 7, vector#107:
+                           key=6B6B6B6B6B6B6B6B6B6B
+                        cipher=6B6B6B6B6B6B6B6B
+                         plain=523559E16E949C20
+                     encrypted=6B6B6B6B6B6B6B6B
+
+Set 7, vector#108:
+                           key=6C6C6C6C6C6C6C6C6C6C
+                        cipher=6C6C6C6C6C6C6C6C
+                         plain=F199F0B43CA18599
+                     encrypted=6C6C6C6C6C6C6C6C
+
+Set 7, vector#109:
+                           key=6D6D6D6D6D6D6D6D6D6D
+                        cipher=6D6D6D6D6D6D6D6D
+                         plain=FD969E405ED2C76B
+                     encrypted=6D6D6D6D6D6D6D6D
+
+Set 7, vector#110:
+                           key=6E6E6E6E6E6E6E6E6E6E
+                        cipher=6E6E6E6E6E6E6E6E
+                         plain=CE573A8A52507735
+                     encrypted=6E6E6E6E6E6E6E6E
+
+Set 7, vector#111:
+                           key=6F6F6F6F6F6F6F6F6F6F
+                        cipher=6F6F6F6F6F6F6F6F
+                         plain=24E37F368CDB7635
+                     encrypted=6F6F6F6F6F6F6F6F
+
+Set 7, vector#112:
+                           key=70707070707070707070
+                        cipher=7070707070707070
+                         plain=86BEADFEDBE9EE18
+                     encrypted=7070707070707070
+
+Set 7, vector#113:
+                           key=71717171717171717171
+                        cipher=7171717171717171
+                         plain=E3B276D17874741D
+                     encrypted=7171717171717171
+
+Set 7, vector#114:
+                           key=72727272727272727272
+                        cipher=7272727272727272
+                         plain=0A746C8A60D330E8
+                     encrypted=7272727272727272
+
+Set 7, vector#115:
+                           key=73737373737373737373
+                        cipher=7373737373737373
+                         plain=4BF4C31ACB91FF0E
+                     encrypted=7373737373737373
+
+Set 7, vector#116:
+                           key=74747474747474747474
+                        cipher=7474747474747474
+                         plain=085D257FC07F90F4
+                     encrypted=7474747474747474
+
+Set 7, vector#117:
+                           key=75757575757575757575
+                        cipher=7575757575757575
+                         plain=AA4AB35E42946E61
+                     encrypted=7575757575757575
+
+Set 7, vector#118:
+                           key=76767676767676767676
+                        cipher=7676767676767676
+                         plain=2D5EDB75BC4D79D5
+                     encrypted=7676767676767676
+
+Set 7, vector#119:
+                           key=77777777777777777777
+                        cipher=7777777777777777
+                         plain=AB89BA7FA9920083
+                     encrypted=7777777777777777
+
+Set 7, vector#120:
+                           key=78787878787878787878
+                        cipher=7878787878787878
+                         plain=A7A837221068364F
+                     encrypted=7878787878787878
+
+Set 7, vector#121:
+                           key=79797979797979797979
+                        cipher=7979797979797979
+                         plain=693B7CE37E7E1A12
+                     encrypted=7979797979797979
+
+Set 7, vector#122:
+                           key=7A7A7A7A7A7A7A7A7A7A
+                        cipher=7A7A7A7A7A7A7A7A
+                         plain=805EC2A0F5CC9F26
+                     encrypted=7A7A7A7A7A7A7A7A
+
+Set 7, vector#123:
+                           key=7B7B7B7B7B7B7B7B7B7B
+                        cipher=7B7B7B7B7B7B7B7B
+                         plain=8946DD4C183DD8E4
+                     encrypted=7B7B7B7B7B7B7B7B
+
+Set 7, vector#124:
+                           key=7C7C7C7C7C7C7C7C7C7C
+                        cipher=7C7C7C7C7C7C7C7C
+                         plain=7219A24CF462D539
+                     encrypted=7C7C7C7C7C7C7C7C
+
+Set 7, vector#125:
+                           key=7D7D7D7D7D7D7D7D7D7D
+                        cipher=7D7D7D7D7D7D7D7D
+                         plain=48664A9E508073E8
+                     encrypted=7D7D7D7D7D7D7D7D
+
+Set 7, vector#126:
+                           key=7E7E7E7E7E7E7E7E7E7E
+                        cipher=7E7E7E7E7E7E7E7E
+                         plain=1EEF6EAC21E3A75B
+                     encrypted=7E7E7E7E7E7E7E7E
+
+Set 7, vector#127:
+                           key=7F7F7F7F7F7F7F7F7F7F
+                        cipher=7F7F7F7F7F7F7F7F
+                         plain=24B687A82F57058A
+                     encrypted=7F7F7F7F7F7F7F7F
+
+Set 7, vector#128:
+                           key=80808080808080808080
+                        cipher=8080808080808080
+                         plain=5E954727DC874E6F
+                     encrypted=8080808080808080
+
+Set 7, vector#129:
+                           key=81818181818181818181
+                        cipher=8181818181818181
+                         plain=271DAE7CE5062C0E
+                     encrypted=8181818181818181
+
+Set 7, vector#130:
+                           key=82828282828282828282
+                        cipher=8282828282828282
+                         plain=6EF37185572315B1
+                     encrypted=8282828282828282
+
+Set 7, vector#131:
+                           key=83838383838383838383
+                        cipher=8383838383838383
+                         plain=A75D340C02F577F6
+                     encrypted=8383838383838383
+
+Set 7, vector#132:
+                           key=84848484848484848484
+                        cipher=8484848484848484
+                         plain=7EC795EFDE765312
+                     encrypted=8484848484848484
+
+Set 7, vector#133:
+                           key=85858585858585858585
+                        cipher=8585858585858585
+                         plain=8AEB6DD7741CD8A6
+                     encrypted=8585858585858585
+
+Set 7, vector#134:
+                           key=86868686868686868686
+                        cipher=8686868686868686
+                         plain=EF85C93352CF01D9
+                     encrypted=8686868686868686
+
+Set 7, vector#135:
+                           key=87878787878787878787
+                        cipher=8787878787878787
+                         plain=E380704406CBADB6
+                     encrypted=8787878787878787
+
+Set 7, vector#136:
+                           key=88888888888888888888
+                        cipher=8888888888888888
+                         plain=838DF799BF5113A6
+                     encrypted=8888888888888888
+
+Set 7, vector#137:
+                           key=89898989898989898989
+                        cipher=8989898989898989
+                         plain=BAAC2569D461D306
+                     encrypted=8989898989898989
+
+Set 7, vector#138:
+                           key=8A8A8A8A8A8A8A8A8A8A
+                        cipher=8A8A8A8A8A8A8A8A
+                         plain=335CB1CFCD468DD0
+                     encrypted=8A8A8A8A8A8A8A8A
+
+Set 7, vector#139:
+                           key=8B8B8B8B8B8B8B8B8B8B
+                        cipher=8B8B8B8B8B8B8B8B
+                         plain=8115DEE6322543BA
+                     encrypted=8B8B8B8B8B8B8B8B
+
+Set 7, vector#140:
+                           key=8C8C8C8C8C8C8C8C8C8C
+                        cipher=8C8C8C8C8C8C8C8C
+                         plain=F2CF470ABE41FA1F
+                     encrypted=8C8C8C8C8C8C8C8C
+
+Set 7, vector#141:
+                           key=8D8D8D8D8D8D8D8D8D8D
+                        cipher=8D8D8D8D8D8D8D8D
+                         plain=60D50EFB9330C238
+                     encrypted=8D8D8D8D8D8D8D8D
+
+Set 7, vector#142:
+                           key=8E8E8E8E8E8E8E8E8E8E
+                        cipher=8E8E8E8E8E8E8E8E
+                         plain=A605F5FB48A0234E
+                     encrypted=8E8E8E8E8E8E8E8E
+
+Set 7, vector#143:
+                           key=8F8F8F8F8F8F8F8F8F8F
+                        cipher=8F8F8F8F8F8F8F8F
+                         plain=434C1FE0F2C79F9D
+                     encrypted=8F8F8F8F8F8F8F8F
+
+Set 7, vector#144:
+                           key=90909090909090909090
+                        cipher=9090909090909090
+                         plain=7800283FE08D22E9
+                     encrypted=9090909090909090
+
+Set 7, vector#145:
+                           key=91919191919191919191
+                        cipher=9191919191919191
+                         plain=7E8A1565CA3637D1
+                     encrypted=9191919191919191
+
+Set 7, vector#146:
+                           key=92929292929292929292
+                        cipher=9292929292929292
+                         plain=411E928D57C5F4A5
+                     encrypted=9292929292929292
+
+Set 7, vector#147:
+                           key=93939393939393939393
+                        cipher=9393939393939393
+                         plain=0C8ECA1729F1A2EF
+                     encrypted=9393939393939393
+
+Set 7, vector#148:
+                           key=94949494949494949494
+                        cipher=9494949494949494
+                         plain=7B1A6C0D7A2B2C57
+                     encrypted=9494949494949494
+
+Set 7, vector#149:
+                           key=95959595959595959595
+                        cipher=9595959595959595
+                         plain=5780F0B8EF814862
+                     encrypted=9595959595959595
+
+Set 7, vector#150:
+                           key=96969696969696969696
+                        cipher=9696969696969696
+                         plain=25791EA46AE9DE7B
+                     encrypted=9696969696969696
+
+Set 7, vector#151:
+                           key=97979797979797979797
+                        cipher=9797979797979797
+                         plain=18AF4FC55CA58BA4
+                     encrypted=9797979797979797
+
+Set 7, vector#152:
+                           key=98989898989898989898
+                        cipher=9898989898989898
+                         plain=E422E032C0FB86EA
+                     encrypted=9898989898989898
+
+Set 7, vector#153:
+                           key=99999999999999999999
+                        cipher=9999999999999999
+                         plain=6EBB9ABCC2DBABE0
+                     encrypted=9999999999999999
+
+Set 7, vector#154:
+                           key=9A9A9A9A9A9A9A9A9A9A
+                        cipher=9A9A9A9A9A9A9A9A
+                         plain=AD4ABCB72990C6B7
+                     encrypted=9A9A9A9A9A9A9A9A
+
+Set 7, vector#155:
+                           key=9B9B9B9B9B9B9B9B9B9B
+                        cipher=9B9B9B9B9B9B9B9B
+                         plain=CBEEC0F13A198E33
+                     encrypted=9B9B9B9B9B9B9B9B
+
+Set 7, vector#156:
+                           key=9C9C9C9C9C9C9C9C9C9C
+                        cipher=9C9C9C9C9C9C9C9C
+                         plain=3E4BD4543645F331
+                     encrypted=9C9C9C9C9C9C9C9C
+
+Set 7, vector#157:
+                           key=9D9D9D9D9D9D9D9D9D9D
+                        cipher=9D9D9D9D9D9D9D9D
+                         plain=61834B588F08CF86
+                     encrypted=9D9D9D9D9D9D9D9D
+
+Set 7, vector#158:
+                           key=9E9E9E9E9E9E9E9E9E9E
+                        cipher=9E9E9E9E9E9E9E9E
+                         plain=F7522EA46DB2F083
+                     encrypted=9E9E9E9E9E9E9E9E
+
+Set 7, vector#159:
+                           key=9F9F9F9F9F9F9F9F9F9F
+                        cipher=9F9F9F9F9F9F9F9F
+                         plain=118F660F72D3E23D
+                     encrypted=9F9F9F9F9F9F9F9F
+
+Set 7, vector#160:
+                           key=A0A0A0A0A0A0A0A0A0A0
+                        cipher=A0A0A0A0A0A0A0A0
+                         plain=D99F548670C68D27
+                     encrypted=A0A0A0A0A0A0A0A0
+
+Set 7, vector#161:
+                           key=A1A1A1A1A1A1A1A1A1A1
+                        cipher=A1A1A1A1A1A1A1A1
+                         plain=810CAFEF73AAB0CD
+                     encrypted=A1A1A1A1A1A1A1A1
+
+Set 7, vector#162:
+                           key=A2A2A2A2A2A2A2A2A2A2
+                        cipher=A2A2A2A2A2A2A2A2
+                         plain=C211AB2566B598C8
+                     encrypted=A2A2A2A2A2A2A2A2
+
+Set 7, vector#163:
+                           key=A3A3A3A3A3A3A3A3A3A3
+                        cipher=A3A3A3A3A3A3A3A3
+                         plain=DA28F5A9BA76EB73
+                     encrypted=A3A3A3A3A3A3A3A3
+
+Set 7, vector#164:
+                           key=A4A4A4A4A4A4A4A4A4A4
+                        cipher=A4A4A4A4A4A4A4A4
+                         plain=9E9377F8C34CED2C
+                     encrypted=A4A4A4A4A4A4A4A4
+
+Set 7, vector#165:
+                           key=A5A5A5A5A5A5A5A5A5A5
+                        cipher=A5A5A5A5A5A5A5A5
+                         plain=C19C890F6D47BD1B
+                     encrypted=A5A5A5A5A5A5A5A5
+
+Set 7, vector#166:
+                           key=A6A6A6A6A6A6A6A6A6A6
+                        cipher=A6A6A6A6A6A6A6A6
+                         plain=6F35A5E0AB72B558
+                     encrypted=A6A6A6A6A6A6A6A6
+
+Set 7, vector#167:
+                           key=A7A7A7A7A7A7A7A7A7A7
+                        cipher=A7A7A7A7A7A7A7A7
+                         plain=AE69E75879DDD0D5
+                     encrypted=A7A7A7A7A7A7A7A7
+
+Set 7, vector#168:
+                           key=A8A8A8A8A8A8A8A8A8A8
+                        cipher=A8A8A8A8A8A8A8A8
+                         plain=DC7D2CEF6D7ADF04
+                     encrypted=A8A8A8A8A8A8A8A8
+
+Set 7, vector#169:
+                           key=A9A9A9A9A9A9A9A9A9A9
+                        cipher=A9A9A9A9A9A9A9A9
+                         plain=5C791E049BA99354
+                     encrypted=A9A9A9A9A9A9A9A9
+
+Set 7, vector#170:
+                           key=AAAAAAAAAAAAAAAAAAAA
+                        cipher=AAAAAAAAAAAAAAAA
+                         plain=08F1EE3DDA351FC1
+                     encrypted=AAAAAAAAAAAAAAAA
+
+Set 7, vector#171:
+                           key=ABABABABABABABABABAB
+                        cipher=ABABABABABABABAB
+                         plain=B1ECD6DAC70A1A78
+                     encrypted=ABABABABABABABAB
+
+Set 7, vector#172:
+                           key=ACACACACACACACACACAC
+                        cipher=ACACACACACACACAC
+                         plain=07654739A20EFB12
+                     encrypted=ACACACACACACACAC
+
+Set 7, vector#173:
+                           key=ADADADADADADADADADAD
+                        cipher=ADADADADADADADAD
+                         plain=418B7FA34D9CC988
+                     encrypted=ADADADADADADADAD
+
+Set 7, vector#174:
+                           key=AEAEAEAEAEAEAEAEAEAE
+                        cipher=AEAEAEAEAEAEAEAE
+                         plain=18819DBCD4C41BF8
+                     encrypted=AEAEAEAEAEAEAEAE
+
+Set 7, vector#175:
+                           key=AFAFAFAFAFAFAFAFAFAF
+                        cipher=AFAFAFAFAFAFAFAF
+                         plain=FB1662409192F8E2
+                     encrypted=AFAFAFAFAFAFAFAF
+
+Set 7, vector#176:
+                           key=B0B0B0B0B0B0B0B0B0B0
+                        cipher=B0B0B0B0B0B0B0B0
+                         plain=79B530F35EA386DB
+                     encrypted=B0B0B0B0B0B0B0B0
+
+Set 7, vector#177:
+                           key=B1B1B1B1B1B1B1B1B1B1
+                        cipher=B1B1B1B1B1B1B1B1
+                         plain=5C05CEFE9C5E30A7
+                     encrypted=B1B1B1B1B1B1B1B1
+
+Set 7, vector#178:
+                           key=B2B2B2B2B2B2B2B2B2B2
+                        cipher=B2B2B2B2B2B2B2B2
+                         plain=33C8C3F195FDD56C
+                     encrypted=B2B2B2B2B2B2B2B2
+
+Set 7, vector#179:
+                           key=B3B3B3B3B3B3B3B3B3B3
+                        cipher=B3B3B3B3B3B3B3B3
+                         plain=6B230C8CE4B58AF8
+                     encrypted=B3B3B3B3B3B3B3B3
+
+Set 7, vector#180:
+                           key=B4B4B4B4B4B4B4B4B4B4
+                        cipher=B4B4B4B4B4B4B4B4
+                         plain=55E9B58B4D70CF00
+                     encrypted=B4B4B4B4B4B4B4B4
+
+Set 7, vector#181:
+                           key=B5B5B5B5B5B5B5B5B5B5
+                        cipher=B5B5B5B5B5B5B5B5
+                         plain=31BB1F65698B89AF
+                     encrypted=B5B5B5B5B5B5B5B5
+
+Set 7, vector#182:
+                           key=B6B6B6B6B6B6B6B6B6B6
+                        cipher=B6B6B6B6B6B6B6B6
+                         plain=EB2C3849BFBC2EF0
+                     encrypted=B6B6B6B6B6B6B6B6
+
+Set 7, vector#183:
+                           key=B7B7B7B7B7B7B7B7B7B7
+                        cipher=B7B7B7B7B7B7B7B7
+                         plain=D6769637DD1BD820
+                     encrypted=B7B7B7B7B7B7B7B7
+
+Set 7, vector#184:
+                           key=B8B8B8B8B8B8B8B8B8B8
+                        cipher=B8B8B8B8B8B8B8B8
+                         plain=9C26A4C6C139901E
+                     encrypted=B8B8B8B8B8B8B8B8
+
+Set 7, vector#185:
+                           key=B9B9B9B9B9B9B9B9B9B9
+                        cipher=B9B9B9B9B9B9B9B9
+                         plain=977948BE050B60D7
+                     encrypted=B9B9B9B9B9B9B9B9
+
+Set 7, vector#186:
+                           key=BABABABABABABABABABA
+                        cipher=BABABABABABABABA
+                         plain=153434BDA85E2A46
+                     encrypted=BABABABABABABABA
+
+Set 7, vector#187:
+                           key=BBBBBBBBBBBBBBBBBBBB
+                        cipher=BBBBBBBBBBBBBBBB
+                         plain=F6656CBF4336AF47
+                     encrypted=BBBBBBBBBBBBBBBB
+
+Set 7, vector#188:
+                           key=BCBCBCBCBCBCBCBCBCBC
+                        cipher=BCBCBCBCBCBCBCBC
+                         plain=6792BD8FD00BD779
+                     encrypted=BCBCBCBCBCBCBCBC
+
+Set 7, vector#189:
+                           key=BDBDBDBDBDBDBDBDBDBD
+                        cipher=BDBDBDBDBDBDBDBD
+                         plain=D533BFEC8F240C23
+                     encrypted=BDBDBDBDBDBDBDBD
+
+Set 7, vector#190:
+                           key=BEBEBEBEBEBEBEBEBEBE
+                        cipher=BEBEBEBEBEBEBEBE
+                         plain=23B57A0A41BB7BFF
+                     encrypted=BEBEBEBEBEBEBEBE
+
+Set 7, vector#191:
+                           key=BFBFBFBFBFBFBFBFBFBF
+                        cipher=BFBFBFBFBFBFBFBF
+                         plain=86E26F0A4EA72C58
+                     encrypted=BFBFBFBFBFBFBFBF
+
+Set 7, vector#192:
+                           key=C0C0C0C0C0C0C0C0C0C0
+                        cipher=C0C0C0C0C0C0C0C0
+                         plain=BCF0A785E94AB519
+                     encrypted=C0C0C0C0C0C0C0C0
+
+Set 7, vector#193:
+                           key=C1C1C1C1C1C1C1C1C1C1
+                        cipher=C1C1C1C1C1C1C1C1
+                         plain=8AB79CAE1D24D17E
+                     encrypted=C1C1C1C1C1C1C1C1
+
+Set 7, vector#194:
+                           key=C2C2C2C2C2C2C2C2C2C2
+                        cipher=C2C2C2C2C2C2C2C2
+                         plain=2EED63E6140715AB
+                     encrypted=C2C2C2C2C2C2C2C2
+
+Set 7, vector#195:
+                           key=C3C3C3C3C3C3C3C3C3C3
+                        cipher=C3C3C3C3C3C3C3C3
+                         plain=77E79C846EAC0D0A
+                     encrypted=C3C3C3C3C3C3C3C3
+
+Set 7, vector#196:
+                           key=C4C4C4C4C4C4C4C4C4C4
+                        cipher=C4C4C4C4C4C4C4C4
+                         plain=41D50D41146AFB25
+                     encrypted=C4C4C4C4C4C4C4C4
+
+Set 7, vector#197:
+                           key=C5C5C5C5C5C5C5C5C5C5
+                        cipher=C5C5C5C5C5C5C5C5
+                         plain=6C2A366368232999
+                     encrypted=C5C5C5C5C5C5C5C5
+
+Set 7, vector#198:
+                           key=C6C6C6C6C6C6C6C6C6C6
+                        cipher=C6C6C6C6C6C6C6C6
+                         plain=68F4F27930997156
+                     encrypted=C6C6C6C6C6C6C6C6
+
+Set 7, vector#199:
+                           key=C7C7C7C7C7C7C7C7C7C7
+                        cipher=C7C7C7C7C7C7C7C7
+                         plain=D5A84AF7F638A944
+                     encrypted=C7C7C7C7C7C7C7C7
+
+Set 7, vector#200:
+                           key=C8C8C8C8C8C8C8C8C8C8
+                        cipher=C8C8C8C8C8C8C8C8
+                         plain=A3FC97CAA8884ACA
+                     encrypted=C8C8C8C8C8C8C8C8
+
+Set 7, vector#201:
+                           key=C9C9C9C9C9C9C9C9C9C9
+                        cipher=C9C9C9C9C9C9C9C9
+                         plain=D6EEA162E07960FB
+                     encrypted=C9C9C9C9C9C9C9C9
+
+Set 7, vector#202:
+                           key=CACACACACACACACACACA
+                        cipher=CACACACACACACACA
+                         plain=50E51B2DE71D0687
+                     encrypted=CACACACACACACACA
+
+Set 7, vector#203:
+                           key=CBCBCBCBCBCBCBCBCBCB
+                        cipher=CBCBCBCBCBCBCBCB
+                         plain=78C1DC383D6897CF
+                     encrypted=CBCBCBCBCBCBCBCB
+
+Set 7, vector#204:
+                           key=CCCCCCCCCCCCCCCCCCCC
+                        cipher=CCCCCCCCCCCCCCCC
+                         plain=F7EE6041E587B059
+                     encrypted=CCCCCCCCCCCCCCCC
+
+Set 7, vector#205:
+                           key=CDCDCDCDCDCDCDCDCDCD
+                        cipher=CDCDCDCDCDCDCDCD
+                         plain=294CCE33EC5410E9
+                     encrypted=CDCDCDCDCDCDCDCD
+
+Set 7, vector#206:
+                           key=CECECECECECECECECECE
+                        cipher=CECECECECECECECE
+                         plain=CE8C831A6DD45948
+                     encrypted=CECECECECECECECE
+
+Set 7, vector#207:
+                           key=CFCFCFCFCFCFCFCFCFCF
+                        cipher=CFCFCFCFCFCFCFCF
+                         plain=2219AEF85220A9ED
+                     encrypted=CFCFCFCFCFCFCFCF
+
+Set 7, vector#208:
+                           key=D0D0D0D0D0D0D0D0D0D0
+                        cipher=D0D0D0D0D0D0D0D0
+                         plain=73A258D926DB7BBA
+                     encrypted=D0D0D0D0D0D0D0D0
+
+Set 7, vector#209:
+                           key=D1D1D1D1D1D1D1D1D1D1
+                        cipher=D1D1D1D1D1D1D1D1
+                         plain=45FB49CF358565A0
+                     encrypted=D1D1D1D1D1D1D1D1
+
+Set 7, vector#210:
+                           key=D2D2D2D2D2D2D2D2D2D2
+                        cipher=D2D2D2D2D2D2D2D2
+                         plain=46C1222E8C9E2F7C
+                     encrypted=D2D2D2D2D2D2D2D2
+
+Set 7, vector#211:
+                           key=D3D3D3D3D3D3D3D3D3D3
+                        cipher=D3D3D3D3D3D3D3D3
+                         plain=034D7ACDC091ACF3
+                     encrypted=D3D3D3D3D3D3D3D3
+
+Set 7, vector#212:
+                           key=D4D4D4D4D4D4D4D4D4D4
+                        cipher=D4D4D4D4D4D4D4D4
+                         plain=C0C6CB7062225C62
+                     encrypted=D4D4D4D4D4D4D4D4
+
+Set 7, vector#213:
+                           key=D5D5D5D5D5D5D5D5D5D5
+                        cipher=D5D5D5D5D5D5D5D5
+                         plain=35EE2C8E0620382B
+                     encrypted=D5D5D5D5D5D5D5D5
+
+Set 7, vector#214:
+                           key=D6D6D6D6D6D6D6D6D6D6
+                        cipher=D6D6D6D6D6D6D6D6
+                         plain=14999A98FD173492
+                     encrypted=D6D6D6D6D6D6D6D6
+
+Set 7, vector#215:
+                           key=D7D7D7D7D7D7D7D7D7D7
+                        cipher=D7D7D7D7D7D7D7D7
+                         plain=96984F00437B1D93
+                     encrypted=D7D7D7D7D7D7D7D7
+
+Set 7, vector#216:
+                           key=D8D8D8D8D8D8D8D8D8D8
+                        cipher=D8D8D8D8D8D8D8D8
+                         plain=32EE51464F026DC4
+                     encrypted=D8D8D8D8D8D8D8D8
+
+Set 7, vector#217:
+                           key=D9D9D9D9D9D9D9D9D9D9
+                        cipher=D9D9D9D9D9D9D9D9
+                         plain=320B2B200D71AB9B
+                     encrypted=D9D9D9D9D9D9D9D9
+
+Set 7, vector#218:
+                           key=DADADADADADADADADADA
+                        cipher=DADADADADADADADA
+                         plain=0A2A1DF41E5F735F
+                     encrypted=DADADADADADADADA
+
+Set 7, vector#219:
+                           key=DBDBDBDBDBDBDBDBDBDB
+                        cipher=DBDBDBDBDBDBDBDB
+                         plain=CF019F68BCABF595
+                     encrypted=DBDBDBDBDBDBDBDB
+
+Set 7, vector#220:
+                           key=DCDCDCDCDCDCDCDCDCDC
+                        cipher=DCDCDCDCDCDCDCDC
+                         plain=F69A32F1A0E3CE8A
+                     encrypted=DCDCDCDCDCDCDCDC
+
+Set 7, vector#221:
+                           key=DDDDDDDDDDDDDDDDDDDD
+                        cipher=DDDDDDDDDDDDDDDD
+                         plain=D93007492BD08309
+                     encrypted=DDDDDDDDDDDDDDDD
+
+Set 7, vector#222:
+                           key=DEDEDEDEDEDEDEDEDEDE
+                        cipher=DEDEDEDEDEDEDEDE
+                         plain=EF98A01F217A9350
+                     encrypted=DEDEDEDEDEDEDEDE
+
+Set 7, vector#223:
+                           key=DFDFDFDFDFDFDFDFDFDF
+                        cipher=DFDFDFDFDFDFDFDF
+                         plain=37B6902DEEBA1B28
+                     encrypted=DFDFDFDFDFDFDFDF
+
+Set 7, vector#224:
+                           key=E0E0E0E0E0E0E0E0E0E0
+                        cipher=E0E0E0E0E0E0E0E0
+                         plain=08D05AB981720F2D
+                     encrypted=E0E0E0E0E0E0E0E0
+
+Set 7, vector#225:
+                           key=E1E1E1E1E1E1E1E1E1E1
+                        cipher=E1E1E1E1E1E1E1E1
+                         plain=3ABCA898AAC9D749
+                     encrypted=E1E1E1E1E1E1E1E1
+
+Set 7, vector#226:
+                           key=E2E2E2E2E2E2E2E2E2E2
+                        cipher=E2E2E2E2E2E2E2E2
+                         plain=5B993890BBDAE078
+                     encrypted=E2E2E2E2E2E2E2E2
+
+Set 7, vector#227:
+                           key=E3E3E3E3E3E3E3E3E3E3
+                        cipher=E3E3E3E3E3E3E3E3
+                         plain=6E32AEBEE7E766E5
+                     encrypted=E3E3E3E3E3E3E3E3
+
+Set 7, vector#228:
+                           key=E4E4E4E4E4E4E4E4E4E4
+                        cipher=E4E4E4E4E4E4E4E4
+                         plain=52260E9D641E4F19
+                     encrypted=E4E4E4E4E4E4E4E4
+
+Set 7, vector#229:
+                           key=E5E5E5E5E5E5E5E5E5E5
+                        cipher=E5E5E5E5E5E5E5E5
+                         plain=0645B7FEDEC42858
+                     encrypted=E5E5E5E5E5E5E5E5
+
+Set 7, vector#230:
+                           key=E6E6E6E6E6E6E6E6E6E6
+                        cipher=E6E6E6E6E6E6E6E6
+                         plain=1E84DAF3A2DF0041
+                     encrypted=E6E6E6E6E6E6E6E6
+
+Set 7, vector#231:
+                           key=E7E7E7E7E7E7E7E7E7E7
+                        cipher=E7E7E7E7E7E7E7E7
+                         plain=00C270F4E6F69F98
+                     encrypted=E7E7E7E7E7E7E7E7
+
+Set 7, vector#232:
+                           key=E8E8E8E8E8E8E8E8E8E8
+                        cipher=E8E8E8E8E8E8E8E8
+                         plain=A33FA1DD70FA2D79
+                     encrypted=E8E8E8E8E8E8E8E8
+
+Set 7, vector#233:
+                           key=E9E9E9E9E9E9E9E9E9E9
+                        cipher=E9E9E9E9E9E9E9E9
+                         plain=AAF8165CB77F3A29
+                     encrypted=E9E9E9E9E9E9E9E9
+
+Set 7, vector#234:
+                           key=EAEAEAEAEAEAEAEAEAEA
+                        cipher=EAEAEAEAEAEAEAEA
+                         plain=B868779765F245EE
+                     encrypted=EAEAEAEAEAEAEAEA
+
+Set 7, vector#235:
+                           key=EBEBEBEBEBEBEBEBEBEB
+                        cipher=EBEBEBEBEBEBEBEB
+                         plain=CEE9C408F428660E
+                     encrypted=EBEBEBEBEBEBEBEB
+
+Set 7, vector#236:
+                           key=ECECECECECECECECECEC
+                        cipher=ECECECECECECECEC
+                         plain=22E4C817E9FA2B4C
+                     encrypted=ECECECECECECECEC
+
+Set 7, vector#237:
+                           key=EDEDEDEDEDEDEDEDEDED
+                        cipher=EDEDEDEDEDEDEDED
+                         plain=E23BB6C15E176137
+                     encrypted=EDEDEDEDEDEDEDED
+
+Set 7, vector#238:
+                           key=EEEEEEEEEEEEEEEEEEEE
+                        cipher=EEEEEEEEEEEEEEEE
+                         plain=612CA9AC91680CE1
+                     encrypted=EEEEEEEEEEEEEEEE
+
+Set 7, vector#239:
+                           key=EFEFEFEFEFEFEFEFEFEF
+                        cipher=EFEFEFEFEFEFEFEF
+                         plain=4528C0DAF7650BB2
+                     encrypted=EFEFEFEFEFEFEFEF
+
+Set 7, vector#240:
+                           key=F0F0F0F0F0F0F0F0F0F0
+                        cipher=F0F0F0F0F0F0F0F0
+                         plain=DB5BFAF79E83095D
+                     encrypted=F0F0F0F0F0F0F0F0
+
+Set 7, vector#241:
+                           key=F1F1F1F1F1F1F1F1F1F1
+                        cipher=F1F1F1F1F1F1F1F1
+                         plain=AADFD306854E5489
+                     encrypted=F1F1F1F1F1F1F1F1
+
+Set 7, vector#242:
+                           key=F2F2F2F2F2F2F2F2F2F2
+                        cipher=F2F2F2F2F2F2F2F2
+                         plain=F94A93A414404D35
+                     encrypted=F2F2F2F2F2F2F2F2
+
+Set 7, vector#243:
+                           key=F3F3F3F3F3F3F3F3F3F3
+                        cipher=F3F3F3F3F3F3F3F3
+                         plain=A99C84C88E10735D
+                     encrypted=F3F3F3F3F3F3F3F3
+
+Set 7, vector#244:
+                           key=F4F4F4F4F4F4F4F4F4F4
+                        cipher=F4F4F4F4F4F4F4F4
+                         plain=B553B0BA41D6E6B9
+                     encrypted=F4F4F4F4F4F4F4F4
+
+Set 7, vector#245:
+                           key=F5F5F5F5F5F5F5F5F5F5
+                        cipher=F5F5F5F5F5F5F5F5
+                         plain=566226493DBBAE1B
+                     encrypted=F5F5F5F5F5F5F5F5
+
+Set 7, vector#246:
+                           key=F6F6F6F6F6F6F6F6F6F6
+                        cipher=F6F6F6F6F6F6F6F6
+                         plain=8D287204DB9A0682
+                     encrypted=F6F6F6F6F6F6F6F6
+
+Set 7, vector#247:
+                           key=F7F7F7F7F7F7F7F7F7F7
+                        cipher=F7F7F7F7F7F7F7F7
+                         plain=0F5EE5B5E7D703CA
+                     encrypted=F7F7F7F7F7F7F7F7
+
+Set 7, vector#248:
+                           key=F8F8F8F8F8F8F8F8F8F8
+                        cipher=F8F8F8F8F8F8F8F8
+                         plain=6F0F2209FF3B2AE7
+                     encrypted=F8F8F8F8F8F8F8F8
+
+Set 7, vector#249:
+                           key=F9F9F9F9F9F9F9F9F9F9
+                        cipher=F9F9F9F9F9F9F9F9
+                         plain=39979DB7BE8DC472
+                     encrypted=F9F9F9F9F9F9F9F9
+
+Set 7, vector#250:
+                           key=FAFAFAFAFAFAFAFAFAFA
+                        cipher=FAFAFAFAFAFAFAFA
+                         plain=8482381393CBCE35
+                     encrypted=FAFAFAFAFAFAFAFA
+
+Set 7, vector#251:
+                           key=FBFBFBFBFBFBFBFBFBFB
+                        cipher=FBFBFBFBFBFBFBFB
+                         plain=FCA452D4580ACB77
+                     encrypted=FBFBFBFBFBFBFBFB
+
+Set 7, vector#252:
+                           key=FCFCFCFCFCFCFCFCFCFC
+                        cipher=FCFCFCFCFCFCFCFC
+                         plain=404FA3DB86802722
+                     encrypted=FCFCFCFCFCFCFCFC
+
+Set 7, vector#253:
+                           key=FDFDFDFDFDFDFDFDFDFD
+                        cipher=FDFDFDFDFDFDFDFD
+                         plain=829E10FB028CCEFF
+                     encrypted=FDFDFDFDFDFDFDFD
+
+Set 7, vector#254:
+                           key=FEFEFEFEFEFEFEFEFEFE
+                        cipher=FEFEFEFEFEFEFEFE
+                         plain=8FC8397EA2794DAA
+                     encrypted=FEFEFEFEFEFEFEFE
+
+Set 7, vector#255:
+                           key=FFFFFFFFFFFFFFFFFFFF
+                        cipher=FFFFFFFFFFFFFFFF
+                         plain=A1DCE86E26A4F6ED
+                     encrypted=FFFFFFFFFFFFFFFF
+
+Test vectors -- set 8
+=====================
+
+Set 8, vector#  0:
+                           key=00010203040506070809
+                        cipher=0011223344556677
+                         plain=38B3CE4D71299BA9
+                     encrypted=0011223344556677
+
+Set 8, vector#  1:
+                           key=2BD6459F82C5B300952C
+                        cipher=EA024714AD5C4D84
+                         plain=0CEDD50400427E41
+                     encrypted=EA024714AD5C4D84
+
+
+
+End of test vectors