Imported Upstream version 0.5.29 upstream/0.5.29
authorbertagaz <bertagaz@ptitcanardnoir.org>
Tue, 14 Jun 2011 13:26:19 +0000 (15:26 +0200)
committerbertagaz <bertagaz@ptitcanardnoir.org>
Tue, 14 Jun 2011 13:26:19 +0000 (15:26 +0200)
247 files changed:
.darcs-boringfile [new file with mode: 0644]
COPYING.GPL [new file with mode: 0644]
COPYING.TGPPL.html [new file with mode: 0644]
ChangeLog [new file with mode: 0644]
MANIFEST.in [new file with mode: 0644]
NEWS.rst [new file with mode: 0644]
PKG-INFO [new file with mode: 0644]
README.txt [new file with mode: 0644]
_testdoubleloadmodule.cpp [new file with mode: 0644]
copyright [new file with mode: 0644]
darcsver-1.6.3.egg/EGG-INFO/PKG-INFO [new file with mode: 0644]
darcsver-1.6.3.egg/EGG-INFO/SOURCES.txt [new file with mode: 0644]
darcsver-1.6.3.egg/EGG-INFO/dependency_links.txt [new file with mode: 0644]
darcsver-1.6.3.egg/EGG-INFO/entry_points.txt [new file with mode: 0644]
darcsver-1.6.3.egg/EGG-INFO/not-zip-safe [new file with mode: 0644]
darcsver-1.6.3.egg/EGG-INFO/top_level.txt [new file with mode: 0644]
darcsver-1.6.3.egg/darcsver/__init__.py [new file with mode: 0644]
darcsver-1.6.3.egg/darcsver/_version.py [new file with mode: 0644]
darcsver-1.6.3.egg/darcsver/darcsvermodule.py [new file with mode: 0644]
darcsver-1.6.3.egg/darcsver/setuptools_command.py [new file with mode: 0644]
darcsver-1.6.3.egg/scripts/__init__.py [new file with mode: 0644]
darcsver-1.6.3.egg/scripts/darcsverscript.py [new file with mode: 0644]
darcsver-1.6.3.egg/share/doc/python-darcsver/README.txt [new file with mode: 0644]
embeddedcryptopp/Doxyfile [new file with mode: 0644]
embeddedcryptopp/GNUmakefile [new file with mode: 0644]
embeddedcryptopp/License.txt [new file with mode: 0644]
embeddedcryptopp/Readme.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/Readme.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/aes.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/all.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/camellia.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/ccm.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/cmac.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/dlies.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/dsa.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/dsa_1363.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/eax.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/esign.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/gcm.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/hmac.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/mars.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/nr.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/panama.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/rsa_oaep.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/rsa_pkcs1_1_5.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/rsa_pss.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/rw.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/salsa.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/seal.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/seed.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/sha.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/shacal2.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/sosemanuk.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/tea.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/ttmac.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/vmac.txt [new file with mode: 0644]
embeddedcryptopp/TestVectors/whrlpool.txt [new file with mode: 0644]
embeddedcryptopp/adhoc.cpp.proto [new file with mode: 0644]
embeddedcryptopp/aes.h [new file with mode: 0644]
embeddedcryptopp/algebra.cpp [new file with mode: 0644]
embeddedcryptopp/algebra.h [new file with mode: 0644]
embeddedcryptopp/algparam.cpp [new file with mode: 0644]
embeddedcryptopp/algparam.h [new file with mode: 0644]
embeddedcryptopp/argnames.h [new file with mode: 0644]
embeddedcryptopp/asn.cpp [new file with mode: 0644]
embeddedcryptopp/asn.h [new file with mode: 0644]
embeddedcryptopp/authenc.h [new file with mode: 0644]
embeddedcryptopp/basecode.cpp [new file with mode: 0644]
embeddedcryptopp/basecode.h [new file with mode: 0644]
embeddedcryptopp/cbcmac.h [new file with mode: 0644]
embeddedcryptopp/ccm.h [new file with mode: 0644]
embeddedcryptopp/channels.h [new file with mode: 0644]
embeddedcryptopp/cmac.h [new file with mode: 0644]
embeddedcryptopp/config.h [new file with mode: 0644]
embeddedcryptopp/cpu.cpp [new file with mode: 0644]
embeddedcryptopp/cpu.h [new file with mode: 0644]
embeddedcryptopp/cryptdll.dsp [new file with mode: 0644]
embeddedcryptopp/cryptdll.vcproj [new file with mode: 0644]
embeddedcryptopp/cryptest.dsp [new file with mode: 0644]
embeddedcryptopp/cryptest.dsw [new file with mode: 0644]
embeddedcryptopp/cryptest.sln [new file with mode: 0644]
embeddedcryptopp/cryptest.vcproj [new file with mode: 0644]
embeddedcryptopp/cryptest_bds.bdsgroup [new file with mode: 0644]
embeddedcryptopp/cryptest_bds.bdsproj [new file with mode: 0644]
embeddedcryptopp/cryptest_bds.bpf [new file with mode: 0644]
embeddedcryptopp/cryptlib.cpp [new file with mode: 0644]
embeddedcryptopp/cryptlib.dsp [new file with mode: 0644]
embeddedcryptopp/cryptlib.h [new file with mode: 0644]
embeddedcryptopp/cryptlib.vcproj [new file with mode: 0644]
embeddedcryptopp/cryptlib_bds.bdsproj [new file with mode: 0644]
embeddedcryptopp/cryptopp.rc [new file with mode: 0644]
embeddedcryptopp/des.cpp [new file with mode: 0644]
embeddedcryptopp/des.h [new file with mode: 0644]
embeddedcryptopp/dessp.cpp [new file with mode: 0644]
embeddedcryptopp/dh.h [new file with mode: 0644]
embeddedcryptopp/dll.cpp [new file with mode: 0644]
embeddedcryptopp/dll.h [new file with mode: 0644]
embeddedcryptopp/dlltest.dsp [new file with mode: 0644]
embeddedcryptopp/dlltest.vcproj [new file with mode: 0644]
embeddedcryptopp/dsa.cpp [new file with mode: 0644]
embeddedcryptopp/dsa.h [new file with mode: 0644]
embeddedcryptopp/ec2n.cpp [new file with mode: 0644]
embeddedcryptopp/ec2n.h [new file with mode: 0644]
embeddedcryptopp/eccrypto.cpp [new file with mode: 0644]
embeddedcryptopp/eccrypto.h [new file with mode: 0644]
embeddedcryptopp/ecp.cpp [new file with mode: 0644]
embeddedcryptopp/ecp.h [new file with mode: 0644]
embeddedcryptopp/emsa2.h [new file with mode: 0644]
embeddedcryptopp/eprecomp.cpp [new file with mode: 0644]
embeddedcryptopp/eprecomp.h [new file with mode: 0644]
embeddedcryptopp/extraversion.h [new file with mode: 0644]
embeddedcryptopp/files.h [new file with mode: 0644]
embeddedcryptopp/filters.cpp [new file with mode: 0644]
embeddedcryptopp/filters.h [new file with mode: 0644]
embeddedcryptopp/fips140.cpp [new file with mode: 0644]
embeddedcryptopp/fips140.h [new file with mode: 0644]
embeddedcryptopp/fltrimpl.h [new file with mode: 0644]
embeddedcryptopp/gcm.h [new file with mode: 0644]
embeddedcryptopp/gf2n.cpp [new file with mode: 0644]
embeddedcryptopp/gf2n.h [new file with mode: 0644]
embeddedcryptopp/gfpcrypt.cpp [new file with mode: 0644]
embeddedcryptopp/gfpcrypt.h [new file with mode: 0644]
embeddedcryptopp/hex.cpp [new file with mode: 0644]
embeddedcryptopp/hex.h [new file with mode: 0644]
embeddedcryptopp/hmac.cpp [new file with mode: 0644]
embeddedcryptopp/hmac.h [new file with mode: 0644]
embeddedcryptopp/integer.cpp [new file with mode: 0644]
embeddedcryptopp/integer.h [new file with mode: 0644]
embeddedcryptopp/iterhash.cpp [new file with mode: 0644]
embeddedcryptopp/iterhash.h [new file with mode: 0644]
embeddedcryptopp/misc.cpp [new file with mode: 0644]
embeddedcryptopp/misc.h [new file with mode: 0644]
embeddedcryptopp/modarith.h [new file with mode: 0644]
embeddedcryptopp/modes.cpp [new file with mode: 0644]
embeddedcryptopp/modes.h [new file with mode: 0644]
embeddedcryptopp/modexppc.h [new file with mode: 0644]
embeddedcryptopp/mqueue.cpp [new file with mode: 0644]
embeddedcryptopp/mqueue.h [new file with mode: 0644]
embeddedcryptopp/mqv.h [new file with mode: 0644]
embeddedcryptopp/nbtheory.cpp [new file with mode: 0644]
embeddedcryptopp/nbtheory.h [new file with mode: 0644]
embeddedcryptopp/oaep.cpp [new file with mode: 0644]
embeddedcryptopp/oaep.h [new file with mode: 0644]
embeddedcryptopp/oids.h [new file with mode: 0644]
embeddedcryptopp/osrng.cpp [new file with mode: 0644]
embeddedcryptopp/osrng.h [new file with mode: 0644]
embeddedcryptopp/pch.h [new file with mode: 0644]
embeddedcryptopp/pkcspad.cpp [new file with mode: 0644]
embeddedcryptopp/pkcspad.h [new file with mode: 0644]
embeddedcryptopp/pssr.cpp [new file with mode: 0644]
embeddedcryptopp/pssr.h [new file with mode: 0644]
embeddedcryptopp/pubkey.cpp [new file with mode: 0644]
embeddedcryptopp/pubkey.h [new file with mode: 0644]
embeddedcryptopp/queue.cpp [new file with mode: 0644]
embeddedcryptopp/queue.h [new file with mode: 0644]
embeddedcryptopp/randpool.cpp [new file with mode: 0644]
embeddedcryptopp/randpool.h [new file with mode: 0644]
embeddedcryptopp/rdtables.cpp [new file with mode: 0644]
embeddedcryptopp/rijndael.cpp [new file with mode: 0644]
embeddedcryptopp/rijndael.h [new file with mode: 0644]
embeddedcryptopp/rng.cpp [new file with mode: 0644]
embeddedcryptopp/rng.h [new file with mode: 0644]
embeddedcryptopp/rsa.cpp [new file with mode: 0644]
embeddedcryptopp/rsa.h [new file with mode: 0644]
embeddedcryptopp/rw.h [new file with mode: 0644]
embeddedcryptopp/secblock.h [new file with mode: 0644]
embeddedcryptopp/seckey.h [new file with mode: 0644]
embeddedcryptopp/serpent.cpp [new file with mode: 0644]
embeddedcryptopp/serpent.h [new file with mode: 0644]
embeddedcryptopp/serpentp.h [new file with mode: 0644]
embeddedcryptopp/sha.cpp [new file with mode: 0644]
embeddedcryptopp/sha.h [new file with mode: 0644]
embeddedcryptopp/simple.h [new file with mode: 0644]
embeddedcryptopp/skipjack.h [new file with mode: 0644]
embeddedcryptopp/smartptr.h [new file with mode: 0644]
embeddedcryptopp/sosemanuk.cpp [new file with mode: 0644]
embeddedcryptopp/sosemanuk.h [new file with mode: 0644]
embeddedcryptopp/stdcpp.h [new file with mode: 0644]
embeddedcryptopp/strciphr.cpp [new file with mode: 0644]
embeddedcryptopp/strciphr.h [new file with mode: 0644]
embeddedcryptopp/tiger.cpp [new file with mode: 0644]
embeddedcryptopp/tiger.h [new file with mode: 0644]
embeddedcryptopp/tigertab.cpp [new file with mode: 0644]
embeddedcryptopp/trdlocal.h [new file with mode: 0644]
embeddedcryptopp/words.h [new file with mode: 0644]
embeddedcryptopp/x64dll.asm [new file with mode: 0644]
embeddedcryptopp/x64masm.asm [new file with mode: 0644]
misc/aside/test-sha256.cpp [new file with mode: 0644]
misc/build_helpers/run_trial.py [new file with mode: 0644]
misc/build_helpers/show-tool-versions.py [new file with mode: 0644]
misc/coding_helpers/python.supp [new file with mode: 0644]
misc/dependencies/setuptools-0.6c14dev.egg [new file with mode: 0644]
pycryptopp.egg-info/PKG-INFO [new file with mode: 0644]
pycryptopp.egg-info/SOURCES.txt [new file with mode: 0644]
pycryptopp.egg-info/dependency_links.txt [new file with mode: 0644]
pycryptopp.egg-info/not-zip-safe [new file with mode: 0644]
pycryptopp.egg-info/requires.txt [new file with mode: 0644]
pycryptopp.egg-info/stdeb.cfg [new file with mode: 0644]
pycryptopp.egg-info/top_level.txt [new file with mode: 0644]
pycryptopp/__init__.py [new file with mode: 0644]
pycryptopp/_pycryptoppmodule.cpp [new file with mode: 0644]
pycryptopp/_version.py [new file with mode: 0644]
pycryptopp/cipher/__init__.py [new file with mode: 0644]
pycryptopp/cipher/aes.py [new file with mode: 0644]
pycryptopp/cipher/aesmodule.cpp [new file with mode: 0644]
pycryptopp/cipher/aesmodule.hpp [new file with mode: 0644]
pycryptopp/hash/__init__.py [new file with mode: 0644]
pycryptopp/hash/sha256.py [new file with mode: 0644]
pycryptopp/hash/sha256module.cpp [new file with mode: 0644]
pycryptopp/hash/sha256module.hpp [new file with mode: 0644]
pycryptopp/publickey/__init__.py [new file with mode: 0644]
pycryptopp/publickey/ecdsa.py [new file with mode: 0644]
pycryptopp/publickey/ecdsamodule.cpp [new file with mode: 0644]
pycryptopp/publickey/ecdsamodule.hpp [new file with mode: 0644]
pycryptopp/publickey/rsa.py [new file with mode: 0644]
pycryptopp/publickey/rsamodule.cpp [new file with mode: 0644]
pycryptopp/publickey/rsamodule.hpp [new file with mode: 0644]
pycryptopp/test/__init__.py [new file with mode: 0644]
pycryptopp/test/test_aes.py [new file with mode: 0644]
pycryptopp/test/test_ecdsa.py [new file with mode: 0644]
pycryptopp/test/test_from_Nikratio.py [new file with mode: 0644]
pycryptopp/test/test_rsa.py [new file with mode: 0644]
pycryptopp/test/test_sha256.py [new file with mode: 0644]
pycryptopp/test/test_startup.py [new file with mode: 0644]
pycryptopp/testvectors/KAT_AES/ECBGFSbox128e.txt [new file with mode: 0644]
pycryptopp/testvectors/KAT_AES/ECBGFSbox256e.txt [new file with mode: 0644]
pycryptopp/testvectors/KAT_AES/ECBKeySbox128e.txt [new file with mode: 0644]
pycryptopp/testvectors/KAT_AES/ECBKeySbox256e.txt [new file with mode: 0644]
pycryptopp/testvectors/KAT_AES/ECBVarKey128e.txt [new file with mode: 0644]
pycryptopp/testvectors/KAT_AES/ECBVarKey256e.txt [new file with mode: 0644]
pycryptopp/testvectors/KAT_AES/ECBVarTxt128e.txt [new file with mode: 0644]
pycryptopp/testvectors/KAT_AES/ECBVarTxt256e.txt [new file with mode: 0644]
pycryptopp/testvectors/SHA256LongMsg.txt [new file with mode: 0644]
pycryptopp/testvectors/SHA256Monte.txt [new file with mode: 0644]
pycryptopp/testvectors/SHA256ShortMsg.txt [new file with mode: 0644]
setup.cfg [new file with mode: 0644]
setup.py [new file with mode: 0644]
setuptools_darcs-1.2.11-py2.6.egg/EGG-INFO/PKG-INFO [new file with mode: 0644]
setuptools_darcs-1.2.11-py2.6.egg/EGG-INFO/SOURCES.txt [new file with mode: 0644]
setuptools_darcs-1.2.11-py2.6.egg/EGG-INFO/dependency_links.txt [new file with mode: 0644]
setuptools_darcs-1.2.11-py2.6.egg/EGG-INFO/entry_points.txt [new file with mode: 0644]
setuptools_darcs-1.2.11-py2.6.egg/EGG-INFO/not-zip-safe [new file with mode: 0644]
setuptools_darcs-1.2.11-py2.6.egg/EGG-INFO/top_level.txt [new file with mode: 0644]
setuptools_darcs-1.2.11-py2.6.egg/setuptools_darcs/__init__.py [new file with mode: 0644]
setuptools_darcs-1.2.11-py2.6.egg/setuptools_darcs/_version.py [new file with mode: 0644]
setuptools_darcs-1.2.11-py2.6.egg/setuptools_darcs/setuptools_darcs.py [new file with mode: 0644]
setuptools_darcs-1.2.11-py2.6.egg/share/doc/python-setuptools_darcs/README.txt [new file with mode: 0644]

diff --git a/.darcs-boringfile b/.darcs-boringfile
new file mode 100644 (file)
index 0000000..3cfa1b0
--- /dev/null
@@ -0,0 +1,17 @@
+# Boring file regexps:
+
+# _version.py is generated at build time, and never checked in
+^pycryptopp/_version\.py$
+
+# if ez_setup.py needs to build setuptools, that goes here
+^setuptools-.*.egg$
+# creating a tahoe egg puts files here
+^pycryptopp.egg-info$
+
+# if setup.py needs to install plugins from eggs to satisfy setup_requires:
+^setuptools_darcs.*.egg$
+^darcsver.*.egg$
+^pyutil.*.egg$
+
+^build($|/)
+^ez_setup\.pyc$
diff --git a/COPYING.GPL b/COPYING.GPL
new file mode 100644 (file)
index 0000000..8b7796c
--- /dev/null
@@ -0,0 +1,345 @@
+This licence also comes with the added permission that you may link this
+program with the OpenSSL library and distribute executables, as long as you
+follow the requirements of this licence in regard to all of the software in
+the executable aside from OpenSSL.
+
+
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                   GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                           NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    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 2 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, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/COPYING.TGPPL.html b/COPYING.TGPPL.html
new file mode 100644 (file)
index 0000000..b23acdd
--- /dev/null
@@ -0,0 +1,80 @@
+<!DOCtype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="en">
+
+  <head>
+    <title>transitive grace period public licence, v1.0</title>
+
+    <link rev="made" class="mailto" href="mailto:zooko[at]zooko[dot]com">
+
+    <link rel="stylesheet" href="style.css" type="text/css">
+
+    <meta name="description" content="an open source licence for commercial software">
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+    <meta name="keywords" content="Zooko">
+  </head>
+
+  <body>
+<h1>Transitive Grace Period Public Licence ("TGPPL") v. 1.0</h1>
+
+<p>This Transitive Grace Period Public Licence (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work:</p>
+
+<p><b>Licensed under the Transitive Grace Period Public Licence version 1.0</b></p>
+
+<ol>
+   <li><b>Grant of Copyright License.</b> Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following:</p>
+
+     <ol type="a">
+         <li>to reproduce the Original Work in copies, either alone or as part of a collective work;</p>
+
+         <li>to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work;</p>
+
+         <li>to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Transitive Grace Period Public Licence no later than 12 months after You distributed or communicated said copies;</p>
+
+         <li>to perform the Original Work publicly; and</p>
+
+         <li>to display the Original Work publicly.</p>
+          </ol>
+
+   <li><b>Grant of Patent License.</b> Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works.</p>
+
+   <li><b>Grant of Source Code License.</b> The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work.</p>
+
+   <li><b>Exclusions From License Grant.</b> Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license.</p>
+
+   <li><b>External Deployment.</b> The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c).</p>
+
+   <li><b>Attribution Rights.</b> You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.</p>
+
+   <li><b>Warranty of Provenance and Disclaimer of Warranty.</b> Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer.</p>
+
+   <li><b>Limitation of Liability.</b> Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation.</p>
+
+   <li><b>Acceptance and Termination.</b> If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c).</p>
+
+  <li><b>Termination for Patent Action.</b> This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.</p>
+
+  <li><b>Jurisdiction, Venue and Governing Law.</b> Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License.</p>
+
+  <li><b>Attorneys' Fees.</b> In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.</p>
+
+  <li><b>Miscellaneous.</b> If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.</p>
+
+  <li><b>Definition of "You" in This License.</b> "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.</p>
+
+  <li><b>Right to Use.</b> You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.</p>
+
+  <li><b>Modification of This License.</b> This License is Copyright © 2007 Zooko Wilcox-O'Hearn. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Transitive Grace Period Public Licence" or "TGPPL" and you may not use those names in the name of your Modified License; and (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License.</p>
+</ol>
+
+              </td>
+             </td>
+            </tr>
+
+           </table>
+          </td>
+         </tr>
+        </table>
+
+  </body>
+</html>
diff --git a/ChangeLog b/ChangeLog
new file mode 100644 (file)
index 0000000..a4f5614
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,11 @@
+2009-09-15  Zooko O'Whielacronx  <zooko@zooko.com>
+
+       * release pycryptopp-0.5.17
+
+       * publickey/rsamodule.cpp, publickey/ecdsamodule.cpp, hash/sha256module.cpp, cipher/aesmodule.cpp: fix a segfault bug when sizeof(size_t) > sizeof(int) (not exploitable); thanks Nathan Wilcox and Brian Warner. ticket #19 2009-09-15  Zooko O'Whielacronx  <zooko@zooko.com>
+
+2009-07-27  Zooko Wilcox-O'Hearn  <zooko@zooko.com>
+
+       * release pycryptopp-0.5.16
+
+       * setup.py, misc/: a few improvements to the build/packaging
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644 (file)
index 0000000..b161a5f
--- /dev/null
@@ -0,0 +1 @@
+include embeddedcryptopp/extraversion.h
\ No newline at end of file
diff --git a/NEWS.rst b/NEWS.rst
new file mode 100644 (file)
index 0000000..ef2db42
--- /dev/null
+++ b/NEWS.rst
@@ -0,0 +1,20 @@
+2011-01-16 -- pycryptopp v0.5.28
+
+    * re-enable the ECDSA module, but please do not rely on it as it is expected to change in backwards-incompatible ways in future releases
+    * several changes to the build system to make it tidier and less error-prone -- see revision control history for details
+
+2010-09-20 -- pycryptopp v0.5.25
+
+    * make setup backwards-compatible to Python 2.4
+    * fix incompatibilities between setup script and older versions of darcsver
+    * don't attempt to compile Mac OS X extended attribute files (this fixes the build breaking)
+    * include a version number of the specific version of Crypto++ in extraversion.h
+    * small changes to docs
+
+2010-09-18 -- pycryptopp v0.5.20
+
+    * fix bugs in assembly implementation of SHA-256 from Crypto++
+    * fix it to compile on *BSD (#39)
+    * improve doc strings
+    * add a quick start-up-self-test of SHA256 (#43)
+    * execute the quick start-up-self-tests of AES and SHA256 on module import
diff --git a/PKG-INFO b/PKG-INFO
new file mode 100644 (file)
index 0000000..48c4ab6
--- /dev/null
+++ b/PKG-INFO
@@ -0,0 +1,27 @@
+Metadata-Version: 1.0
+Name: pycryptopp
+Version: 0.5.29
+Summary: Python wrappers for a few algorithms from the Crypto++ library
+Home-page: http://tahoe-lafs.org/trac/pycryptopp
+Author: Zooko O'Whielacronx
+Author-email: zooko@zooko.com
+License: GNU GPL
+Description: RSA-PSS-SHA256 signatures, ECDSA(1363)/EMSA1(SHA-256) signatures, SHA-256 hashes, and AES-CTR encryption
+Platform: UNKNOWN
+Classifier: Environment :: Console
+Classifier: License :: OSI Approved :: GNU General Public License (GPL)
+Classifier: License :: DFSG approved
+Classifier: License :: Other/Proprietary License
+Classifier: Intended Audience :: Developers
+Classifier: Operating System :: Microsoft :: Windows
+Classifier: Operating System :: Unix
+Classifier: Operating System :: MacOS :: MacOS X
+Classifier: Natural Language :: English
+Classifier: Programming Language :: C
+Classifier: Programming Language :: C++
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.4
+Classifier: Programming Language :: Python :: 2.5
+Classifier: Programming Language :: Python :: 2.6
+Classifier: Topic :: Software Development :: Libraries
diff --git a/README.txt b/README.txt
new file mode 100644 (file)
index 0000000..d2563ed
--- /dev/null
@@ -0,0 +1,67 @@
+ABOUT THIS PACKAGE
+
+pycryptopp [1] is a python wrapper around a few algorithms from the
+Crypto++ library [2].
+
+LICENCE
+
+You may use this package under the GNU General Public License, version
+2 or, at your option, any later version.  You may use this package
+under the Transitive Grace Period Public Licence, version 1.0 or, at
+your option, any later version.  (You may choose to use this package
+under the terms of either licence, at your option.)  See the file
+COPYING.GPL for the terms of the GNU General Public License, version 2.
+See the file COPYING.TGPPL.html for the terms of the Transitive Grace
+Period Public Licence, version 1.0.
+
+BUILDING
+
+To build it run "./setup.py build".  To test it run "./setup.py test".
+To install it into your system run "./setup.py install".  To create a
+binary package run "./setup.py bdist_egg".  There are more features of
+setup.py -- see the documentation of setuptools [3] for details.
+
+If "./setup.py test" doesn't print out "PASSED" and exit with exit
+code 0 then there is something seriously wrong.  Do not use this build
+of pycryptopp.  Please report the error to the cryptopp-users mailing
+list [4].  The next step in debugging if the pycryptopp tests fail is
+to find out if the underlying Crypto++ tests fail on the same system.
+To do that, you have to acquire the Crypto++ source code from
+http://cryptopp.com , build it, and run the self-test, by executing
+"cryptest.exe v", as described in Crypto++'s Readme.txt file.
+
+DOCUMENTATION
+
+The documentation is in the docstrings.  From a command-line, use
+"pydoc pycryptopp", "pydoc pycryptopp.cipher", and so on.  From within
+a Python interpreter use "help(pycryptopp)",
+"help(pycryptopp.cipher)", "help(pycryptopp.cipher.aes)" and so on.
+
+CONTACT
+
+Please post to the cryptopp-users mailing list [4] with comments about
+this package.
+
+BOOK REVIEW
+
+If you are not already acquainted with modern cryptography, buy a copy
+of Ferguson, Schneier, and Kohno "Cryptography Engineering" and read it.
+It is easy going and will increase your understanding greatly.
+
+ACKNOWLEDGEMENTS
+
+Thanks to Wei Dai and the contributors to Crypto++, Andrew M. Kuchling
+for his "pycrypto" library which inspired this one, Brian Warner for
+help on Python packaging questions, inspiration, and a million other
+things besides, and Greg Hazel and Samuel Neves for Windows porting
+and fixing bugs.
+
+
+Zooko O'Whielacronx
+Boulder, Colorado
+September 18, 2010
+
+[1] http://pypi.python.org/pypi/pycryptopp
+[2] http://cryptopp.com
+[3] http://peak.telecommunity.com/DevCenter/setuptools
+[4] http://groups.google.com/group/cryptopp-users
diff --git a/_testdoubleloadmodule.cpp b/_testdoubleloadmodule.cpp
new file mode 100644 (file)
index 0000000..61deeeb
--- /dev/null
@@ -0,0 +1,23 @@
+
+#include <Python.h>
+
+PyDoc_STRVAR(_testdoubleload__doc__,
+"_testdoubleload -- just for testing ticket #9 per ticket #44\n\
+");
+
+static PyMethodDef _testdoubleload_functions[] = {
+    {NULL, NULL, 0, NULL}  /* sentinel */
+};
+
+#ifndef PyMODINIT_FUNC /* declarations for DLL import/export */
+#define PyMODINIT_FUNC void
+#endif
+PyMODINIT_FUNC
+init_testdoubleload(void) {
+    PyObject *module;
+
+    module = Py_InitModule3("_testdoubleload", _testdoubleload_functions, _testdoubleload__doc__);
+    if (!module)
+      return;
+}
+
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..85c072d
--- /dev/null
+++ b/copyright
@@ -0,0 +1,100 @@
+This package was debianized by Zooko O'Whielacronx zooko@zooko.com on
+Tue, 16 July 2009 23:30:00 +0000.
+
+It was originally downloaded from http://tahoe-lafs/trac/pycryptopp
+
+Upstream Author: Zooko O'Whielacronx <zooko@zooko.com>
+
+Copyright:
+
+You may use this package under the GNU General Public License, version
+2 or, at your option, any later version.  You may use this package
+under the Transitive Grace Period Public Licence, version 1.0 or, at
+your option, any later version.  (You may choose to use this package
+under the terms of either licence, at your option.)  See the file
+COPYING.GPL for the terms of the GNU General Public License, version 2.
+See the file COPYING.TGPPL.html for the terms of the Transitive Grace
+Period Public Licence, version 1.0.
+
+The following licensing text applies to a subset of the Crypto++ source code
+which is included in the pycryptopp source tree under the "embeddedcryptopp"
+subdirectory.  That embedded subset of the Crypto++ source code is not used
+when pycryptopp is built for Debian -- instead the --disable-embedded-cryptopp
+option to "setup.py build" is used to for pycryptopp to build against the
+system libcryptopp.
+
+---[ License.txt begin ]---
+Compilation Copyright (c) 1995-2009 by Wei Dai.  All rights reserved.
+This copyright applies only to this software distribution package
+as a compilation, and does not imply a copyright on any particular
+file in the package.
+
+The following files are copyrighted by their respective original authors,
+and their use is subject to additional licenses included in these files.
+
+mars.cpp - Copyright 1998 Brian Gladman.
+
+All other files in this compilation are placed in the public domain by
+Wei Dai and other contributors.
+
+I would like to thank the following authors for placing their works into
+the public domain:
+
+Joan Daemen - 3way.cpp
+Leonard Janke - cast.cpp, seal.cpp
+Steve Reid - cast.cpp
+Phil Karn - des.cpp
+Andrew M. Kuchling - md2.cpp, md4.cpp
+Colin Plumb - md5.cpp
+Seal Woods - rc6.cpp
+Chris Morgan - rijndael.cpp
+Paulo Baretto - rijndael.cpp, skipjack.cpp, square.cpp
+Richard De Moliner - safer.cpp
+Matthew Skala - twofish.cpp
+Kevin Springle - camellia.cpp, shacal2.cpp, ttmac.cpp, whrlpool.cpp, ripemd.cpp
+
+Permission to use, copy, modify, and distribute this compilation for
+any purpose, including commercial applications, is hereby granted
+without fee, subject to the following restrictions:
+
+1. Any copy or modification of this compilation in any form, except
+in object code form as part of an application software, must include
+the above copyright notice and this license.
+
+2. Users of this software agree that any modification or extension
+they provide to Wei Dai will be considered public domain and not
+copyrighted unless it includes an explicit copyright notice.
+
+3. Wei Dai makes no warranty or representation that the operation of the
+software in this compilation will be error-free, and Wei Dai is under no
+obligation to provide any services, by way of maintenance, update, or
+otherwise.  THE SOFTWARE AND ANY DOCUMENTATION ARE PROVIDED "AS IS"
+WITHOUT EXPRESS OR IMPLIED WARRANTY INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. IN NO EVENT WILL WEI DAI OR ANY OTHER CONTRIBUTOR BE LIABLE FOR
+DIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+4. Users will not use Wei Dai or any other contributor's name in any
+publicity or advertising, without prior written consent in each case.
+
+5. Export of this software from the United States may require a
+specific license from the United States Government.  It is the
+responsibility of any person or organization contemplating export
+to obtain such a license before exporting.
+
+6. Certain parts of this software may be protected by patents.  It
+is the users' responsibility to obtain the appropriate
+licenses before using those parts.
+
+If this compilation is used in object code form in an application
+software, acknowledgement of the author is not required but would be
+appreciated. The contribution of any useful modifications or extensions
+to Wei Dai is not required but would also be appreciated.
+---[ License.txt end ]---
+
+The Debian packaging is © 2009 Zooko O'Whielacronx <zooko@zooko.com> - it is
+licensed under the same terms as the pycryptopp source code itself.
+
+On Debian systems, the complete text of the GNU General Public License
+can be found in `/usr/share/common-licenses/GPL'.
diff --git a/darcsver-1.6.3.egg/EGG-INFO/PKG-INFO b/darcsver-1.6.3.egg/EGG-INFO/PKG-INFO
new file mode 100644 (file)
index 0000000..0bee80f
--- /dev/null
@@ -0,0 +1,121 @@
+Metadata-Version: 1.0
+Name: darcsver
+Version: 1.6.3
+Summary: generate a version number from darcs history
+Home-page: http://tahoe-lafs.org/trac/darcsver
+Author: Zooko O'Whielacronx
+Author-email: zooko@zooko.com
+License: BSD
+Description: darcsver - generate version numbers from darcs revision control history
+        =======================================================================
+        
+        What Does It Do
+        ---------------
+        
+        Create files containing version numbers, based upon the latest darcs
+        release tag.
+        
+        If your source tree is coming from darcs (i.e. it is in a darcs
+        repository), this tool will determine the most recent release tag,
+        count the patches that have been applied since then, and compute a
+        version number to be written into _version.py (and optionally other
+        version files). This version number will be available by doing:
+        
+        from your_package_name import __version__
+        
+        Source trees that do not come from darcs (e.g. release tarballs, nightly
+        tarballs) and are not within a darcs repository should instead, come with a
+        _version.py that was generated before the tarball was produced. In this case,
+        this tool will quietly exit without modifying the existing _version.py .
+        
+        'release tags' are tags in the source repository that match the following
+        regexp:
+        
+        ^your_package_name-(\d+)(\.(\d+)(\.(\d+))?)?((a|b|c|rc)(\d+))?
+        
+        
+        Installation
+        ------------
+        
+        With easy_install:
+        
+        easy_install darcsver
+        
+        Alternative manual installation:
+        
+        tar -zxvf darcsver-X.Y.Z.tar.gz
+        cd darcsver-X.Y.Z
+        python setup.py install
+        
+        Where X.Y.Z is a version number.
+        
+        Alternative to make a specific package use darcsver without installing
+        darcsver into the system:
+        
+        Put "setup_requires=['darcsver']" in the call to setup() in the
+        package's setup.py file.
+        
+        
+        Usage
+        -----
+        
+        There are two ways to use this: the command-line tool and the
+        setuptools plugin.
+        
+        To use the command-line tool, execute it as:
+        
+        darcsver $PACKAGE_NAME $PATH_TO_VERSION_PY
+        
+        
+        To use the setuptools plugin (which enables you to write "./setup.py
+        darcsver" and which cleverly figures out where the _version.py file
+        ought to go), you must first package your python module with
+        `setup.py` and use setuptools.
+        
+        The former is well documented in the distutils manual:
+        
+        http://docs.python.org/dist/dist.html
+        
+        To use setuptools instead of distutils, just edit `setup.py` and
+        change
+        
+        from distutils.core import setup
+        
+        to
+        
+        from setuptools import setup
+        
+        
+        References
+        ----------
+        
+        How to distribute Python modules with Distutils:
+        
+        http://docs.python.org/dist/dist.html
+        
+        
+        Setuptools complete manual:
+        
+        http://peak.telecommunity.com/DevCenter/setuptools
+        
+        
+        Thanks to Yannick Gingras for providing the prototype for this
+        README.txt.
+        
+Keywords: distutils setuptools plugin setup darcs
+Platform: UNKNOWN
+Classifier: Framework :: Setuptools Plugin
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: License :: OSI Approved :: BSD License
+Classifier: License :: DFSG approved
+Classifier: Intended Audience :: Developers
+Classifier: Operating System :: OS Independent
+Classifier: Natural Language :: English
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.4
+Classifier: Programming Language :: Python :: 2.5
+Classifier: Programming Language :: Python :: 2.6
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Topic :: Utilities
+Classifier: Topic :: Software Development :: Libraries
diff --git a/darcsver-1.6.3.egg/EGG-INFO/SOURCES.txt b/darcsver-1.6.3.egg/EGG-INFO/SOURCES.txt
new file mode 100644 (file)
index 0000000..38380a4
--- /dev/null
@@ -0,0 +1,17 @@
+README.txt
+TODO
+setup.py
+darcsver/__init__.py
+darcsver/_version.py
+darcsver/darcsvermodule.py
+darcsver/setuptools_command.py
+darcsver.egg-info/PKG-INFO
+darcsver.egg-info/SOURCES.txt
+darcsver.egg-info/dependency_links.txt
+darcsver.egg-info/entry_points.txt
+darcsver.egg-info/not-zip-safe
+darcsver.egg-info/top_level.txt
+darcsver/test/__init__.py
+darcsver/test/test_darcsver.py
+scripts/__init__.py
+scripts/darcsverscript.py
\ No newline at end of file
diff --git a/darcsver-1.6.3.egg/EGG-INFO/dependency_links.txt b/darcsver-1.6.3.egg/EGG-INFO/dependency_links.txt
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/darcsver-1.6.3.egg/EGG-INFO/entry_points.txt b/darcsver-1.6.3.egg/EGG-INFO/entry_points.txt
new file mode 100644 (file)
index 0000000..569b4e4
--- /dev/null
@@ -0,0 +1,10 @@
+[distutils.setup_keywords]
+versionbodies = darcsver.setuptools_command:validate_versionbodies
+versionfiles = darcsver.setuptools_command:validate_versionfiles
+
+[console_scripts]
+darcsver = scripts.darcsverscript:main
+
+[distutils.commands]
+darcsver = darcsver.setuptools_command:DarcsVer
+
diff --git a/darcsver-1.6.3.egg/EGG-INFO/not-zip-safe b/darcsver-1.6.3.egg/EGG-INFO/not-zip-safe
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/darcsver-1.6.3.egg/EGG-INFO/top_level.txt b/darcsver-1.6.3.egg/EGG-INFO/top_level.txt
new file mode 100644 (file)
index 0000000..4eebf09
--- /dev/null
@@ -0,0 +1,2 @@
+darcsver
+scripts
diff --git a/darcsver-1.6.3.egg/darcsver/__init__.py b/darcsver-1.6.3.egg/darcsver/__init__.py
new file mode 100644 (file)
index 0000000..3421c13
--- /dev/null
@@ -0,0 +1,8 @@
+__version__ = "unknown"
+try:
+    from _version import __version__
+except ImportError:
+    # We're running in a tree that hasn't run darcsver, and didn't come with a
+    # _version.py, so we don't know what our version is. This should not happen
+    # very often.
+    pass
diff --git a/darcsver-1.6.3.egg/darcsver/_version.py b/darcsver-1.6.3.egg/darcsver/_version.py
new file mode 100644 (file)
index 0000000..9d41f7d
--- /dev/null
@@ -0,0 +1,17 @@
+
+# This is the version of this tree, as created by setup.py darcsver from the darcs patch
+# information: the main version number is taken from the most recent release
+# tag. If some patches have been added since the last release, this will have a
+# -NN "build number" suffix, or else a -rNN "revision number" suffix. Please see
+# pyutil.version_class for a description of what the different fields mean.
+
+__pkgname__ = "darcsver"
+verstr = "1.6.3"
+try:
+    from pyutil.version_class import Version as pyutil_Version
+    __version__ = pyutil_Version(verstr)
+except (ImportError, ValueError):
+    # Maybe there is no pyutil installed, or this may be an older version of
+    # pyutil.version_class which does not support SVN-alike revision numbers.
+    from distutils.version import LooseVersion as distutils_Version
+    __version__ = distutils_Version(verstr)
diff --git a/darcsver-1.6.3.egg/darcsver/darcsvermodule.py b/darcsver-1.6.3.egg/darcsver/darcsvermodule.py
new file mode 100644 (file)
index 0000000..4f03572
--- /dev/null
@@ -0,0 +1,192 @@
+import os, string, sys, re
+import xml.dom.minidom
+import subprocess
+PIPE=subprocess.PIPE
+from distutils import log
+
+def all(iterable):
+    for thing in iterable:
+        if not thing:
+            return False
+    return True
+
+OUR_VERSION_BASE_RE_STR="(\d+)(\.(\d+)(\.(\d+))?)?((a|b|c)(\d+))?(\.dev(\d+))?"
+try:
+    # If we can import pyutil.version_class then use its regex.
+    from pyutil import version_class
+    VERSION_BASE_RE_STR = version_class.VERSION_BASE_RE_STR
+except (ImportError, AttributeError):
+    # Else (perhaps a bootstrapping problem),then we'll use this
+    # regex, which was copied from the pyutil source code on
+    # 2010-09-02.
+    VERSION_BASE_RE_STR=OUR_VERSION_BASE_RE_STR
+
+def get_text(nodelist):
+    rc = ""
+    for node in nodelist:
+        if node.nodeType == node.TEXT_NODE:
+            rc = rc + node.data
+    return rc
+
+VERSION_BODY = '''
+# This is the version of this tree, as created by %(versiontool)s from the darcs patch
+# information: the main version number is taken from the most recent release
+# tag. If some patches have been added since the last release, this will have a
+# -NN "build number" suffix, or else a -rNN "revision number" suffix. Please see
+# pyutil.version_class for a description of what the different fields mean.
+
+__pkgname__ = "%(pkgname)s"
+verstr = "%(pkgversion)s"
+try:
+    from pyutil.version_class import Version as pyutil_Version
+    __version__ = pyutil_Version(verstr)
+except (ImportError, ValueError):
+    # Maybe there is no pyutil installed.
+    from distutils.version import LooseVersion as distutils_Version
+    __version__ = distutils_Version(verstr)
+'''
+
+def write_version_py(verstr, outfname, EXE_NAME, version_body, pkgname):
+    f = open(outfname, "wt+")
+    f.write(version_body % {
+            'versiontool': EXE_NAME,
+            'pkgversion': verstr,
+            'pkgname': pkgname,
+            })
+    f.close()
+
+def read_version_py(infname):
+    try:
+        verstrline = open(infname, "rt").read()
+    except EnvironmentError:
+        return None
+    else:
+        VSRE = r"^verstr = ['\"]([^'\"]*)['\"]"
+        mo = re.search(VSRE, verstrline, re.M)
+        if mo:
+            return mo.group(1)
+
+def update(pkgname, verfilename, revision_number=False, loud=False, abort_if_snapshot=False, EXE_NAME="darcsver", version_body=VERSION_BODY):
+    """
+    @param revision_number If true, count the total number of patches in all
+    history.  If false, count the total number of patches since the most recent
+    release tag.
+
+    Returns a tuple of (exit code, new version string).
+    """
+    if isinstance(verfilename, basestring):
+        verfilenames = [verfilename]
+    else:
+        verfilenames = verfilename
+    if isinstance(version_body, basestring):
+        verbodies = [version_body]
+    else:
+        verbodies = version_body
+    rc = -1
+
+    # First we try "darcs query repo" because if that fails then we
+    # won't try "darcs changes" at all, because "darcs changes" emits
+    # an ugly error message when run in not-a-repo.
+    try:
+        p = subprocess.Popen(["darcs", 'query', 'repo'], stdout=PIPE, stderr=PIPE, universal_newlines=True)
+    except OSError, ose:
+        if ose.errno == 2 and '~' in os.environ['PATH']:
+            expanded_path = os.environ['PATH'].replace('~', os.path.expanduser('~'))
+            msg = ("WARNING: 'darcs' was not found. However '~' was found in your PATH. \n"
+                   "Please note that bugs in python cause it to fail to traverse '~' in \n"
+                   "the user's PATH.  Please fix your path, e.g. \nPATH=%s" )
+            log.warn(msg % (expanded_path,))
+        pass
+    else:
+        (output, errput) = p.communicate()
+        rc = p.returncode
+
+    if rc == 0:
+        cmd = ["changes", "--xml-output"]
+        if not revision_number:
+            cmd.append("--from-tag=^%s" % (pkgname,))
+        errput = None
+        try:
+            p = subprocess.Popen(["darcs"] + cmd, stdout=PIPE, stderr=PIPE, universal_newlines=True)
+        except OSError:
+            pass
+        else:
+            (output, errput) = p.communicate()
+            rc = p.returncode
+            if rc != 0 and errput:
+                log.info("%s: darcs wrote to stderr: '%s'" % (EXE_NAME, errput,))
+    else:
+        if all([os.path.exists(vfn) for vfn in verfilenames]):
+            log.info("%s: using extant version file %s" % (EXE_NAME, verfilenames))
+            return (0, read_version_py(verfilenames[0]))
+        else:
+            log.warn("%s: didn't find version tags with darcs, and %s don't exist." % (EXE_NAME, verfilenames))
+        return (rc, None)
+
+    # Filter out bad chars that can cause the XML parser to give up in despair.
+    # (Thanks to lelit of the tailor project and ndurner and warner for this hack.)
+    allbadchars = "".join([chr(i) for i in range(0x0a) + [0x0b, 0x0c] + range(0x0e, 0x20) + range(0x7f,0x100)])
+    tt = string.maketrans(allbadchars, "-"*len(allbadchars))
+    output = output.translate(tt)
+
+    # strip off trailing warning messages that darcs 2.3.1 writes to stdout
+    endi = output.find("</changelog>")+len("</changelog>")
+    output = output[:endi]
+    doc = xml.dom.minidom.parseString(output)
+
+    changelog = doc.getElementsByTagName("changelog")[0]
+    patches = changelog.getElementsByTagName("patch")
+    regexstr = "^TAG %s-(%s)$" % (pkgname, VERSION_BASE_RE_STR)
+    version_re = re.compile(regexstr)
+    last_tag = None
+    count_since_last_patch = 0
+    if abort_if_snapshot:
+        for patch in patches:
+            name = get_text(patch.getElementsByTagName("name")[0].childNodes)
+            m = version_re.match(name)
+            if m:
+                last_tag = m.group(1)
+                last_tag = last_tag.encode("utf-8")
+                break
+            else:
+                sys.exit(0) # because abort_if_snapshot
+    else:
+        for patch in patches:
+            name = get_text(patch.getElementsByTagName("name")[0].childNodes)
+            m = version_re.match(name)
+            if m:
+                last_tag = m.group(1)
+                last_tag = last_tag.encode("utf-8")
+                break
+            else:
+                count_since_last_patch += 1
+
+    if not last_tag:
+        if errput:
+            log.info("%s: darcs wrote to stderr: '%s'" % (EXE_NAME, errput,))
+        if all([os.path.exists(vfn) for vfn in verfilenames]):
+            log.warn("%s: I'm unable to find a tag in the darcs history matching \"%s\", so I'm leaving %s alone." % (EXE_NAME, regexstr, verfilenames,))
+            return (0, read_version_py(verfilenames[0]))
+        else:
+            log.warn("%s: I'm unable to find a tag in the darcs history matching \"%s\", and %s don't exist." % (EXE_NAME, regexstr, verfilenames,))
+            return (0, None)
+
+    if revision_number:
+        if count_since_last_patch:
+            # this is an interim version
+            verstr = "%s-r%d" % (last_tag, len(patches))
+        else:
+            # this is a release
+            verstr = last_tag
+    else:
+        if count_since_last_patch:
+            # this is an interim version
+            verstr = "%s-%d" % (last_tag, count_since_last_patch)
+        else:
+            # this is a release
+            verstr = last_tag
+
+    for verfn, verbod in zip(verfilenames, verbodies):
+        write_version_py(verstr, verfn, EXE_NAME, verbod, pkgname)
+        log.info("%s: wrote '%s' into %s" % (EXE_NAME, verstr, verfn,))
+    return (0, verstr)
diff --git a/darcsver-1.6.3.egg/darcsver/setuptools_command.py b/darcsver-1.6.3.egg/darcsver/setuptools_command.py
new file mode 100644 (file)
index 0000000..44fd50c
--- /dev/null
@@ -0,0 +1,116 @@
+import os
+
+import setuptools
+
+from darcsver import darcsvermodule
+
+from distutils.errors import DistutilsSetupError
+
+def validate_string_or_iter_of_strings(dist, attr, value):
+    # value is required to be a string or else a list of strings
+    if isinstance(value, basestring):
+        return
+    try:
+        for thing in value:
+            if not isinstance(thing, basestring):
+                raise DistutilsSetupError("%r is required to be a string or an iterable of strings (got %r)" % (attr, value))
+    except TypeError:
+        raise DistutilsSetupError("%r is required to be a string or an iterable of strings (got %r)" % (attr, value))
+
+def validate_versionfiles(dist, attr, value):
+    return validate_string_or_iter_of_strings(dist, attr, value)
+
+def validate_versionbodies(dist, attr, value):
+    return validate_string_or_iter_of_strings(dist, attr, value)
+
+PYTHON_VERSION_BODY='''
+# This is the version of this tree, as created by %(versiontool)s from the darcs patch
+# information: the main version number is taken from the most recent release
+# tag. If some patches have been added since the last release, this will have a
+# -NN "build number" suffix, or else a -rNN "revision number" suffix. Please see
+# pyutil.version_class for a description of what the different fields mean.
+
+__pkgname__ = "%(pkgname)s"
+verstr = "%(pkgversion)s"
+try:
+    from pyutil.version_class import Version as pyutil_Version
+    __version__ = pyutil_Version(verstr)
+except (ImportError, ValueError):
+    # Maybe there is no pyutil installed, or this may be an older version of
+    # pyutil.version_class which does not support SVN-alike revision numbers.
+    from distutils.version import LooseVersion as distutils_Version
+    __version__ = distutils_Version(verstr)
+'''
+
+class DarcsVer(setuptools.Command):
+    description = "generate a version number from darcs history"
+    user_options = [
+        ('project-name', None, "name of the project as it appears in the project's release tags (default's the to the distribution name)"),
+        ('version-file', None, "path to file into which the version number should be written (defaults to the package directory's _version.py)"),
+        ('count-all-patches', None, "If true, count the total number of patches in all history.  If false, count the total number of patches since the most recent release tag."),
+        ('abort-if-snapshot', None, "If true, the if the current version is a snapshot (not a release tag), then immediately exit the process with exit code 0."),
+        ]
+
+    def initialize_options(self):
+        self.project_name = None
+        self.version_file = None
+        self.count_all_patches = None
+        self.abort_if_snapshot = None
+
+    def finalize_options(self):
+        if self.project_name is None:
+            self.project_name = self.distribution.get_name()
+
+        # If the user passed --version-file on the cmdline, override
+        # the setup.py's versionfiles argument.
+        if self.version_file is not None:
+            self.distribution.versionfiles = [self.version_file]
+
+        if self.abort_if_snapshot is None:
+            self.abort_if_snapshot=False
+
+    def run(self):
+        if self.distribution.versionfiles is None:
+            toppackage = ''
+            # If there is a package with the same name as the project name and
+            # there is a directory by that name then use that.
+            packagedir = None
+            if self.distribution.packages and self.project_name in self.distribution.packages:
+                toppackage = self.project_name
+                srcdir = ''
+                if self.distribution.package_dir:
+                    srcdir = self.distribution.package_dir.get(toppackage)
+                    if not srcdir is None:
+                        srcdir = self.distribution.package_dir.get('', '')
+                packagedir = os.path.join(srcdir, toppackage)
+
+            if packagedir is None or not os.path.isdir(packagedir):
+                # Else, if there is a singly-rooted tree of packages, use the
+                # root of that.
+                if self.distribution.packages:
+                    for package in self.distribution.packages:
+                        if not toppackage:
+                            toppackage = package
+                        else:
+                            if toppackage.startswith(package+"."):
+                                toppackage = package
+                            else:
+                                if not package.startswith(toppackage+"."):
+                                    # Not singly-rooted
+                                    toppackage = ''
+                                    break
+
+                srcdir = ''
+                if self.distribution.package_dir:
+                    srcdir = self.distribution.package_dir.get(toppackage)
+                    if srcdir is None:
+                        srcdir = self.distribution.package_dir.get('', '')
+                packagedir = os.path.join(srcdir, toppackage)
+
+            self.distribution.versionfiles = [os.path.join(packagedir, '_version.py')]
+
+        if self.distribution.versionbodies is None:
+            self.distribution.versionbodies = [PYTHON_VERSION_BODY]
+
+        (rc, verstr) = darcsvermodule.update(self.project_name, self.distribution.versionfiles, self.count_all_patches, abort_if_snapshot=self.abort_if_snapshot, EXE_NAME="setup.py darcsver", version_body=self.distribution.versionbodies)
+        self.distribution.metadata.version = verstr
diff --git a/darcsver-1.6.3.egg/scripts/__init__.py b/darcsver-1.6.3.egg/scripts/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/darcsver-1.6.3.egg/scripts/darcsverscript.py b/darcsver-1.6.3.egg/scripts/darcsverscript.py
new file mode 100644 (file)
index 0000000..7c54f53
--- /dev/null
@@ -0,0 +1,46 @@
+#! /usr/bin/env python
+
+from optparse import OptionParser
+import os, sys
+
+from darcsver import darcsvermodule, __version__
+
+try:
+    EXE_NAME=os.path.basename(sys.argv[0])
+except:
+    EXE_NAME="darcsver"
+
+def main():
+    parser = OptionParser(usage="Usage: %prog [options] [pkgname [verfilename]]",
+                          version="%prog " + str(__version__),
+                          prog=EXE_NAME)
+    parser.add_option("-q", "--quiet", default=False, action="store_true",
+                      help="Be quiet, do the job without any output.")
+    parser.add_option("--count-all-patches", "--revision-number", default=False,
+                      action="store_true", dest="count_all_patches",
+                      help="By default %s counts the number of patches since the "
+                           "most recent release tag. With this option, it counts "
+                           "all the patches in the repository." % EXE_NAME)
+
+    options, args = parser.parse_args()
+
+    if args:
+        pkgname = args.pop(0)
+    else:
+        pkgname = os.path.basename(os.getcwd())
+        if not options.quiet:
+            print "%s: You didn't pass a pkg-name on the command-line, so I'm going to take the name of the current working directory: \"%s\"" % (EXE_NAME, pkgname,)
+
+    if args:
+        verfilename = args.pop(0)
+    else:
+        verfilename = os.path.join(pkgname, "_version.py")
+        if not options.quiet:
+            print "%s: You didn't pass a verfilename on the command-line, so I'm going to build one from the name of the package: \"%s\"" % (EXE_NAME, verfilename,)
+
+    (rc, newverstr) = darcsvermodule.update(pkgname=pkgname, verfilename=verfilename, revision_number=options.count_all_patches, quiet=options.quiet, EXE_NAME=EXE_NAME)
+    return rc
+
+if __name__ == "__main__":
+    rc = main()
+    sys.exit(rc)
diff --git a/darcsver-1.6.3.egg/share/doc/python-darcsver/README.txt b/darcsver-1.6.3.egg/share/doc/python-darcsver/README.txt
new file mode 100644 (file)
index 0000000..8f0ffa7
--- /dev/null
@@ -0,0 +1,95 @@
+darcsver - generate version numbers from darcs revision control history
+=======================================================================
+
+What Does It Do
+---------------
+
+Create files containing version numbers, based upon the latest darcs
+release tag.
+
+If your source tree is coming from darcs (i.e. it is in a darcs
+repository), this tool will determine the most recent release tag,
+count the patches that have been applied since then, and compute a
+version number to be written into _version.py (and optionally other
+version files). This version number will be available by doing:
+
+ from your_package_name import __version__
+
+Source trees that do not come from darcs (e.g. release tarballs, nightly
+tarballs) and are not within a darcs repository should instead, come with a
+_version.py that was generated before the tarball was produced. In this case,
+this tool will quietly exit without modifying the existing _version.py .
+
+'release tags' are tags in the source repository that match the following
+regexp:
+
+ ^your_package_name-(\d+)(\.(\d+)(\.(\d+))?)?((a|b|c|rc)(\d+))?
+
+
+Installation
+------------
+
+With easy_install:
+
+  easy_install darcsver
+
+Alternative manual installation:
+
+  tar -zxvf darcsver-X.Y.Z.tar.gz
+  cd darcsver-X.Y.Z
+  python setup.py install
+
+Where X.Y.Z is a version number.
+
+Alternative to make a specific package use darcsver without installing
+darcsver into the system:
+
+  Put "setup_requires=['darcsver']" in the call to setup() in the
+  package's setup.py file.
+
+
+Usage
+-----
+
+There are two ways to use this: the command-line tool and the
+setuptools plugin.
+
+To use the command-line tool, execute it as:
+
+darcsver $PACKAGE_NAME $PATH_TO_VERSION_PY
+
+
+To use the setuptools plugin (which enables you to write "./setup.py
+darcsver" and which cleverly figures out where the _version.py file
+ought to go), you must first package your python module with
+`setup.py` and use setuptools.
+
+The former is well documented in the distutils manual:
+
+  http://docs.python.org/dist/dist.html
+
+To use setuptools instead of distutils, just edit `setup.py` and
+change
+
+  from distutils.core import setup
+
+to
+
+  from setuptools import setup
+
+
+References
+----------
+
+How to distribute Python modules with Distutils:
+
+  http://docs.python.org/dist/dist.html
+
+
+Setuptools complete manual:
+
+  http://peak.telecommunity.com/DevCenter/setuptools
+
+
+Thanks to Yannick Gingras for providing the prototype for this
+README.txt.
diff --git a/embeddedcryptopp/Doxyfile b/embeddedcryptopp/Doxyfile
new file mode 100644 (file)
index 0000000..1fb9d81
--- /dev/null
@@ -0,0 +1,1109 @@
+# Doxyfile 1.3.7
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = Crypto++
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = 
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = doc
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
+# 2 levels of 10 sub-directories under the output directory of each output 
+# format and will distribute the generated files over these directories. 
+# Enabling this option can be useful when feeding doxygen a huge amount of source 
+# files, where putting all generated files in the same directory would otherwise 
+# cause performance problems for the file system.
+
+CREATE_SUBDIRS         = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, 
+# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en 
+# (Japanese with English messages), Korean, Korean-en, Norwegian, Polish, Portuguese, 
+# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
+
+OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator 
+# that is used to form the text in various listings. Each string 
+# in this list, if found as the leading text of the brief description, will be 
+# stripped from the text and the result after processing the whole list, is used 
+# as the annotated text. Otherwise, the brief description is used as-is. If left 
+# blank, the following values are used ("$name" is automatically replaced with the 
+# name of the entity): "The $name class" "The $name widget" "The $name file" 
+# "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       = 
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited 
+# members of a class in the documentation of that class as if those members were 
+# ordinary class members. Constructors, destructors and assignment operators of 
+# the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user-defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. The tag can be used to show relative paths in the file list. 
+# If left blank the directory from which doxygen is run is used as the 
+# path to strip.
+
+STRIP_FROM_PATH        = 
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
+# the path mentioned in the documentation of a class, which tells 
+# the reader which header file to include in order to use a class. 
+# If left blank only the name of the header file containing the class 
+# definition is used. Otherwise one should specify the include paths that 
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    = 
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments will behave just like the Qt-style comments (thus requiring an 
+# explicit @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF      = YES
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
+# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
+# comments) as a brief description. This used to be the default behaviour. 
+# The new default is to treat a multi-line C++ comment block as a detailed 
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member 
+# documentation.
+
+DETAILS_AT_TOP         = Yes
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 8
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user-defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = 
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
+# only. Doxygen will then generate output that is more tailored for C. 
+# For instance, some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources 
+# only. Doxygen will then generate output that is more tailored for Java. 
+# For instance, namespaces will be presented as packages, qualified scopes 
+# will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
+# the same type (for instance a group of public functions) to be put as a 
+# subgroup of that type (e.g. under the Public Functions section). Set it to 
+# NO to prevent subgrouping. Alternatively, this can be done per class using 
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation.
+
+EXTRACT_STATIC         = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
+# defined locally in source files will be included in the documentation. 
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. When set to YES local 
+# methods, which are defined in the implementation section but not in 
+# the interface are included in the documentation. 
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these classes will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
+# friend (class|struct|union) declarations. 
+# If set to NO (the default) these declarations will be included in the 
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
+# documentation blocks found inside the body of a function. 
+# If set to NO (the default) these blocks will be appended to the 
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower-case letters. If set to YES upper-case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put a list of the files that are included by a file in the documentation 
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order.
+
+SORT_MEMBER_DOCS       = NO
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
+# brief documentation of file, namespace and class members alphabetically 
+# by member name. If set to NO (the default) the members will appear in 
+# declaration order.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
+# sorted by fully-qualified names, including namespaces. If set to 
+# NO (the default), the class list will be sorted only by class name, 
+# not including the namespace part. 
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the 
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or 
+# disable (NO) the bug list. This list is created by putting \bug 
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
+# disable (NO) the deprecated list. This list is created by putting 
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       = 
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
+# the initial value of a variable or define consists of for it to appear in 
+# the documentation. If the initializer consists of more lines than specified 
+# here it will be hidden. Use a value of 0 to hide initializers completely. 
+# The appearance of the initializer of individual variables and defines in the 
+# documentation can be controlled using \showinitializer or \hideinitializer 
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
+# at the bottom of the documentation of classes and structs. If set to YES the 
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used.
+
+WARNINGS               = No
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = No
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
+# potential errors in the documentation, such as not documenting some 
+# parameters in a documented function, or documenting parameters that 
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text.
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning 
+# and error messages should be written. If left blank the output is written 
+# to stderr.
+
+WARN_LOGFILE           = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces.
+
+INPUT                  = .
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank the following patterns are tested: 
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp 
+# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
+
+FILE_PATTERNS          = *.h \
+                         *.cpp
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used.
+
+RECURSIVE              = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                = adhoc.cpp
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories 
+# that are symbolic links (a Unix filesystem feature) are excluded from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories.
+
+EXCLUDE_PATTERNS       = 
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command).
+
+EXAMPLE_PATH           = .
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+EXAMPLE_PATTERNS       = 
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
+# searched for input files to be used with the \include or \dontinclude 
+# commands irrespective of the value of the RECURSIVE tag. 
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command).
+
+IMAGE_PATH             = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output.
+
+INPUT_FILTER           = 
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# INPUT_FILTER) will be used to filter the input files when producing source 
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources. 
+# Note: To get rid of all source code in the generated output, make sure also 
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = NO
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
+# then for each documented function all documented 
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default) 
+# then for each documented function all documented entities 
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = YES
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 3
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = 
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER            = 
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = 
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet. Note that doxygen will try to copy 
+# the style sheet file to the HTML output directory, so don't put your own 
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET        = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
+# be used to specify the file name of the resulting .chm file. You 
+# can add a path in front of the file if the result should not be 
+# written to the html output directory.
+
+CHM_FILE               = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
+# be used to specify the location (absolute path including file name) of 
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
+# controls if a separate .chi index file is generated (YES) or that 
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
+# controls whether a binary table of contents is generated (YES) or a 
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20]) 
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that 
+# is generated for HTML Help). For this to work a browser that supports 
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
+# probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW      = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
+# used to set the initial width (in pixels) of the frame in which the tree 
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = 
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
+# generate index for LaTeX. If left blank `makeindex' will be used as the 
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
+# include the index chapters (such as File Index, Compound Index, etc.) 
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimized for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using WORD or other 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assignments. You only have to provide 
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    = 
+
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = 
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
+# then it will generate one additional man file for each entity 
+# documented in the real man page(s). These additional files 
+# only source the real man page, but without them the man command 
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_SCHEMA             = 
+
+# The XML_DTD tag can be used to specify an XML DTD, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_DTD                = 
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
+# dump the program listings (including syntax highlighting 
+# and cross-referencing information) to the XML output. Note that 
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
+# generate an AutoGen Definitions (see autogen.sf.net) file 
+# that captures the structure of the code including all 
+# documentation. Note that this feature is still experimental 
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
+# generate a Perl module file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
+# nicely formatted so it can be parsed by a human reader.  This is useful 
+# if you want to understand what is going on.  On the other hand, if this 
+# tag is set to NO the size of the Perl module output will be much smaller 
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file 
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
+# This is useful so different doxyrules.make files included by the same 
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX = 
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor.
+
+INCLUDE_PATH           = .
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used.
+
+INCLUDE_FILE_PATTERNS  = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed.
+
+PREDEFINED             = _WIN32 \
+                         _WINDOWS \
+                         __FreeBSD__ \
+                         CRYPTOPP_DOXYGEN_PROCESSING
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      = 
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
+# doxygen's preprocessor will remove all function-like macros that are alone 
+# on a line, have an all uppercase name, and do not end with a semicolon. Such 
+# function macros are typically used for boiler-plate code, and will confuse the 
+# parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references   
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles. 
+# Optionally an initial location of the external documentation 
+# can be added for each tagfile. The format of a tag file without 
+# this location is as follows: 
+#   TAGFILES = file1 file2 ... 
+# Adding location for the tag files is done as follows: 
+#   TAGFILES = file1=loc1 "file2 = loc2" ... 
+# where "loc1" and "loc2" can be relative or absolute paths or 
+# URLs. If a location is present for each tag, the installdox tool 
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen 
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
+# in the modules index. If set to NO, only the current project's groups will 
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or 
+# super classes. Setting the tag to NO turns the diagrams off. Note that this 
+# option is superseded by the HAVE_DOT option below. This is only a fallback. It is 
+# recommended to install and use dot, since it yields more powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
+# If set to YES, the inheritance and collaboration graphs will hide 
+# inheritance and usage relations if the target is undocumented 
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = NO
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
+# collaboration diagrams in a style similar to the OMG's Unified Modeling 
+# Language.
+
+UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the 
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
+# generate a call dependency graph for every global function or class method. 
+# Note that enabling this option will significantly increase the time of a run. 
+# So in most cases it will be better to enable call graphs for selected 
+# functions only using the \callgraph command.
+
+CALL_GRAPH             = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH               = 
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that 
+# contain dot files that are included in the documentation (see the 
+# \dotfile command).
+
+DOTFILE_DIRS           = 
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
+# generate a legend page explaining the meaning of the various boxes and 
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
+# remove the intermediate dot files that are used to generate 
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine   
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE           = NO
diff --git a/embeddedcryptopp/GNUmakefile b/embeddedcryptopp/GNUmakefile
new file mode 100644 (file)
index 0000000..291eb60
--- /dev/null
@@ -0,0 +1,168 @@
+CXXFLAGS = -DNDEBUG -g -O2
+#CXXFLAGS = -g
+# -fPIC is supported. Please report any breakage of -fPIC as a bug.
+# CXXFLAGS += -fPIC
+# the following options reduce code size, but breaks link or makes link very slow on some systems
+# CXXFLAGS += -ffunction-sections -fdata-sections
+# LDFLAGS += -Wl,--gc-sections
+ARFLAGS = -cr  # ar needs the dash on OpenBSD
+RANLIB = ranlib
+CP = cp
+MKDIR = mkdir
+EGREP = egrep
+UNAME = $(shell uname)
+ISX86 = $(shell uname -m | $(EGREP) -c "i.86|x86|i86|amd64")
+
+# Default prefix for make install
+ifeq ($(PREFIX),)
+PREFIX = /usr
+endif
+
+ifeq ($(CXX),gcc)      # for some reason CXX is gcc on cygwin 1.1.4
+CXX = g++
+endif
+
+ifeq ($(ISX86),1)
+
+GCC42_OR_LATER = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "\(GCC\) (4.[2-9]|[5-9])")
+INTEL_COMPILER = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "\(ICC\)")
+GAS210_OR_LATER = $(shell echo "" | $(AS) -v 2>&1 | $(EGREP) -c "GNU assembler version (2\.[1-9][0-9]|[3-9])")
+GAS217_OR_LATER = $(shell echo "" | $(AS) -v 2>&1 | $(EGREP) -c "GNU assembler version (2\.1[7-9]|2\.[2-9]|[3-9])")
+ISMINGW = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "mingw")
+
+ifneq ($(GCC42_OR_LATER),0)
+ifneq ($(UNAME),Darwin)
+CXXFLAGS += -march=native -mtune=native
+endif
+endif
+
+ifneq ($(INTEL_COMPILER),0)
+# "internal error: backend signals" occurs on some x86 inline assembly with ICC 9 and some x64 inline assembly with ICC 11
+# if you want to use Crypto++'s assembly code with ICC, try enabling it on individual files
+CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
+endif
+
+ifeq ($(GAS210_OR_LATER),0)    # .intel_syntax wasn't supported until GNU assembler 2.10
+CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
+else
+ifeq ($(GAS217_OR_LATER),0)
+CXXFLAGS += -DCRYPTOPP_DISABLE_SSSE3
+endif
+ifeq ($(UNAME),SunOS)
+CXXFLAGS += -Wa,--divide       # allow use of "/" operator
+endif
+endif
+
+ifeq ($(ISMINGW),1)
+LDLIBS += -lws2_32
+endif
+
+endif  # ISX86
+
+ifeq ($(UNAME),)       # for DJGPP, where uname doesn't exist
+CXXFLAGS += -mbnu210
+else
+CXXFLAGS += -pipe
+endif
+
+ifeq ($(UNAME),Linux)
+LDFLAGS += -pthread
+endif
+
+ifeq ($(UNAME),Darwin)
+AR = libtool
+ARFLAGS = -static -o
+CXX = c++
+IS_GCC2 = $(shell $(CXX) -v 2>&1 | $(EGREP) -c gcc-932)
+ifeq ($(IS_GCC2),1)
+CXXFLAGS += -fno-coalesce-templates -fno-coalesce-static-vtables
+LDLIBS += -lstdc++
+LDFLAGS += -flat_namespace -undefined suppress -m
+endif
+endif
+
+ifeq ($(UNAME),SunOS)
+LDLIBS += -lnsl -lsocket
+ifeq ($(CXX),CC)       # override flags for CC (Solaris native C++ compiler)
+CXXFLAGS = -DNDEBUG -O -g0 -native -template=no%extdef -m$(shell isainfo -b)
+LDFLAGS =
+ifeq ($(ISX86),1)
+# SSE2 intrinsics should work in Sun Studio 12, but we're not using SSE2 intrinsics anymore
+# CXXFLAGS += -xarch=sse2 -D__SSE2__
+endif
+endif
+endif
+
+SRCS = $(wildcard *.cpp)
+ifeq ($(SRCS),)                                # workaround wildcard function bug in GNU Make 3.77
+SRCS = $(shell echo *.cpp)
+endif
+
+OBJS = $(SRCS:.cpp=.o)
+# test.o needs to be after bench.o for cygwin 1.1.4 (possible ld bug?)
+TESTOBJS = bench.o bench2.o test.o validat1.o validat2.o validat3.o adhoc.o datatest.o regtest.o fipsalgt.o dlltest.o
+LIBOBJS = $(filter-out $(TESTOBJS),$(OBJS))
+
+DLLSRCS = algebra.cpp algparam.cpp asn.cpp basecode.cpp cbcmac.cpp channels.cpp cryptlib.cpp des.cpp dessp.cpp dh.cpp dll.cpp dsa.cpp ec2n.cpp eccrypto.cpp ecp.cpp eprecomp.cpp files.cpp filters.cpp fips140.cpp fipstest.cpp gf2n.cpp gfpcrypt.cpp hex.cpp hmac.cpp integer.cpp iterhash.cpp misc.cpp modes.cpp modexppc.cpp mqueue.cpp nbtheory.cpp oaep.cpp osrng.cpp pch.cpp pkcspad.cpp pubkey.cpp queue.cpp randpool.cpp rdtables.cpp rijndael.cpp rng.cpp rsa.cpp sha.cpp simple.cpp skipjack.cpp strciphr.cpp trdlocal.cpp
+DLLOBJS = $(DLLSRCS:.cpp=.export.o)
+LIBIMPORTOBJS = $(LIBOBJS:.o=.import.o)
+TESTIMPORTOBJS = $(TESTOBJS:.o=.import.o)
+DLLTESTOBJS = dlltest.dllonly.o
+
+all: cryptest.exe
+
+test: cryptest.exe
+       ./cryptest.exe v
+
+clean:
+       $(RM) cryptest.exe libcryptopp.a $(LIBOBJS) $(TESTOBJS) cryptopp.dll libcryptopp.dll.a libcryptopp.import.a cryptest.import.exe dlltest.exe $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS)
+
+install:
+       $(MKDIR) -p $(PREFIX)/include/cryptopp $(PREFIX)/lib $(PREFIX)/bin
+       $(CP) *.h $(PREFIX)/include/cryptopp
+       $(CP) *.a $(PREFIX)/lib
+       $(CP) *.exe $(PREFIX)/bin
+
+libcryptopp.a: $(LIBOBJS)
+       $(AR) $(ARFLAGS) $@ $(LIBOBJS)
+       $(RANLIB) $@
+
+cryptest.exe: libcryptopp.a $(TESTOBJS)
+       $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) -L. -lcryptopp $(LDFLAGS) $(LDLIBS)
+
+nolib: $(OBJS)         # makes it faster to test changes
+       $(CXX) -o ct $(CXXFLAGS) $(OBJS) $(LDFLAGS) $(LDLIBS)
+
+dll: cryptest.import.exe dlltest.exe
+
+cryptopp.dll: $(DLLOBJS)
+       $(CXX) -shared -o $@ $(CXXFLAGS) $(DLLOBJS) $(LDFLAGS) $(LDLIBS) -Wl,--out-implib=libcryptopp.dll.a
+
+libcryptopp.import.a: $(LIBIMPORTOBJS)
+       $(AR) $(ARFLAGS) $@ $(LIBIMPORTOBJS)
+       $(RANLIB) $@
+
+cryptest.import.exe: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS)
+       $(CXX) -o $@ $(CXXFLAGS) $(TESTIMPORTOBJS) -L. -lcryptopp.dll -lcryptopp.import $(LDFLAGS) $(LDLIBS)
+
+dlltest.exe: cryptopp.dll $(DLLTESTOBJS)
+       $(CXX) -o $@ $(CXXFLAGS) $(DLLTESTOBJS) -L. -lcryptopp.dll $(LDFLAGS) $(LDLIBS)
+
+adhoc.cpp: adhoc.cpp.proto
+ifeq ($(wildcard adhoc.cpp),)
+       cp adhoc.cpp.proto adhoc.cpp
+else
+       touch adhoc.cpp
+endif
+
+%.dllonly.o : %.cpp
+       $(CXX) $(CXXFLAGS) -DCRYPTOPP_DLL_ONLY -c $< -o $@
+
+%.import.o : %.cpp
+       $(CXX) $(CXXFLAGS) -DCRYPTOPP_IMPORTS -c $< -o $@
+
+%.export.o : %.cpp
+       $(CXX) $(CXXFLAGS) -DCRYPTOPP_EXPORTS -c $< -o $@
+
+%.o : %.cpp
+       $(CXX) $(CXXFLAGS) -c $<
diff --git a/embeddedcryptopp/License.txt b/embeddedcryptopp/License.txt
new file mode 100644 (file)
index 0000000..fc3f054
--- /dev/null
@@ -0,0 +1,67 @@
+Compilation Copyright (c) 1995-2009 by Wei Dai.  All rights reserved.
+This copyright applies only to this software distribution package 
+as a compilation, and does not imply a copyright on any particular 
+file in the package.
+
+The following files are copyrighted by their respective original authors,
+and their use is subject to additional licenses included in these files.
+
+mars.cpp - Copyright 1998 Brian Gladman.
+
+All other files in this compilation are placed in the public domain by
+Wei Dai and other contributors.
+
+I would like to thank the following authors for placing their works into
+the public domain:
+
+Joan Daemen - 3way.cpp
+Leonard Janke - cast.cpp, seal.cpp
+Steve Reid - cast.cpp
+Phil Karn - des.cpp
+Andrew M. Kuchling - md2.cpp, md4.cpp
+Colin Plumb - md5.cpp
+Seal Woods - rc6.cpp
+Chris Morgan - rijndael.cpp
+Paulo Baretto - rijndael.cpp, skipjack.cpp, square.cpp
+Richard De Moliner - safer.cpp
+Matthew Skala - twofish.cpp
+Kevin Springle - camellia.cpp, shacal2.cpp, ttmac.cpp, whrlpool.cpp, ripemd.cpp
+
+Permission to use, copy, modify, and distribute this compilation for
+any purpose, including commercial applications, is hereby granted
+without fee, subject to the following restrictions:
+
+1. Any copy or modification of this compilation in any form, except
+in object code form as part of an application software, must include
+the above copyright notice and this license.
+
+2. Users of this software agree that any modification or extension
+they provide to Wei Dai will be considered public domain and not
+copyrighted unless it includes an explicit copyright notice.
+
+3. Wei Dai makes no warranty or representation that the operation of the
+software in this compilation will be error-free, and Wei Dai is under no
+obligation to provide any services, by way of maintenance, update, or
+otherwise.  THE SOFTWARE AND ANY DOCUMENTATION ARE PROVIDED "AS IS"
+WITHOUT EXPRESS OR IMPLIED WARRANTY INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. IN NO EVENT WILL WEI DAI OR ANY OTHER CONTRIBUTOR BE LIABLE FOR
+DIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+4. Users will not use Wei Dai or any other contributor's name in any 
+publicity or advertising, without prior written consent in each case.
+
+5. Export of this software from the United States may require a
+specific license from the United States Government.  It is the
+responsibility of any person or organization contemplating export
+to obtain such a license before exporting.
+
+6. Certain parts of this software may be protected by patents.  It
+is the users' responsibility to obtain the appropriate
+licenses before using those parts.
+
+If this compilation is used in object code form in an application
+software, acknowledgement of the author is not required but would be
+appreciated. The contribution of any useful modifications or extensions
+to Wei Dai is not required but would also be appreciated.
diff --git a/embeddedcryptopp/Readme.txt b/embeddedcryptopp/Readme.txt
new file mode 100644 (file)
index 0000000..861c036
--- /dev/null
@@ -0,0 +1,429 @@
+Crypto++: a C++ Class Library of Cryptographic Schemes
+Version 5.6.0 (3/15/2009)
+
+Crypto++ Library is a free C++ class library of cryptographic schemes.
+Currently the library contains the following algorithms:
+
+                   algorithm type  name
+
+ authenticated encryption schemes  GCM, CCM, EAX
+        high speed stream ciphers  Panama, Sosemanuk, Salsa20, XSalsa20
+
+           AES and AES candidates  AES (Rijndael), RC6, MARS, Twofish, Serpent,
+                                   CAST-256
+
+                                   IDEA, Triple-DES (DES-EDE2 and DES-EDE3),
+              other block ciphers  Camellia, SEED, RC5, Blowfish, TEA, XTEA,
+                                   Skipjack, SHACAL-2
+
+  block cipher modes of operation  ECB, CBC, CBC ciphertext stealing (CTS),
+                                   CFB, OFB, counter mode (CTR)
+
+     message authentication codes  VMAC, HMAC, CMAC, CBC-MAC, DMAC, 
+                                   Two-Track-MAC
+
+                                   SHA-1, SHA-2 (SHA-224, SHA-256, SHA-384, and
+                   hash functions  SHA-512), Tiger, WHIRLPOOL, RIPEMD-128,
+                                   RIPEMD-256, RIPEMD-160, RIPEMD-320
+
+                                   RSA, DSA, ElGamal, Nyberg-Rueppel (NR),
+          public-key cryptography  Rabin, Rabin-Williams (RW), LUC, LUCELG,
+                                   DLIES (variants of DHAES), ESIGN
+
+   padding schemes for public-key  PKCS#1 v2.0, OAEP, PSS, PSSR, IEEE P1363
+                          systems  EMSA2 and EMSA5
+
+                                   Diffie-Hellman (DH), Unified Diffie-Hellman
+            key agreement schemes  (DH2), Menezes-Qu-Vanstone (MQV), LUCDIF,
+                                   XTR-DH
+
+      elliptic curve cryptography  ECDSA, ECNR, ECIES, ECDH, ECMQV
+
+          insecure or obsolescent  MD2, MD4, MD5, Panama Hash, DES, ARC4, SEAL
+algorithms retained for backwards  3.0, WAKE, WAKE-OFB, DESX (DES-XEX3), RC2,
+     compatibility and historical  SAFER, 3-WAY, GOST, SHARK, CAST-128, Square
+                            value
+
+Other features include:
+
+  * pseudo random number generators (PRNG): ANSI X9.17 appendix C, RandomPool
+  * password based key derivation functions: PBKDF1 and PBKDF2 from PKCS #5,
+    PBKDF from PKCS #12 appendix B
+  * Shamir's secret sharing scheme and Rabin's information dispersal algorithm
+    (IDA)
+  * fast multi-precision integer (bignum) and polynomial operations
+  * finite field arithmetics, including GF(p) and GF(2^n)
+  * prime number generation and verification
+  * useful non-cryptographic algorithms
+      + DEFLATE (RFC 1951) compression/decompression with gzip (RFC 1952) and
+        zlib (RFC 1950) format support
+      + hex, base-32, and base-64 coding/decoding
+      + 32-bit CRC and Adler32 checksum
+  * class wrappers for these operating system features (optional):
+      + high resolution timers on Windows, Unix, and Mac OS
+      + Berkeley and Windows style sockets
+      + Windows named pipes
+      + /dev/random, /dev/urandom, /dev/srandom
+      + Microsoft's CryptGenRandom on Windows
+  * A high level interface for most of the above, using a filter/pipeline
+    metaphor
+  * benchmarks and validation testing
+  * x86, x86-64 (x64), MMX, and SSE2 assembly code for the most commonly used
+    algorithms, with run-time CPU feature detection and code selection
+  * some versions are available in FIPS 140-2 validated form
+
+You are welcome to use it for any purpose without paying me, but see
+License.txt for the fine print.
+
+The following compilers are supported for this release. Please visit
+http://www.cryptopp.com the most up to date build instructions and porting notes.
+
+  * MSVC 6.0 - 2008
+  * GCC 3.3 - 4.3
+  * C++Builder 2009
+  * Intel C++ Compiler 9 - 11
+  * Sun Studio 12 (CC 5.9)
+
+*** Important Usage Notes ***
+
+1. If a constructor for A takes a pointer to an object B (except primitive
+types such as int and char), then A owns B and will delete B at A's
+destruction.  If a constructor for A takes a reference to an object B,
+then the caller retains ownership of B and should not destroy it until
+A no longer needs it. 
+
+2. Crypto++ is thread safe at the class level. This means you can use
+Crypto++ safely in a multithreaded application, but you must provide
+synchronization when multiple threads access a common Crypto++ object.
+
+*** MSVC-Specific Information ***
+
+On Windows, Crypto++ can be compiled into 3 forms: a static library
+including all algorithms, a DLL with only FIPS Approved algorithms, and
+a static library with only algorithms not in the DLL.
+(FIPS Approved means Approved according to the FIPS 140-2 standard.)
+The DLL may be used by itself, or it may be used together with the second
+form of the static library. MSVC project files are included to build
+all three forms, and sample applications using each of the three forms
+are also included.
+
+To compile Crypto++ with MSVC, open the "cryptest.dsw" (for MSVC 6 and MSVC .NET 
+2003) or "cryptest.sln" (for MSVC .NET 2005) workspace file and build one or 
+more of the following projects:
+
+cryptdll - This builds the DLL. Please note that if you wish to use Crypto++
+  as a FIPS validated module, you must use a pre-built DLL that has undergone
+  the FIPS validation process instead of building your own.
+dlltest - This builds a sample application that only uses the DLL.
+cryptest Non-DLL-Import Configuration - This builds the full static library
+  along with a full test driver.
+cryptest DLL-Import Configuration - This builds a static library containing
+  only algorithms not in the DLL, along with a full test driver that uses
+  both the DLL and the static library.
+
+To use the Crypto++ DLL in your application, #include "dll.h" before including
+any other Crypto++ header files, and place the DLL in the same directory as
+your .exe file. dll.h includes the line #pragma comment(lib, "cryptopp")
+so you don't have to explicitly list the import library in your project
+settings. To use a static library form of Crypto++, specify it as
+an additional library to link with in your project settings.
+In either case you should check the compiler options to
+make sure that the library and your application are using the same C++
+run-time libraries and calling conventions.
+
+*** DLL Memory Management ***
+
+Because it's possible for the Crypto++ DLL to delete objects allocated 
+by the calling application, they must use the same C++ memory heap. Three 
+methods are provided to achieve this.
+1.  The calling application can tell Crypto++ what heap to use. This method 
+    is required when the calling application uses a non-standard heap.
+2.  Crypto++ can tell the calling application what heap to use. This method 
+    is required when the calling application uses a statically linked C++ Run 
+    Time Library. (Method 1 does not work in this case because the Crypto++ DLL 
+    is initialized before the calling application's heap is initialized.)
+3.  Crypto++ can automatically use the heap provided by the calling application's 
+    dynamically linked C++ Run Time Library. The calling application must
+    make sure that the dynamically linked C++ Run Time Library is initialized
+    before Crypto++ is loaded. (At this time it is not clear if it is possible
+    to control the order in which DLLs are initialized on Windows 9x machines,
+    so it might be best to avoid using this method.)
+
+When Crypto++ attaches to a new process, it searches all modules loaded 
+into the process space for exported functions "GetNewAndDeleteForCryptoPP" 
+and "SetNewAndDeleteFromCryptoPP". If one of these functions is found, 
+Crypto++ uses methods 1 or 2, respectively, by calling the function. 
+Otherwise, method 3 is used. 
+
+*** GCC-Specific Information ***
+
+A makefile is included for you to compile Crypto++ with GCC. Make sure
+you are using GNU Make and GNU ld. The make process will produce two files,
+libcryptopp.a and cryptest.exe. Run "cryptest.exe v" for the validation
+suite.
+
+*** Documentation and Support ***
+
+Crypto++ is documented through inline comments in header files, which are
+processed through Doxygen to produce an HTML reference manual. You can find
+a link to the manual from http://www.cryptopp.com. Also at that site is
+the Crypto++ FAQ, which you should browse through before attempting to 
+use this library, because it will likely answer many of questions that
+may come up.
+
+If you run into any problems, please try the Crypto++ mailing list.
+The subscription information and the list archive are available on
+http://www.cryptopp.com. You can also email me directly by visiting
+http://www.weidai.com, but you will probably get a faster response through
+the mailing list.
+
+*** History ***
+
+1.0 - First public release.  Withdrawn at the request of RSA DSI.
+    - included Blowfish, BBS, DES, DH, Diamond, DSA, ElGamal, IDEA,
+      MD5, RC4, RC5, RSA, SHA, WAKE, secret sharing, DEFLATE compression
+    - had a serious bug in the RSA key generation code.
+
+1.1 - Removed RSA, RC4, RC5
+    - Disabled calls to RSAREF's non-public functions
+    - Minor bugs fixed
+
+2.0 - a completely new, faster multiprecision integer class
+    - added MD5-MAC, HAVAL, 3-WAY, TEA, SAFER, LUC, Rabin, BlumGoldwasser,
+      elliptic curve algorithms
+    - added the Lucas strong probable primality test
+    - ElGamal encryption and signature schemes modified to avoid weaknesses
+    - Diamond changed to Diamond2 because of key schedule weakness
+    - fixed bug in WAKE key setup
+    - SHS class renamed to SHA
+    - lots of miscellaneous optimizations
+
+2.1 - added Tiger, HMAC, GOST, RIPE-MD160, LUCELG, LUCDIF, XOR-MAC,
+      OAEP, PSSR, SHARK
+    - added precomputation to DH, ElGamal, DSA, and elliptic curve algorithms
+    - added back RC5 and a new RSA
+    - optimizations in elliptic curves over GF(p)
+    - changed Rabin to use OAEP and PSSR
+    - changed many classes to allow copy constructors to work correctly
+    - improved exception generation and handling
+
+2.2 - added SEAL, CAST-128, Square
+    - fixed bug in HAVAL (padding problem)
+    - fixed bug in triple-DES (decryption order was reversed)
+    - fixed bug in RC5 (couldn't handle key length not a multiple of 4)
+    - changed HMAC to conform to RFC-2104 (which is not compatible
+      with the original HMAC)
+    - changed secret sharing and information dispersal to use GF(2^32)
+      instead of GF(65521)
+    - removed zero knowledge prover/verifier for graph isomorphism
+    - removed several utility classes in favor of the C++ standard library
+
+2.3 - ported to EGCS
+    - fixed incomplete workaround of min/max conflict in MSVC
+
+3.0 - placed all names into the "CryptoPP" namespace
+    - added MD2, RC2, RC6, MARS, RW, DH2, MQV, ECDHC, CBC-CTS
+    - added abstract base classes PK_SimpleKeyAgreementDomain and
+      PK_AuthenticatedKeyAgreementDomain
+    - changed DH and LUCDIF to implement the PK_SimpleKeyAgreementDomain
+      interface and to perform domain parameter and key validation
+    - changed interfaces of PK_Signer and PK_Verifier to sign and verify
+      messages instead of message digests
+    - changed OAEP to conform to PKCS#1 v2.0
+    - changed benchmark code to produce HTML tables as output
+    - changed PSSR to track IEEE P1363a
+    - renamed ElGamalSignature to NR and changed it to track IEEE P1363
+    - renamed ECKEP to ECMQVC and changed it to track IEEE P1363
+    - renamed several other classes for clarity
+    - removed support for calling RSAREF
+    - removed option to compile old SHA (SHA-0)
+    - removed option not to throw exceptions
+
+3.1 - added ARC4, Rijndael, Twofish, Serpent, CBC-MAC, DMAC
+    - added interface for querying supported key lengths of symmetric ciphers
+      and MACs
+    - added sample code for RSA signature and verification
+    - changed CBC-CTS to be compatible with RFC 2040
+    - updated SEAL to version 3.0 of the cipher specification
+    - optimized multiprecision squaring and elliptic curves over GF(p)
+    - fixed bug in MARS key setup
+    - fixed bug with attaching objects to Deflator
+
+3.2 - added DES-XEX3, ECDSA, DefaultEncryptorWithMAC
+    - renamed DES-EDE to DES-EDE2 and TripleDES to DES-EDE3
+    - optimized ARC4
+    - generalized DSA to allow keys longer than 1024 bits
+    - fixed bugs in GF2N and ModularArithmetic that can cause calculation errors
+    - fixed crashing bug in Inflator when given invalid inputs
+    - fixed endian bug in Serpent
+    - fixed padding bug in Tiger
+
+4.0 - added Skipjack, CAST-256, Panama, SHA-2 (SHA-256, SHA-384, and SHA-512),
+      and XTR-DH
+    - added a faster variant of Rabin's Information Dispersal Algorithm (IDA)
+    - added class wrappers for these operating system features:
+      - high resolution timers on Windows, Unix, and MacOS
+      - Berkeley and Windows style sockets
+      - Windows named pipes
+      - /dev/random and /dev/urandom on Linux and FreeBSD
+      - Microsoft's CryptGenRandom on Windows
+    - added support for SEC 1 elliptic curve key format and compressed points
+    - added support for X.509 public key format (subjectPublicKeyInfo) for
+      RSA, DSA, and elliptic curve schemes
+    - added support for DER and OpenPGP signature format for DSA
+    - added support for ZLIB compressed data format (RFC 1950)
+    - changed elliptic curve encryption to use ECIES (as defined in SEC 1)
+    - changed MARS key schedule to reflect the latest specification
+    - changed BufferedTransformation interface to support multiple channels
+      and messages
+    - changed CAST and SHA-1 implementations to use public domain source code
+    - fixed bug in StringSource
+    - optmized multi-precision integer code for better performance
+
+4.1 - added more support for the recommended elliptic curve parameters in SEC 2
+    - added Panama MAC, MARC4
+    - added IV stealing feature to CTS mode
+    - added support for PKCS #8 private key format for RSA, DSA, and elliptic
+      curve schemes
+    - changed Deflate, MD5, Rijndael, and Twofish to use public domain code
+    - fixed a bug with flushing compressed streams
+    - fixed a bug with decompressing stored blocks
+    - fixed a bug with EC point decompression using non-trinomial basis
+    - fixed a bug in NetworkSource::GeneralPump()
+    - fixed a performance issue with EC over GF(p) decryption
+    - fixed syntax to allow GCC to compile without -fpermissive
+    - relaxed some restrictions in the license
+
+4.2 - added support for longer HMAC keys
+    - added MD4 (which is not secure so use for compatibility purposes only)
+    - added compatibility fixes/workarounds for STLport 4.5, GCC 3.0.2,
+      and MSVC 7.0
+    - changed MD2 to use public domain code
+    - fixed a bug with decompressing multiple messages with the same object
+    - fixed a bug in CBC-MAC with MACing multiple messages with the same object
+    - fixed a bug in RC5 and RC6 with zero-length keys
+    - fixed a bug in Adler32 where incorrect checksum may be generated
+
+5.0 - added ESIGN, DLIES, WAKE-OFB, PBKDF1 and PBKDF2 from PKCS #5
+    - added key validation for encryption and signature public/private keys
+    - renamed StreamCipher interface to SymmetricCipher, which is now implemented
+      by both stream ciphers and block cipher modes including ECB and CBC
+    - added keying interfaces to support resetting of keys and IVs without
+      having to destroy and recreate objects
+    - changed filter interface to support non-blocking input/output
+    - changed SocketSource and SocketSink to use overlapped I/O on Microsoft Windows
+    - grouped related classes inside structs to help templates, for example
+      AESEncryption and AESDecryption are now AES::Encryption and AES::Decryption
+    - where possible, typedefs have been added to improve backwards 
+      compatibility when the CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY macro is defined
+    - changed Serpent, HAVAL and IDEA to use public domain code
+    - implemented SSE2 optimizations for Integer operations
+    - fixed a bug in HMAC::TruncatedFinal()
+    - fixed SKIPJACK byte ordering following NIST clarification dated 5/9/02
+
+5.01 - added known answer test for X9.17 RNG in FIPS 140 power-up self test
+     - submitted to NIST/CSE, but not publicly released
+
+5.02 - changed EDC test to MAC integrity check using HMAC/SHA1
+     - improved performance of integrity check
+     - added blinding to defend against RSA timing attack
+
+5.03 - created DLL version of Crypto++ for FIPS 140-2 validation
+     - fixed vulnerabilities in GetNextIV for CTR and OFB modes
+
+5.0.4 - Removed DES, SHA-256, SHA-384, SHA-512 from DLL
+
+5.1 - added PSS padding and changed PSSR to track IEEE P1363a draft standard
+    - added blinding for RSA and Rabin to defend against timing attacks
+      on decryption operations
+    - changed signing and decryption APIs to support the above
+    - changed WaitObjectContainer to allow waiting for more than 64
+      objects at a time on Win32 platforms
+    - fixed a bug in CBC and ECB modes with processing non-aligned data
+    - fixed standard conformance bugs in DLIES (DHAES mode) and RW/EMSA2
+      signature scheme (these fixes are not backwards compatible)
+    - fixed a number of compiler warnings, minor bugs, and portability problems
+    - removed Sapphire
+
+5.2 - merged in changes for 5.01 - 5.0.4
+    - added support for using encoding parameters and key derivation parameters
+      with public key encryption (implemented by OAEP and DL/ECIES)
+    - added Camellia, SHACAL-2, Two-Track-MAC, Whirlpool, RIPEMD-320,
+      RIPEMD-128, RIPEMD-256, Base-32 coding, FIPS variant of CFB mode
+    - added ThreadUserTimer for timing thread CPU usage
+    - added option for password-based key derivation functions
+      to iterate until a mimimum elapsed thread CPU time is reached
+    - added option (on by default) for DEFLATE compression to detect
+      uncompressible files and process them more quickly
+    - improved compatibility and performance on 64-bit platforms,
+      including Alpha, IA-64, x86-64, PPC64, Sparc64, and MIPS64
+    - fixed ONE_AND_ZEROS_PADDING to use 0x80 instead 0x01 as padding.
+    - fixed encoding/decoding of PKCS #8 privateKeyInfo to properly
+      handle optional attributes
+
+5.2.1 - fixed bug in the "dlltest" DLL testing program
+      - fixed compiling with STLport using VC .NET
+      - fixed compiling with -fPIC using GCC
+      - fixed compiling with -msse2 on systems without memalign()
+      - fixed inability to instantiate PanamaMAC
+      - fixed problems with inline documentation
+
+5.2.2 - added SHA-224
+      - put SHA-256, SHA-384, SHA-512, RSASSA-PSS into DLL
+      
+5.2.3 - fixed issues with FIPS algorithm test vectors
+      - put RSASSA-ISO into DLL
+
+5.3 - ported to MSVC 2005 with support for x86-64
+    - added defense against AES timing attacks, and more AES test vectors
+    - changed StaticAlgorithmName() of Rijndael to "AES", CTR to "CTR"
+
+5.4 - added Salsa20
+    - updated Whirlpool to version 3.0
+    - ported to GCC 4.1, Sun C++ 5.8, and Borland C++Builder 2006
+
+5.5 - added VMAC and Sosemanuk (with x86-64 and SSE2 assembly)
+    - improved speed of integer arithmetic, AES, SHA-512, Tiger, Salsa20,
+      Whirlpool, and PANAMA cipher using assembly (x86-64, MMX, SSE2)
+    - optimized Camellia and added defense against timing attacks
+    - updated benchmarks code to show cycles per byte and to time key/IV setup
+    - started using OpenMP for increased multi-core speed
+    - enabled GCC optimization flags by default in GNUmakefile
+    - added blinding and computational error checking for RW signing
+    - changed RandomPool, X917RNG, GetNextIV, DSA/NR/ECDSA/ECNR to reduce
+      the risk of reusing random numbers and IVs after virtual machine state
+      rollback
+    - changed default FIPS mode RNG from AutoSeededX917RNG<DES_EDE3> to
+      AutoSeededX917RNG<AES>
+    - fixed PANAMA cipher interface to accept 256-bit key and 256-bit IV
+    - moved MD2, MD4, MD5, PanamaHash, ARC4, WAKE_CFB into the namespace "Weak"
+    - removed HAVAL, MD5-MAC, XMAC
+
+5.5.1 - fixed VMAC validation failure on 32-bit big-endian machines
+
+5.5.2 - ported x64 assembly language code for AES, Salsa20, Sosemanuk, and Panama
+        to MSVC 2005 (using MASM since MSVC doesn't support inline assembly on x64)
+      - fixed Salsa20 initialization crash on non-SSE2 machines
+      - fixed Whirlpool crash on Pentium 2 machines
+      - fixed possible branch prediction analysis (BPA) vulnerability in
+        MontgomeryReduce(), which may affect security of RSA, RW, LUC
+      - fixed link error with MSVC 2003 when using "debug DLL" form of runtime library
+      - fixed crash in SSE2_Add on P4 machines when compiled with 
+        MSVC 6.0 SP5 with Processor Pack
+      - ported to MSVC 2008, GCC 4.2, Sun CC 5.9, Intel C++ Compiler 10.0, 
+        and Borland C++Builder 2007
+
+5.6 - added AuthenticatedSymmetricCipher interface class and Filter wrappers
+    - added CCM, GCM (with SSE2 assembly), EAX, CMAC, XSalsa20, and SEED
+    - added support for variable length IVs
+    - improved AES and SHA-256 speed on x86 and x64
+    - fixed incorrect VMAC computation on message lengths 
+      that are >64 mod 128 (x86 assembly version is not affected)
+    - fixed compiler error in vmac.cpp on x86 with GCC -fPIC
+    - fixed run-time validation error on x86-64 with GCC 4.3.2 -O2
+    - fixed HashFilter bug when putMessage=true
+    - removed WORD64_AVAILABLE; compiler support for 64-bit int is now required
+    - ported to GCC 4.3, C++Builder 2009, Sun CC 5.10, Intel C++ Compiler 11
+
+Written by Wei Dai
diff --git a/embeddedcryptopp/TestVectors/Readme.txt b/embeddedcryptopp/TestVectors/Readme.txt
new file mode 100644 (file)
index 0000000..755a046
--- /dev/null
@@ -0,0 +1,72 @@
+Test Data Format
+
+A test data file is an ASCII text file composed of sections separated by 
+blank lines. Each section is stand-alone and independent of other 
+sections that may be in the same file, and contains one or more tests.
+
+A section is composed of a sequence of fields. Each field is one or more 
+lines composed of a field name, followed by a colon (":"), followed by a 
+field body. All but the last line of a field must end with a backslash 
+("\"). If any line contains a hash mark ("#"), the hash mark and 
+everything after it on the same line is not considered part of the field 
+body.
+
+Each section must contain fields named AlgorithmType, Name, Source, and 
+Test. The presence and semantics of other fields depend on the algorithm 
+being tested and the tests to be run. 
+
+Each section may contain more than one test and therefore more than one 
+field named Test. In that case the order of the fields is significant. A 
+test should always use the last field with any given name that occurs 
+before the Test field.
+
+Data Types
+
+int - small integer (less than 2^32) in decimal representation
+string - human readable string
+encoded string - can be one of the following
+       - quoted string: "message" means "message" without the quotes 
+         or terminating '\0'
+       - hex encoded string: 0x74657374 or 74657374 means "test"
+       - repeated string: r100 "message" to repeat "message" 100 times, or 
+         r256 0x0011 to repeat 0x0011 256 times
+
+Field Types
+
+AlgorithmType - string, for example "Signature", "AsymmetricCipher", 
+"SymmetricCipher", "MAC", "MessageDigest", or "KeyFactory"
+Name - string, an algorithm name from SCAN
+Test - string, identifies the test to run
+Source - string, text explaining where the test data came from
+Comment - string, other comments about the test data
+KeyFormat - string, specifies the key format. "Component" here means 
+each component of the key or key pair is specified separately as a name, 
+value pair, with the names depending on the algorithm being tested. 
+Otherwise the value names "Key", or "PublicKey" and "PrivateKey" are 
+used.
+Key - encoded string
+PublicKey - encoded string
+PrivateKey - encoded string
+Message - encoded string, message to be signed or verified
+Signature - encoded string, signature to be verified or compared 
+with
+Plaintext - encoded string
+Ciphertext - encoded string
+Digest - encoded string
+TruncatedSize - int, size of truncated digest in bytes
+Seek - int, seek location for random access ciphers
+(more to come here)
+
+Possible Tests
+
+KeyPairValidAndConsistent - public and private keys are both valid and 
+consistent with each other
+PublicKeyInvalid - public key validation should not pass
+PrivateKeyInvalid - private key validation should not pass
+Verify - signature/digest/MAC verification should pass
+VerifyTruncated - truncated digest/MAC verification should pass
+NotVerify - signature/digest/MAC verification should not pass
+DeterministicSign - sign message using given seed, and the resulting 
+signature should be equal to the given signature
+DecryptMatch - ciphertext decrypts to plaintext
+(more to come here)
diff --git a/embeddedcryptopp/TestVectors/aes.txt b/embeddedcryptopp/TestVectors/aes.txt
new file mode 100644 (file)
index 0000000..0012629
--- /dev/null
@@ -0,0 +1,189 @@
+AlgorithmType: SymmetricCipher
+Name: AES/ECB
+Source: NIST Special Publication 800-38A
+Plaintext: 6bc1bee22e409f96e93d7e117393172a ae2d8a571e03ac9c9eb76fac45af8e51 30c81c46a35ce411e5fbc1191a0a52ef f69f2445df4f9b17ad2b417be66c3710
+Comment: F.1.1 ECB-AES128.Encrypt
+Key: 2b7e151628aed2a6abf7158809cf4f3c
+Ciphertext: 3ad77bb40d7a3660a89ecaf32466ef97 f5d3d58503b9699de785895a96fdbaaf 43b1cd7f598ece23881b00e3ed030688 7b0c785e27e8ad3f8223207104725dd4
+Test: Encrypt
+Comment: F.1.3 ECB-AES192.Encrypt
+Key: 8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
+Ciphertext: bd334f1d6e45f25ff712a214571fa5cc 974104846d0ad3ad7734ecb3ecee4eef ef7afd2270e2e60adce0ba2face6444e 9a4b41ba738d6c72fb16691603c18e0e
+Test: Encrypt
+Comment: F.1.5 ECB-AES256.Encrypt
+Key: 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
+Ciphertext: f3eed1bdb5d2a03c064b5a7e3db181f8 591ccb10d410ed26dc5ba74a31362870 b6ed21b99ca6f4f9f153e7b1beafed1d 23304b7a39f9f3ff067d8d8f9e24ecc7
+Test: Encrypt
+
+AlgorithmType: SymmetricCipher
+Name: AES/CBC
+Source: NIST Special Publication 800-38A
+IV: 000102030405060708090a0b0c0d0e0f
+Plaintext: 6bc1bee22e409f96e93d7e117393172a ae2d8a571e03ac9c9eb76fac45af8e51 30c81c46a35ce411e5fbc1191a0a52ef f69f2445df4f9b17ad2b417be66c3710
+Comment: F.2.1 CBC-AES128.Encrypt
+Key: 2b7e151628aed2a6abf7158809cf4f3c
+Ciphertext: 7649abac8119b246cee98e9b12e9197d 5086cb9b507219ee95db113a917678b2 73bed6b8e3c1743b7116e69e22229516 3ff1caa1681fac09120eca307586e1a7
+Test: Encrypt
+Comment: F.2.3 CBC-AES192.Encrypt
+Key: 8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
+Ciphertext: 4f021db243bc633d7178183a9fa071e8 b4d9ada9ad7dedf4e5e738763f69145a 571b242012fb7ae07fa9baac3df102e0 08b0e27988598881d920a9e64f5615cd
+Test: Encrypt
+Comment: F.2.5 CBC-AES256.Encrypt
+Key: 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
+Ciphertext: f58c4c04d6e5f1ba779eabfb5f7bfbd6 9cfc4e967edb808d679f777bc6702c7d 39f23369a9d9bacfa530e26304231461 b2eb05e2c39be9fcda6c19078c6a9d1b
+Test: Encrypt
+
+AlgorithmType: SymmetricCipher
+Name: AES/CBC
+Source: RFC 3602
+Comment: Case 1: Encrypting 16 bytes (1 block) using AES-CBC with 128-bit key
+Key       : 0x06a9214036b8a15b512e03d534120006
+IV        : 0x3dafba429d9eb430b422da802c9fac41
+Plaintext : "Single block msg"
+Ciphertext: 0xe353779c1079aeb82708942dbe77181a
+Test: Encrypt
+Comment: Case 2: Encrypting 32 bytes (2 blocks) using AES-CBC with 128-bit key
+Key       : 0xc286696d887c9aa0611bbb3e2025a45a
+IV        : 0x562e17996d093d28ddb3ba695a2e6f58
+Plaintext : 0x000102030405060708090a0b0c0d0e0f              101112131415161718191a1b1c1d1e1f
+Ciphertext: 0xd296cd94c2cccf8a3a863028b5e1dc0a              7586602d253cfff91b8266bea6d61ab1
+Test: Encrypt
+Comment: Case 3: Encrypting 48 bytes (3 blocks) using AES-CBC with 128-bit key
+Key       : 0x6c3ea0477630ce21a2ce334aa746c2cd
+IV        : 0xc782dc4c098c66cbd9cd27d825682c81
+Plaintext : "This is a 48-byte message (exactly 3 AES blocks)"
+Ciphertext: 0xd0a02b3836451753d493665d33f0e886              2dea54cdb293abc7506939276772f8d5              021c19216bad525c8579695d83ba2684
+Test: Encrypt
+Comment: Case 4: Encrypting 64 bytes (4 blocks) using AES-CBC with 128-bit key
+Key       : 0x56e47a38c5598974bc46903dba290349
+IV        : 0x8ce82eefbea0da3c44699ed7db51b7d9
+Plaintext : 0xa0a1a2a3a4a5a6a7a8a9aaabacadaeaf              b0b1b2b3b4b5b6b7b8b9babbbcbdbebf              c0c1c2c3c4c5c6c7c8c9cacbcccdcecf              d0d1d2d3d4d5d6d7d8d9dadbdcdddedf
+Ciphertext: 0xc30e32ffedc0774e6aff6af0869f71aa              0f3af07a9a31a9c684db207eb0ef8e4e              35907aa632c3ffdf868bb7b29d3d46ad              83ce9f9a102ee99d49a53e87f4c3da55
+Test: Encrypt
+
+AlgorithmType: SymmetricCipher
+Name: AES/CFB
+Source: NIST Special Publication 800-38A
+IV: 000102030405060708090a0b0c0d0e0f
+Plaintext: 6bc1bee22e409f96e93d7e117393172aae2d8
+FeedbackSize: 1
+Comment: F.3.7 CFB8-AES128.Encrypt
+Key: 2b7e151628aed2a6abf7158809cf4f3c
+Ciphertext: 3b79424c9c0dd436bace9e0ed4586a4f32b9
+Test: Encrypt
+Comment: F.3.9 CFB8-AES192.Encrypt
+Key: 8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
+Ciphertext: cda2521ef0a905ca44cd057cbf0d47a0678a
+Test: Encrypt
+Comment: F.3.11 CFB8-AES256.Encrypt
+Key: 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
+Ciphertext: dc1f1a8520a64db55fcc8ac554844e889700
+Test: Encrypt
+Plaintext: 6bc1bee22e409f96e93d7e117393172a ae2d8a571e03ac9c9eb76fac45af8e51 30c81c46a35ce411e5fbc1191a0a52ef f69f2445df4f9b17ad2b417be66c3710
+FeedbackSize: 16
+Comment: F.3.13 CFB128-AES128.Encrypt
+Key: 2b7e151628aed2a6abf7158809cf4f3c
+Ciphertext: 3b3fd92eb72dad20333449f8e83cfb4a c8a64537a0b3a93fcde3cdad9f1ce58b 26751f67a3cbb140b1808cf187a4f4df c04b05357c5d1c0eeac4c66f9ff7f2e6
+Test: Encrypt
+Comment: F.3.15 CFB128-AES192.Encrypt
+Key: 8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
+Ciphertext: cdc80d6fddf18cab34c25909c99a4174 67ce7f7f81173621961a2b70171d3d7a 2e1e8a1dd59b88b1c8e60fed1efac4c9 c05f9f9ca9834fa042ae8fba584b09ff
+Test: Encrypt
+Comment: F.3.17 CFB128-AES256.Encrypt
+Key: 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
+Ciphertext: dc7e84bfda79164b7ecd8486985d3860 39ffed143b28b1c832113c6331e5407b df10132415e54b92a13ed0a8267ae2f9 75a385741ab9cef82031623d55b1e471
+Test: Encrypt
+
+AlgorithmType: SymmetricCipher
+Name: AES/OFB
+Source: NIST Special Publication 800-38A
+IV: 000102030405060708090a0b0c0d0e0f
+Plaintext: 6bc1bee22e409f96e93d7e117393172a ae2d8a571e03ac9c9eb76fac45af8e51 30c81c46a35ce411e5fbc1191a0a52ef f69f2445df4f9b17ad2b417be66c3710
+Comment: F.4.1 OFB-AES128.Encrypt
+Key: 2b7e151628aed2a6abf7158809cf4f3c
+Ciphertext: 3b3fd92eb72dad20333449f8e83cfb4a 7789508d16918f03f53c52dac54ed825 9740051e9c5fecf64344f7a82260edcc 304c6528f659c77866a510d9c1d6ae5e
+Test: Encrypt
+Comment: F.4.3 OFB-AES192.Encrypt
+Key: 8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
+Ciphertext: cdc80d6fddf18cab34c25909c99a4174 fcc28b8d4c63837c09e81700c1100401 8d9a9aeac0f6596f559c6d4daf59a5f2 6d9f200857ca6c3e9cac524bd9acc92a
+Test: Encrypt
+Comment: F.4.5 OFB-AES256.Encrypt
+Key: 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
+Ciphertext: dc7e84bfda79164b7ecd8486985d3860 4febdc6740d20b3ac88f6ad82a4fb08d 71ab47a086e86eedf39d1c5bba97c408 0126141d67f37be8538f5a8be740e484
+Test: Encrypt
+
+AlgorithmType: SymmetricCipher
+Name: AES/CTR
+Source: NIST Special Publication 800-38A
+IV: f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+Plaintext: 6bc1bee22e409f96e93d7e117393172a ae2d8a571e03ac9c9eb76fac45af8e51 30c81c46a35ce411e5fbc1191a0a52ef f69f2445df4f9b17ad2b417be66c3710
+Comment: F.5.1 CTR-AES128.Encrypt
+Key: 2b7e151628aed2a6abf7158809cf4f3c
+Ciphertext: 874d6191b620e3261bef6864990db6ce 9806f66b7970fdff8617187bb9fffdff 5ae4df3edbd5d35e5b4f09020db03eab 1e031dda2fbe03d1792170a0f3009cee
+Test: Encrypt
+Comment: F.5.3 CTR-AES192.Encrypt
+Key: 8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
+Ciphertext: 1abc932417521ca24f2b0459fe7e6e0b 090339ec0aa6faefd5ccc2c6f4ce8e94 1e36b26bd1ebc670d1bd1d665620abf7 4f78a7f6d29809585a97daec58c6b050
+Test: Encrypt
+Comment: F.5.5 CTR-AES256.Encrypt
+Key: 603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
+Ciphertext: 601ec313775789a5b7a7f504bbf3d228 f443e3ca4d62b59aca84e990cacaf5c5 2b0930daa23de94ce87017ba2d84988d dfc9c58db67aada613c2dd08457941a6
+Test: Encrypt
+
+AlgorithmType: SymmetricCipher
+Name: AES/CTR
+Source: RFC 3686
+#Test Vector #1: Encrypting 16 octets using AES-CTR with 128-bit key
+Key          : AE 68 52 F8 12 10 67 CC 4B F7 A5 76 55 77 F3 9E
+Plaintext        : 53 69 6E 67 6C 65 20 62 6C 6F 63 6B 20 6D 73 67
+IV: 00 00 00 30 00 00 00 00 00 00 00 00 00 00 00 01
+Ciphertext       : E4 09 5D 4F B7 A7 B3 79 2D 61 75 A3 26 13 11 B8
+Test: Encrypt
+#Test Vector #2: Encrypting 32 octets using AES-CTR with 128-bit key
+Key          : 7E 24 06 78 17 FA E0 D7 43 D6 CE 1F 32 53 91 63
+Plaintext        : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
+IV: 00 6C B6 DB C0 54 3B 59 DA 48 D9 0B 00 00 00 01
+Ciphertext       : 51 04 A1 06 16 8A 72 D9 79 0D 41 EE 8E DA D3 88 EB 2E 1E FC 46 DA 57 C8 FC E6 30 DF 91 41 BE 28
+Test: Encrypt
+#Test Vector #3: Encrypting 36 octets using AES-CTR with 128-bit key
+Key          : 76 91 BE 03 5E 50 20 A8 AC 6E 61 85 29 F9 A0 DC
+Plaintext        : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23
+IV: 00 E0 01 7B 27 77 7F 3F 4A 17 86 F0 00 00 00 01
+Ciphertext       : C1 CF 48 A8 9F 2F FD D9 CF 46 52 E9 EF DB 72 D7 45 40 A4 2B DE 6D 78 36 D5 9A 5C EA AE F3 10 53 25 B2 07 2F
+Test: Encrypt
+#Test Vector #4: Encrypting 16 octets using AES-CTR with 192-bit key
+Key          : 16 AF 5B 14 5F C9 F5 79 C1 75 F9 3E 3B FB 0E ED 86 3D 06 CC FD B7 85 15
+Plaintext        : 53 69 6E 67 6C 65 20 62 6C 6F 63 6B 20 6D 73 67
+IV: 00 00 00 48 36 73 3C 14 7D 6D 93 CB 00 00 00 01
+Ciphertext       : 4B 55 38 4F E2 59 C9 C8 4E 79 35 A0 03 CB E9 28
+Test: Encrypt
+#Test Vector #5: Encrypting 32 octets using AES-CTR with 192-bit key
+Key          : 7C 5C B2 40 1B 3D C3 3C 19 E7 34 08 19 E0 F6 9C 67 8C 3D B8 E6 F6 A9 1A
+Plaintext        : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
+IV: 00 96 B0 3B 02 0C 6E AD C2 CB 50 0D 00 00 00 01
+Ciphertext       : 45 32 43 FC 60 9B 23 32 7E DF AA FA 71 31 CD 9F 84 90 70 1C 5A D4 A7 9C FC 1F E0 FF 42 F4 FB 00
+Test: Encrypt
+#Test Vector #6: Encrypting 36 octets using AES-CTR with 192-bit key
+Key          : 02 BF 39 1E E8 EC B1 59 B9 59 61 7B 09 65 27 9B F5 9B 60 A7 86 D3 E0 FE
+Plaintext        : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23
+IV: 00 07 BD FD 5C BD 60 27 8D CC 09 12 00 00 00 01
+Ciphertext       : 96 89 3F C5 5E 5C 72 2F 54 0B 7D D1 DD F7 E7 58 D2 88 BC 95 C6 91 65 88 45 36 C8 11 66 2F 21 88 AB EE 09 35
+Test: Encrypt
+#Test Vector #7: Encrypting 16 octets using AES-CTR with 256-bit key
+Key          : 77 6B EF F2 85 1D B0 6F 4C 8A 05 42 C8 69 6F 6C 6A 81 AF 1E EC 96 B4 D3 7F C1 D6 89 E6 C1 C1 04
+Plaintext        : 53 69 6E 67 6C 65 20 62 6C 6F 63 6B 20 6D 73 67
+IV: 00 00 00 60 DB 56 72 C9 7A A8 F0 B2 00 00 00 01
+Ciphertext       : 14 5A D0 1D BF 82 4E C7 56 08 63 DC 71 E3 E0 C0
+Test: Encrypt
+#Test Vector #8: Encrypting 32 octets using AES-CTR with 256-bit key
+Key          : F6 D6 6D 6B D5 2D 59 BB 07 96 36 58 79 EF F8 86 C6 6D D5 1A 5B 6A 99 74 4B 50 59 0C 87 A2 38 84
+Plaintext        : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
+IV: 00 FA AC 24 C1 58 5E F1 5A 43 D8 75 00 00 00 01
+Ciphertext       : F0 5E 23 1B 38 94 61 2C 49 EE 00 0B 80 4E B2 A9 B8 30 6B 50 8F 83 9D 6A 55 30 83 1D 93 44 AF 1C
+Test: Encrypt
+#Test Vector #9: Encrypting 36 octets using AES-CTR with 256-bit key
+Key          : FF 7A 61 7C E6 91 48 E4 F1 72 6E 2F 43 58 1D E2 AA 62 D9 F8 05 53 2E DF F1 EE D6 87 FB 54 15 3D
+Plaintext        : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23
+IV: 00 1C C5 B7 51 A5 1D 70 A1 C1 11 48 00 00 00 01
+Ciphertext       : EB 6C 52 82 1D 0B BB F7 CE 75 94 46 2A CA 4F AA B4 07 DF 86 65 69 FD 07 F4 8C C0 B5 83 D6 07 1F 1E C0 E6 B8
+Test: Encrypt
diff --git a/embeddedcryptopp/TestVectors/all.txt b/embeddedcryptopp/TestVectors/all.txt
new file mode 100644 (file)
index 0000000..3f06e78
--- /dev/null
@@ -0,0 +1,29 @@
+AlgorithmType: FileList
+Name: all.txt collection
+Test: TestVectors/tea.txt
+Test: TestVectors/camellia.txt
+Test: TestVectors/shacal2.txt
+Test: TestVectors/ttmac.txt
+Test: TestVectors/whrlpool.txt
+Test: TestVectors/dlies.txt
+Test: TestVectors/dsa.txt
+Test: TestVectors/dsa_1363.txt
+Test: TestVectors/esign.txt
+Test: TestVectors/hmac.txt
+Test: TestVectors/nr.txt
+Test: TestVectors/rsa_oaep.txt
+Test: TestVectors/rsa_pkcs1_1_5.txt
+Test: TestVectors/rsa_pss.txt
+Test: TestVectors/rw.txt
+Test: TestVectors/seal.txt
+Test: TestVectors/sha.txt
+Test: TestVectors/panama.txt
+Test: TestVectors/aes.txt
+Test: TestVectors/salsa.txt
+Test: TestVectors/vmac.txt
+Test: TestVectors/sosemanuk.txt
+Test: TestVectors/ccm.txt
+Test: TestVectors/gcm.txt
+Test: TestVectors/cmac.txt
+Test: TestVectors/eax.txt
+Test: TestVectors/mars.txt
diff --git a/embeddedcryptopp/TestVectors/camellia.txt b/embeddedcryptopp/TestVectors/camellia.txt
new file mode 100644 (file)
index 0000000..f88d05b
--- /dev/null
@@ -0,0 +1,8646 @@
+AlgorithmType: SymmetricCipher
+Name: Camellia/ECB
+Source: NESSIE submission
+Comment: Tests with 128-bit keys
+Comment:    Set 1, vector 0
+Key:        80000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6C227F749319A3AA7DA235A9BBA05A2C
+Test: Encrypt
+Comment:    Set 1, vector 1
+Key:        40000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: F04D51E45E70FB6DEE0D16A204FBBA16
+Test: Encrypt
+Comment:    Set 1, vector 2
+Key:        20000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: ED44242E619F8C32EAA2D3641DA47EA4
+Test: Encrypt
+Comment:    Set 1, vector 3
+Key:        10000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: AC640BBBF84CD3B8E8258BF66C210AE2
+Test: Encrypt
+Comment:    Set 1, vector 4
+Key:        08000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 8A42BDA76C84B8960B23530100AFB748
+Test: Encrypt
+Comment:    Set 1, vector 5
+Key:        04000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 1D20D15F3EE21EE6051803ADF83E31D7
+Test: Encrypt
+Comment:    Set 1, vector 6
+Key:        02000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6896B2FB85D26A243BB5697F6A764307
+Test: Encrypt
+Comment:    Set 1, vector 7
+Key:        01000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 43A865A61E1117008372932EA9CE8BB2
+Test: Encrypt
+Comment:    Set 1, vector 8
+Key:        00800000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: CB5ECC200DDE8E9076A8AEA2250F49E4
+Test: Encrypt
+Comment:    Set 1, vector 9
+Key:        00400000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 0B2A489718DC0B0E11F11C1D3913F4A8
+Test: Encrypt
+Comment:    Set 1, vector 10
+Key:        00200000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 1D28A0A70B3C72ADC5B77487AD442873
+Test: Encrypt
+Comment:    Set 1, vector 11
+Key:        00100000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 26D344959095765A3DD6986B656F353D
+Test: Encrypt
+Comment:    Set 1, vector 12
+Key:        00080000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 048248D32A74DB80DAF5642417F7832A
+Test: Encrypt
+Comment:    Set 1, vector 13
+Key:        00040000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 44D400F8752F16B20DB95A959917B650
+Test: Encrypt
+Comment:    Set 1, vector 14
+Key:        00020000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: E885DD9B2794459B2133BC84B59C2DED
+Test: Encrypt
+Comment:    Set 1, vector 15
+Key:        00010000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 89D6E4182FD0DD7E4038710F597DD242
+Test: Encrypt
+Comment:    Set 1, vector 16
+Key:        00008000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 7FE5BA5FF1D0EB81132A3DA0CD8E829D
+Test: Encrypt
+Comment:    Set 1, vector 17
+Key:        00004000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 470FEDAAA6FFFCBC48AF8B3859B1E45F
+Test: Encrypt
+Comment:    Set 1, vector 18
+Key:        00002000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: B6FA2D9F41110E6914890AF888C36091
+Test: Encrypt
+Comment:    Set 1, vector 19
+Key:        00001000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 46D2C0FD0C3A4D2B5CA6BA5E14382DCA
+Test: Encrypt
+Comment:    Set 1, vector 20
+Key:        00000800000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 730D700DCC5AB632DD9D92C6D1C18E5A
+Test: Encrypt
+Comment:    Set 1, vector 21
+Key:        00000400000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 067D56D80AF5D2F24D84F518B8FC7920
+Test: Encrypt
+Comment:    Set 1, vector 22
+Key:        00000200000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 027F6EE9F54534E4C21F9263B68BAEA0
+Test: Encrypt
+Comment:    Set 1, vector 23
+Key:        00000100000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: D115CB2324E8FDA3576DEE57E49CC315
+Test: Encrypt
+Comment:    Set 1, vector 24
+Key:        00000080000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 0976DB57B27E4136743E58BCECFBC056
+Test: Encrypt
+Comment:    Set 1, vector 25
+Key:        00000040000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 0C889DF89972EB42DB2BD2AAC335CCC8
+Test: Encrypt
+Comment:    Set 1, vector 26
+Key:        00000020000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: CB6B80177047A3B2AC290A41B94174EF
+Test: Encrypt
+Comment:    Set 1, vector 27
+Key:        00000010000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: F816631F8FBC54ECDC1AB5323FF8424E
+Test: Encrypt
+Comment:    Set 1, vector 28
+Key:        00000008000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 40CB64DF57D2A6BBCBD82DFCC749707D
+Test: Encrypt
+Comment:    Set 1, vector 29
+Key:        00000004000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 885BD3C2DD560765B11F5A2D238E9F9A
+Test: Encrypt
+Comment:    Set 1, vector 30
+Key:        00000002000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 877AAEF064555DE89C99B7C5A1326C62
+Test: Encrypt
+Comment:    Set 1, vector 31
+Key:        00000001000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: AA4FBBE7A02020F5D81030E0EF7A460D
+Test: Encrypt
+Comment:    Set 1, vector 32
+Key:        00000000800000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: AA2759BC215E49F26008206F6F65B7AC
+Test: Encrypt
+Comment:    Set 1, vector 33
+Key:        00000000400000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 419A8069C3D531475FF7F29AE049D57C
+Test: Encrypt
+Comment:    Set 1, vector 34
+Key:        00000000200000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 455588067DB9088130C861F5BE9E15BF
+Test: Encrypt
+Comment:    Set 1, vector 35
+Key:        00000000100000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: FDD6967ADA65ED3E20718C451AE5AE34
+Test: Encrypt
+Comment:    Set 1, vector 36
+Key:        00000000080000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 1C74228D2A82248CD29800B64BEFF97A
+Test: Encrypt
+Comment:    Set 1, vector 37
+Key:        00000000040000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 4B88B7FFB32B05840BE7B497377AFDAA
+Test: Encrypt
+Comment:    Set 1, vector 38
+Key:        00000000020000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 4D4EC4C728524DA2F366FC272AB2666A
+Test: Encrypt
+Comment:    Set 1, vector 39
+Key:        00000000010000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 4FA8A27ED16BF36FA296D8AB2B423C77
+Test: Encrypt
+Comment:    Set 1, vector 40
+Key:        00000000008000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 943B9D570D371A3D823B680BBDA9477D
+Test: Encrypt
+Comment:    Set 1, vector 41
+Key:        00000000004000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: DCC390F5E1CAADBE061D02929473D084
+Test: Encrypt
+Comment:    Set 1, vector 42
+Key:        00000000002000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 9655F00C4A5C40DF401A3FF806575834
+Test: Encrypt
+Comment:    Set 1, vector 43
+Key:        00000000001000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: FCC9F6B36DE6DD6AA578AD0B59DF5996
+Test: Encrypt
+Comment:    Set 1, vector 44
+Key:        00000000000800000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: F573FF52ACAA16609E5B3C3C7353DA75
+Test: Encrypt
+Comment:    Set 1, vector 45
+Key:        00000000000400000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 203EF49006A7FC856FF7A7A3B953D999
+Test: Encrypt
+Comment:    Set 1, vector 46
+Key:        00000000000200000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 16659E823D942E99C83926C4055D896D
+Test: Encrypt
+Comment:    Set 1, vector 47
+Key:        00000000000100000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 139D5DB9EF0119F4E5D11256C5ECB8B0
+Test: Encrypt
+Comment:    Set 1, vector 48
+Key:        00000000000080000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 63FB244962CCE915425EF1B31DE6AAE2
+Test: Encrypt
+Comment:    Set 1, vector 49
+Key:        00000000000040000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6F771C2DC848A106E907A990DABA0272
+Test: Encrypt
+Comment:    Set 1, vector 50
+Key:        00000000000020000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: CFA1F114CF0D9C7DAD301B833962ABF2
+Test: Encrypt
+Comment:    Set 1, vector 51
+Key:        00000000000010000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 58A3BE61DA53D0AA8F33DE95E6F38A3F
+Test: Encrypt
+Comment:    Set 1, vector 52
+Key:        00000000000008000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 2FE96FCB3D845B568AE804B217F3498F
+Test: Encrypt
+Comment:    Set 1, vector 53
+Key:        00000000000004000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: FD74EB6621127D58FA44BA3E6EE7835D
+Test: Encrypt
+Comment:    Set 1, vector 54
+Key:        00000000000002000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 834C0C5D8D88EE63C989AA1E66F4E18C
+Test: Encrypt
+Comment:    Set 1, vector 55
+Key:        00000000000001000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: FEF8E0097B9EB5CE6DE710F5742F7E4F
+Test: Encrypt
+Comment:    Set 1, vector 56
+Key:        00000000000000800000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 75FCC55F284311B81D967618C2D35700
+Test: Encrypt
+Comment:    Set 1, vector 57
+Key:        00000000000000400000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 91AE4E35623A7F10383BF7448F1F74AD
+Test: Encrypt
+Comment:    Set 1, vector 58
+Key:        00000000000000200000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 8928B2B6967BA1B4230AA1EBA49D1A08
+Test: Encrypt
+Comment:    Set 1, vector 59
+Key:        00000000000000100000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 707EA08174ED5C0AD0A74363B403F02D
+Test: Encrypt
+Comment:    Set 1, vector 60
+Key:        00000000000000080000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 7C0C13410DDE30C0AD3565FFAA33E8AD
+Test: Encrypt
+Comment:    Set 1, vector 61
+Key:        00000000000000040000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 56DA72C545C490A749C66BCC5D90AACD
+Test: Encrypt
+Comment:    Set 1, vector 62
+Key:        00000000000000020000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 2CC0CF6E2AAA7916AF636B1546BA1179
+Test: Encrypt
+Comment:    Set 1, vector 63
+Key:        00000000000000010000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: A19FE617883D409B1F78882E0D5EF39C
+Test: Encrypt
+Comment:    Set 1, vector 64
+Key:        00000000000000008000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 2B8586BBB979CFFAC5A76C25D77C1E2C
+Test: Encrypt
+Comment:    Set 1, vector 65
+Key:        00000000000000004000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5A08C9B5A2940E3ACD1086867E3E4733
+Test: Encrypt
+Comment:    Set 1, vector 66
+Key:        00000000000000002000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 7443F1072833BFC8AA38CBF6963CF880
+Test: Encrypt
+Comment:    Set 1, vector 67
+Key:        00000000000000001000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6809A1F2D2B5367D5E8442E7972BD1D4
+Test: Encrypt
+Comment:    Set 1, vector 68
+Key:        00000000000000000800000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: A61D4FE41D5DBB7A6BCE5984502CD767
+Test: Encrypt
+Comment:    Set 1, vector 69
+Key:        00000000000000000400000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 30D86F43B81F4D2098A4D43AB2637549
+Test: Encrypt
+Comment:    Set 1, vector 70
+Key:        00000000000000000200000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5B16E9033FA40BF141D3EE73FF7E2564
+Test: Encrypt
+Comment:    Set 1, vector 71
+Key:        00000000000000000100000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 15574EF70C880682DBFBD93FAE8023F6
+Test: Encrypt
+Comment:    Set 1, vector 72
+Key:        00000000000000000080000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 0D8D220DB69B15FFE2001B3F42E910EA
+Test: Encrypt
+Comment:    Set 1, vector 73
+Key:        00000000000000000040000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 030AB24DA9E4ADD4E350E692077A948C
+Test: Encrypt
+Comment:    Set 1, vector 74
+Key:        00000000000000000020000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 7F6509A9FD8525126BFB69AFE8624A96
+Test: Encrypt
+Comment:    Set 1, vector 75
+Key:        00000000000000000010000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 9600EB0B7E38A5ABEBBDADD3DFC70298
+Test: Encrypt
+Comment:    Set 1, vector 76
+Key:        00000000000000000008000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 3CF0F71B4687AAABEB9FA8CDE00B17D7
+Test: Encrypt
+Comment:    Set 1, vector 77
+Key:        00000000000000000004000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 8B1C549A655C0041D866B7875A2736CB
+Test: Encrypt
+Comment:    Set 1, vector 78
+Key:        00000000000000000002000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 8F507233FBC9E1DBF716FB4C828DBF06
+Test: Encrypt
+Comment:    Set 1, vector 79
+Key:        00000000000000000001000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 14A45A121DC8996020C29A040FE8E52D
+Test: Encrypt
+Comment:    Set 1, vector 80
+Key:        00000000000000000000800000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 32390FB6FC15BB4B37D1CD8817BAEB09
+Test: Encrypt
+Comment:    Set 1, vector 81
+Key:        00000000000000000000400000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 9E61986F3F4C31132D436CCFCF751043
+Test: Encrypt
+Comment:    Set 1, vector 82
+Key:        00000000000000000000200000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 24E63FAD370974C60330F7C3071938F1
+Test: Encrypt
+Comment:    Set 1, vector 83
+Key:        00000000000000000000100000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 3CE71D4E9F2F7EF9A6F9F2548C5489CC
+Test: Encrypt
+Comment:    Set 1, vector 84
+Key:        00000000000000000000080000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: E42436B8E076A00600DFD67B8C427DB1
+Test: Encrypt
+Comment:    Set 1, vector 85
+Key:        00000000000000000000040000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5C2577FA8104DCC58ACE852B4D11FE24
+Test: Encrypt
+Comment:    Set 1, vector 86
+Key:        00000000000000000000020000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 12FC9DD7132B3BB346C53FD193531638
+Test: Encrypt
+Comment:    Set 1, vector 87
+Key:        00000000000000000000010000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5D91F775E26599F26B21F9FB1F67DA38
+Test: Encrypt
+Comment:    Set 1, vector 88
+Key:        00000000000000000000008000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: D4B3683AA62D2EF0331A960A0BF01A29
+Test: Encrypt
+Comment:    Set 1, vector 89
+Key:        00000000000000000000004000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: EE32582D35DDF3A82142ED18FEE38014
+Test: Encrypt
+Comment:    Set 1, vector 90
+Key:        00000000000000000000002000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 148632AE69514D5776DA4AF38E1AE4FD
+Test: Encrypt
+Comment:    Set 1, vector 91
+Key:        00000000000000000000001000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 30A3EE1AA1CA17B128DAAF06AF9025BD
+Test: Encrypt
+Comment:    Set 1, vector 92
+Key:        00000000000000000000000800000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 88D82D9E508CBFB392E47E524BB33019
+Test: Encrypt
+Comment:    Set 1, vector 93
+Key:        00000000000000000000000400000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 0C20870A9FC751F6E41F92305B7C4D92
+Test: Encrypt
+Comment:    Set 1, vector 94
+Key:        00000000000000000000000200000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6A4EDE5FD13F3676C1BCF8B73AB273CB
+Test: Encrypt
+Comment:    Set 1, vector 95
+Key:        00000000000000000000000100000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5A62CE50EA837CA4FD0F7304D1572D22
+Test: Encrypt
+Comment:    Set 1, vector 96
+Key:        00000000000000000000000080000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 84DB8599B48ED4F39E872F13F7FCDF0B
+Test: Encrypt
+Comment:    Set 1, vector 97
+Key:        00000000000000000000000040000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: CDD25F8276411E892035C9703C7588EE
+Test: Encrypt
+Comment:    Set 1, vector 98
+Key:        00000000000000000000000020000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 73BCFB16436B5C52CD4BC9629F75C5C8
+Test: Encrypt
+Comment:    Set 1, vector 99
+Key:        00000000000000000000000010000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 03752D935029B09699C29CA5C6E79553
+Test: Encrypt
+Comment:    Set 1, vector 100
+Key:        00000000000000000000000008000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: EF439A1B86698409E91D992BDB3F54E5
+Test: Encrypt
+Comment:    Set 1, vector 101
+Key:        00000000000000000000000004000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 2A34BDE7EC74221BFF58B251E54F089F
+Test: Encrypt
+Comment:    Set 1, vector 102
+Key:        00000000000000000000000002000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 35FBB78716B78FB57F96BC8A5D869B72
+Test: Encrypt
+Comment:    Set 1, vector 103
+Key:        00000000000000000000000001000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: AC3A7363DFB6C3F06CCCA1A46F44A5F8
+Test: Encrypt
+Comment:    Set 1, vector 104
+Key:        00000000000000000000000000800000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 4895E1B7E54CA168CE42E3994D564B62
+Test: Encrypt
+Comment:    Set 1, vector 105
+Key:        00000000000000000000000000400000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: E98956EFC457FE8AA103DB303A3B1DF1
+Test: Encrypt
+Comment:    Set 1, vector 106
+Key:        00000000000000000000000000200000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 276646992D6E752A649183DB05073422
+Test: Encrypt
+Comment:    Set 1, vector 107
+Key:        00000000000000000000000000100000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 82F36DE401E21D01A476A163A92F4B16
+Test: Encrypt
+Comment:    Set 1, vector 108
+Key:        00000000000000000000000000080000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: E54DD90800B92153C314F8B1590B17E5
+Test: Encrypt
+Comment:    Set 1, vector 109
+Key:        00000000000000000000000000040000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: F4A146DFB33405EC6B8F37AEB10F5198
+Test: Encrypt
+Comment:    Set 1, vector 110
+Key:        00000000000000000000000000020000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: C332ADBC2D44FA1A1A4F7C8EAE2CED29
+Test: Encrypt
+Comment:    Set 1, vector 111
+Key:        00000000000000000000000000010000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 21AA542624DA9F2363404CE42BC2BAEF
+Test: Encrypt
+Comment:    Set 1, vector 112
+Key:        00000000000000000000000000008000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: E101DBEF627038AE819441D133AEE068
+Test: Encrypt
+Comment:    Set 1, vector 113
+Key:        00000000000000000000000000004000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 7A9B635E6AA5D273DE697747FE6BB08E
+Test: Encrypt
+Comment:    Set 1, vector 114
+Key:        00000000000000000000000000002000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 0541AA347D36F03D9177FC91398874DB
+Test: Encrypt
+Comment:    Set 1, vector 115
+Key:        00000000000000000000000000001000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: BE27D6FE099AB98BF07A74A1ABF5C945
+Test: Encrypt
+Comment:    Set 1, vector 116
+Key:        00000000000000000000000000000800
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 472ACD81A6626822E220F431C4491704
+Test: Encrypt
+Comment:    Set 1, vector 117
+Key:        00000000000000000000000000000400
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 2D5152F19E29AD7D5823CDCA188E0CD8
+Test: Encrypt
+Comment:    Set 1, vector 118
+Key:        00000000000000000000000000000200
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 875C90B3669DF8F4867B6769689656E7
+Test: Encrypt
+Comment:    Set 1, vector 119
+Key:        00000000000000000000000000000100
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 59641CA52EEBC2C229930CE42529277F
+Test: Encrypt
+Comment:    Set 1, vector 120
+Key:        00000000000000000000000000000080
+Plaintext:  00000000000000000000000000000000
+Ciphertext: A3B4D666AC56C284D40DC27FDB0F787C
+Test: Encrypt
+Comment:    Set 1, vector 121
+Key:        00000000000000000000000000000040
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 0511D526FC5F255F51F1914B4B12AD84
+Test: Encrypt
+Comment:    Set 1, vector 122
+Key:        00000000000000000000000000000020
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 2D14332989F629DA4720ECC916B4DAF0
+Test: Encrypt
+Comment:    Set 1, vector 123
+Key:        00000000000000000000000000000010
+Plaintext:  00000000000000000000000000000000
+Ciphertext: C44EAC8457E2F17E9BC86EB4C436E8DB
+Test: Encrypt
+Comment:    Set 1, vector 124
+Key:        00000000000000000000000000000008
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 022F3EB45AAA39F785FF80B6A3006BF6
+Test: Encrypt
+Comment:    Set 1, vector 125
+Key:        00000000000000000000000000000004
+Plaintext:  00000000000000000000000000000000
+Ciphertext: B8A714C8F8427767B384B0E2F6BAF619
+Test: Encrypt
+Comment:    Set 1, vector 126
+Key:        00000000000000000000000000000002
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 01F745A7C09FECD3497F087BD52A9A0F
+Test: Encrypt
+Comment:    Set 1, vector 127
+Key:        00000000000000000000000000000001
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 41E0E6DC2DDEC65D8B8120E60977B82D
+Test: Encrypt
+Comment:    Set 2, vector 0
+Key:        00000000000000000000000000000000
+Plaintext:  80000000000000000000000000000000
+Ciphertext: 07923A39EB0A817D1C4D87BDB82D1F1C
+Test: Encrypt
+Comment:    Set 2, vector 1
+Key:        00000000000000000000000000000000
+Plaintext:  40000000000000000000000000000000
+Ciphertext: 48CD6419809672D2349260D89A08D3D3
+Test: Encrypt
+Comment:    Set 2, vector 2
+Key:        00000000000000000000000000000000
+Plaintext:  20000000000000000000000000000000
+Ciphertext: D07493CCB2E95CE0B4945A05ACC97D82
+Test: Encrypt
+Comment:    Set 2, vector 3
+Key:        00000000000000000000000000000000
+Plaintext:  10000000000000000000000000000000
+Ciphertext: 5DBE1EAC9F7080A88DBED7F6DA101448
+Test: Encrypt
+Comment:    Set 2, vector 4
+Key:        00000000000000000000000000000000
+Plaintext:  08000000000000000000000000000000
+Ciphertext: F01EE477D199DF2701027034B229622F
+Test: Encrypt
+Comment:    Set 2, vector 5
+Key:        00000000000000000000000000000000
+Plaintext:  04000000000000000000000000000000
+Ciphertext: C841587ABD9A912E563774CB569D051E
+Test: Encrypt
+Comment:    Set 2, vector 6
+Key:        00000000000000000000000000000000
+Plaintext:  02000000000000000000000000000000
+Ciphertext: 1D9BC0C04546F0915C8CCD11391A455C
+Test: Encrypt
+Comment:    Set 2, vector 7
+Key:        00000000000000000000000000000000
+Plaintext:  01000000000000000000000000000000
+Ciphertext: 05E6EBB4BA167F5C479CEFF3152F943B
+Test: Encrypt
+Comment:    Set 2, vector 8
+Key:        00000000000000000000000000000000
+Plaintext:  00800000000000000000000000000000
+Ciphertext: 93211E0F788845B9FC0E4551FFE92AC9
+Test: Encrypt
+Comment:    Set 2, vector 9
+Key:        00000000000000000000000000000000
+Plaintext:  00400000000000000000000000000000
+Ciphertext: B6D35701CD8FADDE383BBE8E6B70BAF7
+Test: Encrypt
+Comment:    Set 2, vector 10
+Key:        00000000000000000000000000000000
+Plaintext:  00200000000000000000000000000000
+Ciphertext: 8358F9F4EBCFEE348CB30551ACB151A0
+Test: Encrypt
+Comment:    Set 2, vector 11
+Key:        00000000000000000000000000000000
+Plaintext:  00100000000000000000000000000000
+Ciphertext: D57516EB5AD93C523E40521BF447AFCE
+Test: Encrypt
+Comment:    Set 2, vector 12
+Key:        00000000000000000000000000000000
+Plaintext:  00080000000000000000000000000000
+Ciphertext: 66B2534C279C439133F52E5AD8B439A9
+Test: Encrypt
+Comment:    Set 2, vector 13
+Key:        00000000000000000000000000000000
+Plaintext:  00040000000000000000000000000000
+Ciphertext: A71C69184A9F63C2992A5F18F77C1FE9
+Test: Encrypt
+Comment:    Set 2, vector 14
+Key:        00000000000000000000000000000000
+Plaintext:  00020000000000000000000000000000
+Ciphertext: 1ADCBE49AEACB9ECEBBD492B10E82C7B
+Test: Encrypt
+Comment:    Set 2, vector 15
+Key:        00000000000000000000000000000000
+Plaintext:  00010000000000000000000000000000
+Ciphertext: 27E3BCFB227C5561DB6CF7FC30387036
+Test: Encrypt
+Comment:    Set 2, vector 16
+Key:        00000000000000000000000000000000
+Plaintext:  00008000000000000000000000000000
+Ciphertext: F4AE20365CC9D06B0CAE6B695ED2CEC1
+Test: Encrypt
+Comment:    Set 2, vector 17
+Key:        00000000000000000000000000000000
+Plaintext:  00004000000000000000000000000000
+Ciphertext: 3DD682F0B641ED32AD3D43EA2A0456E4
+Test: Encrypt
+Comment:    Set 2, vector 18
+Key:        00000000000000000000000000000000
+Plaintext:  00002000000000000000000000000000
+Ciphertext: 6E5D14A95ECC290B509EA6B673652E3A
+Test: Encrypt
+Comment:    Set 2, vector 19
+Key:        00000000000000000000000000000000
+Plaintext:  00001000000000000000000000000000
+Ciphertext: F1CDF0F8D7B3FFD95422D7CC0CF40B7B
+Test: Encrypt
+Comment:    Set 2, vector 20
+Key:        00000000000000000000000000000000
+Plaintext:  00000800000000000000000000000000
+Ciphertext: A9253D459A34C385A1F1B2CFFA3935C5
+Test: Encrypt
+Comment:    Set 2, vector 21
+Key:        00000000000000000000000000000000
+Plaintext:  00000400000000000000000000000000
+Ciphertext: 291024D99FF09A47A1DEE45BA700AE52
+Test: Encrypt
+Comment:    Set 2, vector 22
+Key:        00000000000000000000000000000000
+Plaintext:  00000200000000000000000000000000
+Ciphertext: 49241D9459B277187BB10081C60361C0
+Test: Encrypt
+Comment:    Set 2, vector 23
+Key:        00000000000000000000000000000000
+Plaintext:  00000100000000000000000000000000
+Ciphertext: AD9BA365CC4DD5553D2D9FE303841D88
+Test: Encrypt
+Comment:    Set 2, vector 24
+Key:        00000000000000000000000000000000
+Plaintext:  00000080000000000000000000000000
+Ciphertext: C2ECA616664A249DC622CC11196B4AE1
+Test: Encrypt
+Comment:    Set 2, vector 25
+Key:        00000000000000000000000000000000
+Plaintext:  00000040000000000000000000000000
+Ciphertext: 6E1A2D4794BB0DC08777A0BC7523E70E
+Test: Encrypt
+Comment:    Set 2, vector 26
+Key:        00000000000000000000000000000000
+Plaintext:  00000020000000000000000000000000
+Ciphertext: 6DB1F0CF59656BDD235E82B8CEF0BE8E
+Test: Encrypt
+Comment:    Set 2, vector 27
+Key:        00000000000000000000000000000000
+Plaintext:  00000010000000000000000000000000
+Ciphertext: 52F239C5EAF401EBDC54D2F011FF4B6A
+Test: Encrypt
+Comment:    Set 2, vector 28
+Key:        00000000000000000000000000000000
+Plaintext:  00000008000000000000000000000000
+Ciphertext: 6B58A08F648414B67FD6847D2AA51CBF
+Test: Encrypt
+Comment:    Set 2, vector 29
+Key:        00000000000000000000000000000000
+Plaintext:  00000004000000000000000000000000
+Ciphertext: 2959DD5367885A75EB48053CF3251A36
+Test: Encrypt
+Comment:    Set 2, vector 30
+Key:        00000000000000000000000000000000
+Plaintext:  00000002000000000000000000000000
+Ciphertext: 630B292E3B88EF641CDFD531E206605E
+Test: Encrypt
+Comment:    Set 2, vector 31
+Key:        00000000000000000000000000000000
+Plaintext:  00000001000000000000000000000000
+Ciphertext: 4BBB88EF82B70593FCC56AFD91540FDB
+Test: Encrypt
+Comment:    Set 2, vector 32
+Key:        00000000000000000000000000000000
+Plaintext:  00000000800000000000000000000000
+Ciphertext: 0A13055B118A45C606999257BD191426
+Test: Encrypt
+Comment:    Set 2, vector 33
+Key:        00000000000000000000000000000000
+Plaintext:  00000000400000000000000000000000
+Ciphertext: 5CF8E5C9F15D7E4F865020224853EB77
+Test: Encrypt
+Comment:    Set 2, vector 34
+Key:        00000000000000000000000000000000
+Plaintext:  00000000200000000000000000000000
+Ciphertext: 3898805042C7A4315C5EE51AF2DE47E2
+Test: Encrypt
+Comment:    Set 2, vector 35
+Key:        00000000000000000000000000000000
+Plaintext:  00000000100000000000000000000000
+Ciphertext: 8D3F96372E87CBB0B375425B3A10B9E7
+Test: Encrypt
+Comment:    Set 2, vector 36
+Key:        00000000000000000000000000000000
+Plaintext:  00000000080000000000000000000000
+Ciphertext: 4D9510A378BD784A70A66BCC75B7D3C8
+Test: Encrypt
+Comment:    Set 2, vector 37
+Key:        00000000000000000000000000000000
+Plaintext:  00000000040000000000000000000000
+Ciphertext: 70DB1902D37CFBDFB98F7C516F79D416
+Test: Encrypt
+Comment:    Set 2, vector 38
+Key:        00000000000000000000000000000000
+Plaintext:  00000000020000000000000000000000
+Ciphertext: 383C6C2AABEF7FDE25CD470BF774A331
+Test: Encrypt
+Comment:    Set 2, vector 39
+Key:        00000000000000000000000000000000
+Plaintext:  00000000010000000000000000000000
+Ciphertext: 47CBCB5288349B1A15DC9F81FBEE6B8F
+Test: Encrypt
+Comment:    Set 2, vector 40
+Key:        00000000000000000000000000000000
+Plaintext:  00000000008000000000000000000000
+Ciphertext: 21DA34D4468EEB13AED95DAE0FF48310
+Test: Encrypt
+Comment:    Set 2, vector 41
+Key:        00000000000000000000000000000000
+Plaintext:  00000000004000000000000000000000
+Ciphertext: 021C9A8E6BD36FBD036411E5D852A80F
+Test: Encrypt
+Comment:    Set 2, vector 42
+Key:        00000000000000000000000000000000
+Plaintext:  00000000002000000000000000000000
+Ciphertext: 6A459E2F839AF60ACDE83774D0BB5574
+Test: Encrypt
+Comment:    Set 2, vector 43
+Key:        00000000000000000000000000000000
+Plaintext:  00000000001000000000000000000000
+Ciphertext: C19255121F1B933CAE09E58AEC0E9977
+Test: Encrypt
+Comment:    Set 2, vector 44
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000800000000000000000000
+Ciphertext: 7BA949E27B2BE148A6B801F9305F43D5
+Test: Encrypt
+Comment:    Set 2, vector 45
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000400000000000000000000
+Ciphertext: E8CEB1026BCF7BCEA32E8A380EA76DB7
+Test: Encrypt
+Comment:    Set 2, vector 46
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000200000000000000000000
+Ciphertext: 63F97747ED56A8F521B20CC65F6F9465
+Test: Encrypt
+Comment:    Set 2, vector 47
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000100000000000000000000
+Ciphertext: 2091CFDC629819106188424AC694F75B
+Test: Encrypt
+Comment:    Set 2, vector 48
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000080000000000000000000
+Ciphertext: A91BDF8E8B88407942423CCE000527C4
+Test: Encrypt
+Comment:    Set 2, vector 49
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000040000000000000000000
+Ciphertext: 73F9B44B9635A3FD683DBF8D49E9825B
+Test: Encrypt
+Comment:    Set 2, vector 50
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000020000000000000000000
+Ciphertext: 9DC64B2133FAD5069FD9A7CC2FFFD1CC
+Test: Encrypt
+Comment:    Set 2, vector 51
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000010000000000000000000
+Ciphertext: 28240F81FEC36B71E13F1FEA7A7641E3
+Test: Encrypt
+Comment:    Set 2, vector 52
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000008000000000000000000
+Ciphertext: 20DD39FEE96CD2EFF972872A692B28FD
+Test: Encrypt
+Comment:    Set 2, vector 53
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000004000000000000000000
+Ciphertext: 47A9E40483EC1925B635E47E964E8E93
+Test: Encrypt
+Comment:    Set 2, vector 54
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000002000000000000000000
+Ciphertext: 9C0EBD822C49FB3D853DF5B315A87BA0
+Test: Encrypt
+Comment:    Set 2, vector 55
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000001000000000000000000
+Ciphertext: C18D813FDB45A594C6DC24E5A1F6CE32
+Test: Encrypt
+Comment:    Set 2, vector 56
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000800000000000000000
+Ciphertext: 7E5467FF245ECF80CB55C2D8E91F0711
+Test: Encrypt
+Comment:    Set 2, vector 57
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000400000000000000000
+Ciphertext: 394D4365B77954FDEA4145FCF7A7A041
+Test: Encrypt
+Comment:    Set 2, vector 58
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000200000000000000000
+Ciphertext: B1D8311A492ED11F11E57B29221610C4
+Test: Encrypt
+Comment:    Set 2, vector 59
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000100000000000000000
+Ciphertext: E5FBB947A63AEA90163AF04AD6951EF8
+Test: Encrypt
+Comment:    Set 2, vector 60
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000080000000000000000
+Ciphertext: CA0627DDF580F0E7D59562825C9D0492
+Test: Encrypt
+Comment:    Set 2, vector 61
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000040000000000000000
+Ciphertext: EF98FFD1AED295AAE1860F0274C8F555
+Test: Encrypt
+Comment:    Set 2, vector 62
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000020000000000000000
+Ciphertext: 8C698E5CFFF08FACE10C2DC5FF1E2A81
+Test: Encrypt
+Comment:    Set 2, vector 63
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000010000000000000000
+Ciphertext: 35A7767E02032C35B5CE1A6F49C57C28
+Test: Encrypt
+Comment:    Set 2, vector 64
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000008000000000000000
+Ciphertext: AB36F8734E76EBA306CF00D6763D90B0
+Test: Encrypt
+Comment:    Set 2, vector 65
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000004000000000000000
+Ciphertext: E854EB66D4EC66889B5E6CD4F44A5806
+Test: Encrypt
+Comment:    Set 2, vector 66
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000002000000000000000
+Ciphertext: 15B66DF1455ACD640B8716BCF5DB2D69
+Test: Encrypt
+Comment:    Set 2, vector 67
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000001000000000000000
+Ciphertext: 4C57AB5333E5C2D4B7E30A007E449F48
+Test: Encrypt
+Comment:    Set 2, vector 68
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000800000000000000
+Ciphertext: BA3E7FF28EB38EA09D8DB1440A9A3552
+Test: Encrypt
+Comment:    Set 2, vector 69
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000400000000000000
+Ciphertext: 64E60227AFD80C40C70186CC94804C1A
+Test: Encrypt
+Comment:    Set 2, vector 70
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000200000000000000
+Ciphertext: CEB4423C20B4C91C2551F6FC227C9514
+Test: Encrypt
+Comment:    Set 2, vector 71
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000100000000000000
+Ciphertext: F736894B843EF32DA28576DE500D448C
+Test: Encrypt
+Comment:    Set 2, vector 72
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000080000000000000
+Ciphertext: 58FDA98B678D15053D4B6C060368108C
+Test: Encrypt
+Comment:    Set 2, vector 73
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000040000000000000
+Ciphertext: E28CAE384E578F47657755EBCD97996C
+Test: Encrypt
+Comment:    Set 2, vector 74
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000020000000000000
+Ciphertext: 0A64617BD4B5B166668240D105B7B6A2
+Test: Encrypt
+Comment:    Set 2, vector 75
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000010000000000000
+Ciphertext: 4BD090C7E3D365B5EA80F19B4798881E
+Test: Encrypt
+Comment:    Set 2, vector 76
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000008000000000000
+Ciphertext: BC7B6CB9BFF4F72973BB2CD20A512C06
+Test: Encrypt
+Comment:    Set 2, vector 77
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000004000000000000
+Ciphertext: 4C7ADDC5C867594E9EE75F0AA6AB9C23
+Test: Encrypt
+Comment:    Set 2, vector 78
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000002000000000000
+Ciphertext: 1FBD05C71A36691AC6566A5298101D53
+Test: Encrypt
+Comment:    Set 2, vector 79
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000001000000000000
+Ciphertext: 42D7D6B1F499D412F8793972BD968DA2
+Test: Encrypt
+Comment:    Set 2, vector 80
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000800000000000
+Ciphertext: 260EC86E2786FC68824576B934F32814
+Test: Encrypt
+Comment:    Set 2, vector 81
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000400000000000
+Ciphertext: 576C26DFD7046F9357F34BEA7DFB26A0
+Test: Encrypt
+Comment:    Set 2, vector 82
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000200000000000
+Ciphertext: 6D55E54BFB6F927174A02294C95E0F8F
+Test: Encrypt
+Comment:    Set 2, vector 83
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000100000000000
+Ciphertext: 1A6CE91DD458229C7675A34950D10E23
+Test: Encrypt
+Comment:    Set 2, vector 84
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000080000000000
+Ciphertext: DAD0D5E7E000652825AA34D228EA8D8F
+Test: Encrypt
+Comment:    Set 2, vector 85
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000040000000000
+Ciphertext: E68013F48D75EAD2BBC0B0BDA5E690BF
+Test: Encrypt
+Comment:    Set 2, vector 86
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000020000000000
+Ciphertext: A07D92312FBAE37BFE8A834210AE4F9C
+Test: Encrypt
+Comment:    Set 2, vector 87
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000010000000000
+Ciphertext: 6EEE5F8544CD7D456366EB448813989A
+Test: Encrypt
+Comment:    Set 2, vector 88
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000008000000000
+Ciphertext: F8E5C7FF4B79D7ABE8BFA2DD148820A8
+Test: Encrypt
+Comment:    Set 2, vector 89
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000004000000000
+Ciphertext: C6349D75C7472BBD66F95B3A07C79C91
+Test: Encrypt
+Comment:    Set 2, vector 90
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000002000000000
+Ciphertext: B85713C12D8658951CD1AD21C74D2CD2
+Test: Encrypt
+Comment:    Set 2, vector 91
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000001000000000
+Ciphertext: 907AA00B9F7D47A97623FB55BA911F29
+Test: Encrypt
+Comment:    Set 2, vector 92
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000800000000
+Ciphertext: DC3CD0ED23D11776FAB43A2A6A8F3557
+Test: Encrypt
+Comment:    Set 2, vector 93
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000400000000
+Ciphertext: 4BFE58A8FD69179C14765B09AB70B705
+Test: Encrypt
+Comment:    Set 2, vector 94
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000200000000
+Ciphertext: A23996E0EA67EC280356E5F77130A551
+Test: Encrypt
+Comment:    Set 2, vector 95
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000100000000
+Ciphertext: CDEADE859B3AACD273CCA85A3E2E45F2
+Test: Encrypt
+Comment:    Set 2, vector 96
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000080000000
+Ciphertext: E0FC78489857D84DA03F40CE97147174
+Test: Encrypt
+Comment:    Set 2, vector 97
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000040000000
+Ciphertext: 7615EA6351F6BB12855E8579C6995D8E
+Test: Encrypt
+Comment:    Set 2, vector 98
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000020000000
+Ciphertext: 13E184344FE28C2E70ED0E4D0A8037F9
+Test: Encrypt
+Comment:    Set 2, vector 99
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000010000000
+Ciphertext: A5FE395F568482B87BC3EB208C81C942
+Test: Encrypt
+Comment:    Set 2, vector 100
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000008000000
+Ciphertext: B3103E11AF06C85565823F8CAA3159F6
+Test: Encrypt
+Comment:    Set 2, vector 101
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000004000000
+Ciphertext: 7EBC2234D271B89C519C396985300030
+Test: Encrypt
+Comment:    Set 2, vector 102
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000002000000
+Ciphertext: 0661D338F2E0C939BA1687820A768467
+Test: Encrypt
+Comment:    Set 2, vector 103
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000001000000
+Ciphertext: EC2B42667C0195A90715499617884DA5
+Test: Encrypt
+Comment:    Set 2, vector 104
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000800000
+Ciphertext: AE077BA19D24E7188DDD3682FF196892
+Test: Encrypt
+Comment:    Set 2, vector 105
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000400000
+Ciphertext: 98823C24B9C65A66073C7952DC2B4B5E
+Test: Encrypt
+Comment:    Set 2, vector 106
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000200000
+Ciphertext: 6AB58432CBB3C2F503DA2D16796CC297
+Test: Encrypt
+Comment:    Set 2, vector 107
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000100000
+Ciphertext: EEB5EBB3A53E4196C2F22BC1A4DDF5E8
+Test: Encrypt
+Comment:    Set 2, vector 108
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000080000
+Ciphertext: 33DC40AC5FDC126D38878416AF6C0FA6
+Test: Encrypt
+Comment:    Set 2, vector 109
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000040000
+Ciphertext: 38EDDC08E18B4AD982CEA921D2765A9A
+Test: Encrypt
+Comment:    Set 2, vector 110
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000020000
+Ciphertext: 7D6BEA038E9347C642E18631660A9558
+Test: Encrypt
+Comment:    Set 2, vector 111
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000010000
+Ciphertext: FDA57921A473B5EE3700AD5ADF035019
+Test: Encrypt
+Comment:    Set 2, vector 112
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000008000
+Ciphertext: 699B4812E200337E9C1D2C397F0DFE4E
+Test: Encrypt
+Comment:    Set 2, vector 113
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000004000
+Ciphertext: 7A1EADF68B0807145D6C414852DECFC8
+Test: Encrypt
+Comment:    Set 2, vector 114
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000002000
+Ciphertext: 1645FFAA8AD76689C01DA8C40882781F
+Test: Encrypt
+Comment:    Set 2, vector 115
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000001000
+Ciphertext: BA0C053BE702FA62FC66D8FEB12FC97E
+Test: Encrypt
+Comment:    Set 2, vector 116
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000000800
+Ciphertext: 841FD8AF69CF2C31F7D4D7B6959662B5
+Test: Encrypt
+Comment:    Set 2, vector 117
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000000400
+Ciphertext: F675D59BDB33231861268F539829DA0B
+Test: Encrypt
+Comment:    Set 2, vector 118
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000000200
+Ciphertext: A4967F45ABB4E8C7DC5E3806680F35E0
+Test: Encrypt
+Comment:    Set 2, vector 119
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000000100
+Ciphertext: 4D7E08081CC82F92ABA7C58C99F8343F
+Test: Encrypt
+Comment:    Set 2, vector 120
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000000080
+Ciphertext: 9AEFDB287C119B82353612B60ECCBFD8
+Test: Encrypt
+Comment:    Set 2, vector 121
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000000040
+Ciphertext: 979BB6A1553A17592A86E78DF144A699
+Test: Encrypt
+Comment:    Set 2, vector 122
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000000020
+Ciphertext: A6FA8CAB06FD2E5BF3A858983C01757A
+Test: Encrypt
+Comment:    Set 2, vector 123
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000000010
+Ciphertext: BE8511254C31E25420B91D6FEF1710ED
+Test: Encrypt
+Comment:    Set 2, vector 124
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000000008
+Ciphertext: F589A908D18A21894971C0433581E1A5
+Test: Encrypt
+Comment:    Set 2, vector 125
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000000004
+Ciphertext: 4237585130E7C9F715235EB1D8C94DE7
+Test: Encrypt
+Comment:    Set 2, vector 126
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000000002
+Ciphertext: DEFE3E0B5C54C94B4F2A0F5A46F6210D
+Test: Encrypt
+Comment:    Set 2, vector 127
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000000001
+Ciphertext: F5574ACC3148DFCB9015200631024DF9
+Test: Encrypt
+Comment:    Set 3, vector 0
+Key:        00000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 3D028025B156327C17F762C1F2CBCA71
+Test: Encrypt
+Comment:    Set 3, vector 1
+Key:        01010101010101010101010101010101
+Plaintext:  01010101010101010101010101010101
+Ciphertext: 637084CB1120D6F25DB618893040AA27
+Test: Encrypt
+Comment:    Set 3, vector 2
+Key:        02020202020202020202020202020202
+Plaintext:  02020202020202020202020202020202
+Ciphertext: 612834AAC9EF906BAEAA076E1C75179D
+Test: Encrypt
+Comment:    Set 3, vector 3
+Key:        03030303030303030303030303030303
+Plaintext:  03030303030303030303030303030303
+Ciphertext: AECEE4C59E91366360923654C17140A9
+Test: Encrypt
+Comment:    Set 3, vector 4
+Key:        04040404040404040404040404040404
+Plaintext:  04040404040404040404040404040404
+Ciphertext: B24FAF8A579E4EFE986571FB2F68B5B4
+Test: Encrypt
+Comment:    Set 3, vector 5
+Key:        05050505050505050505050505050505
+Plaintext:  05050505050505050505050505050505
+Ciphertext: C102E40B5E584CF6AA16108D93DA26E3
+Test: Encrypt
+Comment:    Set 3, vector 6
+Key:        06060606060606060606060606060606
+Plaintext:  06060606060606060606060606060606
+Ciphertext: 962F98098E6CEA968FA568C5A32ADA50
+Test: Encrypt
+Comment:    Set 3, vector 7
+Key:        07070707070707070707070707070707
+Plaintext:  07070707070707070707070707070707
+Ciphertext: 27E9AB0117A37D228B77B29B38B3836F
+Test: Encrypt
+Comment:    Set 3, vector 8
+Key:        08080808080808080808080808080808
+Plaintext:  08080808080808080808080808080808
+Ciphertext: 3E5CAFBB70545AABB1109293A1C44C14
+Test: Encrypt
+Comment:    Set 3, vector 9
+Key:        09090909090909090909090909090909
+Plaintext:  09090909090909090909090909090909
+Ciphertext: E4AC7417ECB8B2871B0EF12CECD20F46
+Test: Encrypt
+Comment:    Set 3, vector 10
+Key:        0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A
+Plaintext:  0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A
+Ciphertext: B29D18DD34C1CC00257838F1B8BD43DB
+Test: Encrypt
+Comment:    Set 3, vector 11
+Key:        0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B
+Plaintext:  0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B
+Ciphertext: FC1094A0A2850499D874B6DDC1EBA0B7
+Test: Encrypt
+Comment:    Set 3, vector 12
+Key:        0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
+Plaintext:  0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
+Ciphertext: AD062A5D53BB0478F17DA5528839F9FF
+Test: Encrypt
+Comment:    Set 3, vector 13
+Key:        0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D
+Plaintext:  0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D
+Ciphertext: 2C9DFEC27363BD0E651CC91FC05FDADF
+Test: Encrypt
+Comment:    Set 3, vector 14
+Key:        0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E
+Plaintext:  0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E
+Ciphertext: 487C72BD251D4566AE6119A70A95B79F
+Test: Encrypt
+Comment:    Set 3, vector 15
+Key:        0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
+Plaintext:  0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
+Ciphertext: 18CE9F8E752F787051CB8E407EB16C12
+Test: Encrypt
+Comment:    Set 3, vector 16
+Key:        10101010101010101010101010101010
+Plaintext:  10101010101010101010101010101010
+Ciphertext: E1FA5FD3F40B766BBE3DF469AF41B420
+Test: Encrypt
+Comment:    Set 3, vector 17
+Key:        11111111111111111111111111111111
+Plaintext:  11111111111111111111111111111111
+Ciphertext: 09628EDC6CD69F4F85483DC37633F732
+Test: Encrypt
+Comment:    Set 3, vector 18
+Key:        12121212121212121212121212121212
+Plaintext:  12121212121212121212121212121212
+Ciphertext: 2E6C94A96F6744C4E8D4146B4ECCD815
+Test: Encrypt
+Comment:    Set 3, vector 19
+Key:        13131313131313131313131313131313
+Plaintext:  13131313131313131313131313131313
+Ciphertext: 800996B5B363ACAB3FB8982F9BBE767F
+Test: Encrypt
+Comment:    Set 3, vector 20
+Key:        14141414141414141414141414141414
+Plaintext:  14141414141414141414141414141414
+Ciphertext: C254C27642167B8FF363EAAD41A165A8
+Test: Encrypt
+Comment:    Set 3, vector 21
+Key:        15151515151515151515151515151515
+Plaintext:  15151515151515151515151515151515
+Ciphertext: 0B43A548CFFE916BAD7AB58B5F51B1E2
+Test: Encrypt
+Comment:    Set 3, vector 22
+Key:        16161616161616161616161616161616
+Plaintext:  16161616161616161616161616161616
+Ciphertext: 6C753853277756B8E0578FDC371A8738
+Test: Encrypt
+Comment:    Set 3, vector 23
+Key:        17171717171717171717171717171717
+Plaintext:  17171717171717171717171717171717
+Ciphertext: A278A500B02D8B2C7E829F1816872B1A
+Test: Encrypt
+Comment:    Set 3, vector 24
+Key:        18181818181818181818181818181818
+Plaintext:  18181818181818181818181818181818
+Ciphertext: 67DD5353E13CDD51FC52716BC6BAB258
+Test: Encrypt
+Comment:    Set 3, vector 25
+Key:        19191919191919191919191919191919
+Plaintext:  19191919191919191919191919191919
+Ciphertext: 1B2DF65083662590F49719D7721D7C61
+Test: Encrypt
+Comment:    Set 3, vector 26
+Key:        1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
+Plaintext:  1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
+Ciphertext: B12E384030DE7B77866E758FB251CCFF
+Test: Encrypt
+Comment:    Set 3, vector 27
+Key:        1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
+Plaintext:  1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
+Ciphertext: C37B3145C36FE5B95AC1392BEB81C9D8
+Test: Encrypt
+Comment:    Set 3, vector 28
+Key:        1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C
+Plaintext:  1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C
+Ciphertext: 5C25502EF79A5792DEE9359EDF7BA8BC
+Test: Encrypt
+Comment:    Set 3, vector 29
+Key:        1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D
+Plaintext:  1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D
+Ciphertext: F0D899AEF42F226605E6A61A650F00A1
+Test: Encrypt
+Comment:    Set 3, vector 30
+Key:        1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E
+Plaintext:  1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E
+Ciphertext: 12096937A3474FE4D87C77581C09380B
+Test: Encrypt
+Comment:    Set 3, vector 31
+Key:        1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F
+Plaintext:  1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F
+Ciphertext: CFC3A30819A45111983ABBF16CC61E9A
+Test: Encrypt
+Comment:    Set 3, vector 32
+Key:        20202020202020202020202020202020
+Plaintext:  20202020202020202020202020202020
+Ciphertext: 7E724027BB2F591C63254D936FCC4B43
+Test: Encrypt
+Comment:    Set 3, vector 33
+Key:        21212121212121212121212121212121
+Plaintext:  21212121212121212121212121212121
+Ciphertext: FC9893DACCE806419957685270D5BF13
+Test: Encrypt
+Comment:    Set 3, vector 34
+Key:        22222222222222222222222222222222
+Plaintext:  22222222222222222222222222222222
+Ciphertext: F6C372A2AE2C03D7A9E0597DBEDFE961
+Test: Encrypt
+Comment:    Set 3, vector 35
+Key:        23232323232323232323232323232323
+Plaintext:  23232323232323232323232323232323
+Ciphertext: 4EE3CD585BD7A498DE93DDE42FDCBE73
+Test: Encrypt
+Comment:    Set 3, vector 36
+Key:        24242424242424242424242424242424
+Plaintext:  24242424242424242424242424242424
+Ciphertext: 71D0FFA714D70B5A3CDCE26BC91D93EE
+Test: Encrypt
+Comment:    Set 3, vector 37
+Key:        25252525252525252525252525252525
+Plaintext:  25252525252525252525252525252525
+Ciphertext: 918EB6A7FA54EE795DE68EB5C0011BFD
+Test: Encrypt
+Comment:    Set 3, vector 38
+Key:        26262626262626262626262626262626
+Plaintext:  26262626262626262626262626262626
+Ciphertext: 3A3DBFD37FB057816485BA948034E25E
+Test: Encrypt
+Comment:    Set 3, vector 39
+Key:        27272727272727272727272727272727
+Plaintext:  27272727272727272727272727272727
+Ciphertext: 1FAD9F63890CF5475F3557B83924427C
+Test: Encrypt
+Comment:    Set 3, vector 40
+Key:        28282828282828282828282828282828
+Plaintext:  28282828282828282828282828282828
+Ciphertext: 63F70DD87B9D63FC79628DECC6F34605
+Test: Encrypt
+Comment:    Set 3, vector 41
+Key:        29292929292929292929292929292929
+Plaintext:  29292929292929292929292929292929
+Ciphertext: D8FE7DF75B51024B69BDAB4844233CBB
+Test: Encrypt
+Comment:    Set 3, vector 42
+Key:        2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A
+Plaintext:  2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A
+Ciphertext: D927B8DB454BEECFEE2F89ACD2D26F1A
+Test: Encrypt
+Comment:    Set 3, vector 43
+Key:        2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B
+Plaintext:  2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B
+Ciphertext: 958B7CFABED67123D21541083FA90EB8
+Test: Encrypt
+Comment:    Set 3, vector 44
+Key:        2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C
+Plaintext:  2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C
+Ciphertext: 2F220AA3BB400736F3D0295E3C6D9052
+Test: Encrypt
+Comment:    Set 3, vector 45
+Key:        2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D
+Plaintext:  2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D
+Ciphertext: A14F57CE4D9EA4C5E282108DF8FDE00E
+Test: Encrypt
+Comment:    Set 3, vector 46
+Key:        2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
+Plaintext:  2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
+Ciphertext: 23E437F93E0BE22B4C54BC187D70BCC1
+Test: Encrypt
+Comment:    Set 3, vector 47
+Key:        2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F
+Plaintext:  2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F
+Ciphertext: 615B6706E39E4A55EA8BFA4EFB8EBAEA
+Test: Encrypt
+Comment:    Set 3, vector 48
+Key:        30303030303030303030303030303030
+Plaintext:  30303030303030303030303030303030
+Ciphertext: 5354CC9F7CAA08298C9A8AD471B39235
+Test: Encrypt
+Comment:    Set 3, vector 49
+Key:        31313131313131313131313131313131
+Plaintext:  31313131313131313131313131313131
+Ciphertext: DA2512B115E748580B7D198BFF01A537
+Test: Encrypt
+Comment:    Set 3, vector 50
+Key:        32323232323232323232323232323232
+Plaintext:  32323232323232323232323232323232
+Ciphertext: AEF890FCDEC04BFB0C4724558688810B
+Test: Encrypt
+Comment:    Set 3, vector 51
+Key:        33333333333333333333333333333333
+Plaintext:  33333333333333333333333333333333
+Ciphertext: AEC153899584F8B9FC9836B86A40BA4A
+Test: Encrypt
+Comment:    Set 3, vector 52
+Key:        34343434343434343434343434343434
+Plaintext:  34343434343434343434343434343434
+Ciphertext: E86D0DBEBD69030C0654656E0D348A8E
+Test: Encrypt
+Comment:    Set 3, vector 53
+Key:        35353535353535353535353535353535
+Plaintext:  35353535353535353535353535353535
+Ciphertext: 3EFFEE758220F7138D31564D5CDA82EF
+Test: Encrypt
+Comment:    Set 3, vector 54
+Key:        36363636363636363636363636363636
+Plaintext:  36363636363636363636363636363636
+Ciphertext: A0A57A825008700B246CEE9821803321
+Test: Encrypt
+Comment:    Set 3, vector 55
+Key:        37373737373737373737373737373737
+Plaintext:  37373737373737373737373737373737
+Ciphertext: 318692397CD421D958D142299AE24E5E
+Test: Encrypt
+Comment:    Set 3, vector 56
+Key:        38383838383838383838383838383838
+Plaintext:  38383838383838383838383838383838
+Ciphertext: 1B949505033DB5554BBBBBB9488970DE
+Test: Encrypt
+Comment:    Set 3, vector 57
+Key:        39393939393939393939393939393939
+Plaintext:  39393939393939393939393939393939
+Ciphertext: 20600DB3471001F93837F8EB50F7EB2B
+Test: Encrypt
+Comment:    Set 3, vector 58
+Key:        3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A
+Plaintext:  3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A
+Ciphertext: 004C126190B7D20ADCA7331EA26AC487
+Test: Encrypt
+Comment:    Set 3, vector 59
+Key:        3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B
+Plaintext:  3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B
+Ciphertext: 7F535656FE3113A61D21BE216365D9FD
+Test: Encrypt
+Comment:    Set 3, vector 60
+Key:        3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C
+Plaintext:  3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C
+Ciphertext: A7DA48E8AD71B1DC583A895A8CC85FF2
+Test: Encrypt
+Comment:    Set 3, vector 61
+Key:        3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D
+Plaintext:  3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D
+Ciphertext: 02E8CB85E9DDEDFAB4D9DB7106C6C38F
+Test: Encrypt
+Comment:    Set 3, vector 62
+Key:        3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E
+Plaintext:  3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E
+Ciphertext: 44ACE8B20DF2DBA70C0287362D51ED5C
+Test: Encrypt
+Comment:    Set 3, vector 63
+Key:        3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F
+Plaintext:  3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F
+Ciphertext: 8ABDD80D977FAF208FDFC69AA70E9810
+Test: Encrypt
+Comment:    Set 3, vector 64
+Key:        40404040404040404040404040404040
+Plaintext:  40404040404040404040404040404040
+Ciphertext: 538ADCBE104A3483B3C2A3D8CE72FBD6
+Test: Encrypt
+Comment:    Set 3, vector 65
+Key:        41414141414141414141414141414141
+Plaintext:  41414141414141414141414141414141
+Ciphertext: 7F757894F1A04645BCB523E925A937C7
+Test: Encrypt
+Comment:    Set 3, vector 66
+Key:        42424242424242424242424242424242
+Plaintext:  42424242424242424242424242424242
+Ciphertext: FA4304C7D16E164E000461B2550207B1
+Test: Encrypt
+Comment:    Set 3, vector 67
+Key:        43434343434343434343434343434343
+Plaintext:  43434343434343434343434343434343
+Ciphertext: 5B8E43BF0CACBCB80933B4061F9702B2
+Test: Encrypt
+Comment:    Set 3, vector 68
+Key:        44444444444444444444444444444444
+Plaintext:  44444444444444444444444444444444
+Ciphertext: 4DB11630D8CD9390797EE30EE9A25CB3
+Test: Encrypt
+Comment:    Set 3, vector 69
+Key:        45454545454545454545454545454545
+Plaintext:  45454545454545454545454545454545
+Ciphertext: 61150375D22621E9DD7AB45227E4ADC1
+Test: Encrypt
+Comment:    Set 3, vector 70
+Key:        46464646464646464646464646464646
+Plaintext:  46464646464646464646464646464646
+Ciphertext: 825AA0A2275496EA00BE2C75982EC24E
+Test: Encrypt
+Comment:    Set 3, vector 71
+Key:        47474747474747474747474747474747
+Plaintext:  47474747474747474747474747474747
+Ciphertext: 1EA3F70E26F079CE37801787B5F3655C
+Test: Encrypt
+Comment:    Set 3, vector 72
+Key:        48484848484848484848484848484848
+Plaintext:  48484848484848484848484848484848
+Ciphertext: F46E712267A6CA8DA8AC044A4E3ADC69
+Test: Encrypt
+Comment:    Set 3, vector 73
+Key:        49494949494949494949494949494949
+Plaintext:  49494949494949494949494949494949
+Ciphertext: 00FCF96BD11DB90E045B948C2658FC07
+Test: Encrypt
+Comment:    Set 3, vector 74
+Key:        4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A
+Plaintext:  4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A
+Ciphertext: 08E264CCDA07442DD6FB5BC8AF05A9C1
+Test: Encrypt
+Comment:    Set 3, vector 75
+Key:        4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B
+Plaintext:  4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B
+Ciphertext: 35C189E86440D125B0CAF6C62CA0E4F9
+Test: Encrypt
+Comment:    Set 3, vector 76
+Key:        4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C
+Plaintext:  4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C
+Ciphertext: 7FC2F545C0DE78664218F4F635CC8D10
+Test: Encrypt
+Comment:    Set 3, vector 77
+Key:        4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D
+Plaintext:  4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D
+Ciphertext: 9DC067581AD80555C6E46C6594A626F5
+Test: Encrypt
+Comment:    Set 3, vector 78
+Key:        4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
+Plaintext:  4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
+Ciphertext: D33A3E8035B42D76A483BE06B62054A6
+Test: Encrypt
+Comment:    Set 3, vector 79
+Key:        4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
+Plaintext:  4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
+Ciphertext: 7CA26FD5D6DB7EAA785FCCA1E2854910
+Test: Encrypt
+Comment:    Set 3, vector 80
+Key:        50505050505050505050505050505050
+Plaintext:  50505050505050505050505050505050
+Ciphertext: E9A672BD5401539C1C8F2AB21A83B26B
+Test: Encrypt
+Comment:    Set 3, vector 81
+Key:        51515151515151515151515151515151
+Plaintext:  51515151515151515151515151515151
+Ciphertext: 2948CB8989780E74BA525CC2FDDC42CF
+Test: Encrypt
+Comment:    Set 3, vector 82
+Key:        52525252525252525252525252525252
+Plaintext:  52525252525252525252525252525252
+Ciphertext: A3A8308145C318D42F4E8310DF6D97E0
+Test: Encrypt
+Comment:    Set 3, vector 83
+Key:        53535353535353535353535353535353
+Plaintext:  53535353535353535353535353535353
+Ciphertext: 1757125D19851062D7782A2200A813E9
+Test: Encrypt
+Comment:    Set 3, vector 84
+Key:        54545454545454545454545454545454
+Plaintext:  54545454545454545454545454545454
+Ciphertext: 9BC4FC94FF7A09F9D4C23A3BDEAF498E
+Test: Encrypt
+Comment:    Set 3, vector 85
+Key:        55555555555555555555555555555555
+Plaintext:  55555555555555555555555555555555
+Ciphertext: B36C8A8DC251A4D08B38160011498AB2
+Test: Encrypt
+Comment:    Set 3, vector 86
+Key:        56565656565656565656565656565656
+Plaintext:  56565656565656565656565656565656
+Ciphertext: 6C6058C8D5F2A32E31988239C4A657F1
+Test: Encrypt
+Comment:    Set 3, vector 87
+Key:        57575757575757575757575757575757
+Plaintext:  57575757575757575757575757575757
+Ciphertext: B8B914785FD465FB0F83FE4A676C3A6B
+Test: Encrypt
+Comment:    Set 3, vector 88
+Key:        58585858585858585858585858585858
+Plaintext:  58585858585858585858585858585858
+Ciphertext: 00BBEEC24412F8A2C4291B5F1F32E662
+Test: Encrypt
+Comment:    Set 3, vector 89
+Key:        59595959595959595959595959595959
+Plaintext:  59595959595959595959595959595959
+Ciphertext: AF8353C84504526068884176D45CC8A0
+Test: Encrypt
+Comment:    Set 3, vector 90
+Key:        5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
+Plaintext:  5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
+Ciphertext: F84DF1519736174F6F23B4CC3FC939F1
+Test: Encrypt
+Comment:    Set 3, vector 91
+Key:        5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B
+Plaintext:  5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B
+Ciphertext: 320326E1024C9156B0E4C483065F0D94
+Test: Encrypt
+Comment:    Set 3, vector 92
+Key:        5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C
+Plaintext:  5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C
+Ciphertext: 80AFE13AEC30894E8B772E73F367A148
+Test: Encrypt
+Comment:    Set 3, vector 93
+Key:        5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
+Plaintext:  5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
+Ciphertext: 5F0D8BE9294D27DB7E6CD4D4F8A08D48
+Test: Encrypt
+Comment:    Set 3, vector 94
+Key:        5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
+Plaintext:  5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
+Ciphertext: B6D8E7EF37171F6271AC274411E26867
+Test: Encrypt
+Comment:    Set 3, vector 95
+Key:        5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F
+Plaintext:  5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F
+Ciphertext: 23DEBDDF60703AE0F8E9337C73C6FDC3
+Test: Encrypt
+Comment:    Set 3, vector 96
+Key:        60606060606060606060606060606060
+Plaintext:  60606060606060606060606060606060
+Ciphertext: D03B4696B0DCC56C37F7038747BEF222
+Test: Encrypt
+Comment:    Set 3, vector 97
+Key:        61616161616161616161616161616161
+Plaintext:  61616161616161616161616161616161
+Ciphertext: 201E6A1FA7898892DA1D3148766F7939
+Test: Encrypt
+Comment:    Set 3, vector 98
+Key:        62626262626262626262626262626262
+Plaintext:  62626262626262626262626262626262
+Ciphertext: D9643DBC3C373D300DB5AC3E699F7DDE
+Test: Encrypt
+Comment:    Set 3, vector 99
+Key:        63636363636363636363636363636363
+Plaintext:  63636363636363636363636363636363
+Ciphertext: 1B04DAF08A764C09DFFE140403F4EC5D
+Test: Encrypt
+Comment:    Set 3, vector 100
+Key:        64646464646464646464646464646464
+Plaintext:  64646464646464646464646464646464
+Ciphertext: 0510AA045E35862885AEEB1752328032
+Test: Encrypt
+Comment:    Set 3, vector 101
+Key:        65656565656565656565656565656565
+Plaintext:  65656565656565656565656565656565
+Ciphertext: 894E5FE4164A0B9CC2C50D95F18329E6
+Test: Encrypt
+Comment:    Set 3, vector 102
+Key:        66666666666666666666666666666666
+Plaintext:  66666666666666666666666666666666
+Ciphertext: 99D16D251893E474CD8A18C10798D418
+Test: Encrypt
+Comment:    Set 3, vector 103
+Key:        67676767676767676767676767676767
+Plaintext:  67676767676767676767676767676767
+Ciphertext: B41A0DEEA15FCB419E00318752503FA8
+Test: Encrypt
+Comment:    Set 3, vector 104
+Key:        68686868686868686868686868686868
+Plaintext:  68686868686868686868686868686868
+Ciphertext: 8BDDFBD29844F3EED1E02FB76628E877
+Test: Encrypt
+Comment:    Set 3, vector 105
+Key:        69696969696969696969696969696969
+Plaintext:  69696969696969696969696969696969
+Ciphertext: E71C41B95412E2ED6BC6B5693BC445E5
+Test: Encrypt
+Comment:    Set 3, vector 106
+Key:        6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A
+Plaintext:  6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A
+Ciphertext: 566E5667E9BDDCE13F3B6DE0DEF06305
+Test: Encrypt
+Comment:    Set 3, vector 107
+Key:        6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B
+Plaintext:  6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B
+Ciphertext: 49372FDCE8DC81E45A9E6FBFB8952F76
+Test: Encrypt
+Comment:    Set 3, vector 108
+Key:        6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C
+Plaintext:  6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C
+Ciphertext: 034EAB9E0E881ABF0C4F9B7933E7F1B2
+Test: Encrypt
+Comment:    Set 3, vector 109
+Key:        6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
+Plaintext:  6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
+Ciphertext: 56FFE171E45816C5808380530F3F9F23
+Test: Encrypt
+Comment:    Set 3, vector 110
+Key:        6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E
+Plaintext:  6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E
+Ciphertext: 5FE59EE65A0321F3B09A1748CF18CC02
+Test: Encrypt
+Comment:    Set 3, vector 111
+Key:        6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F
+Plaintext:  6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F
+Ciphertext: 8C13790203280B652614D224178C4289
+Test: Encrypt
+Comment:    Set 3, vector 112
+Key:        70707070707070707070707070707070
+Plaintext:  70707070707070707070707070707070
+Ciphertext: 52D7C5111B52E5356C8EF2B629BA6166
+Test: Encrypt
+Comment:    Set 3, vector 113
+Key:        71717171717171717171717171717171
+Plaintext:  71717171717171717171717171717171
+Ciphertext: 4FB997235548FB5C202A1514FF408068
+Test: Encrypt
+Comment:    Set 3, vector 114
+Key:        72727272727272727272727272727272
+Plaintext:  72727272727272727272727272727272
+Ciphertext: 8DDE9345FEDAB8D8D2DE5E2577756F16
+Test: Encrypt
+Comment:    Set 3, vector 115
+Key:        73737373737373737373737373737373
+Plaintext:  73737373737373737373737373737373
+Ciphertext: C1B39136F69B2044C30E38023EB6E7D2
+Test: Encrypt
+Comment:    Set 3, vector 116
+Key:        74747474747474747474747474747474
+Plaintext:  74747474747474747474747474747474
+Ciphertext: 6032D1B3844BEA4ACE81142A013C42BC
+Test: Encrypt
+Comment:    Set 3, vector 117
+Key:        75757575757575757575757575757575
+Plaintext:  75757575757575757575757575757575
+Ciphertext: 985A9D8DDE048107368028AA24F5D70B
+Test: Encrypt
+Comment:    Set 3, vector 118
+Key:        76767676767676767676767676767676
+Plaintext:  76767676767676767676767676767676
+Ciphertext: 5343E03D587A538475BB92F23E96FDF8
+Test: Encrypt
+Comment:    Set 3, vector 119
+Key:        77777777777777777777777777777777
+Plaintext:  77777777777777777777777777777777
+Ciphertext: 98253AF78B8DA7E5AE98E7B4E9FA74F9
+Test: Encrypt
+Comment:    Set 3, vector 120
+Key:        78787878787878787878787878787878
+Plaintext:  78787878787878787878787878787878
+Ciphertext: 8404DDA01CC702790B8B31408205E128
+Test: Encrypt
+Comment:    Set 3, vector 121
+Key:        79797979797979797979797979797979
+Plaintext:  79797979797979797979797979797979
+Ciphertext: C782C96911F30723AB90E3A0BA59B808
+Test: Encrypt
+Comment:    Set 3, vector 122
+Key:        7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A
+Plaintext:  7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A
+Ciphertext: 471270191B1BB659804CEAE818793167
+Test: Encrypt
+Comment:    Set 3, vector 123
+Key:        7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B
+Plaintext:  7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B
+Ciphertext: 2B27BBF7E47DA05F72EED52D038A3241
+Test: Encrypt
+Comment:    Set 3, vector 124
+Key:        7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C
+Plaintext:  7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C
+Ciphertext: 0BD3B3F3F6F404B6B7C6D436605640B7
+Test: Encrypt
+Comment:    Set 3, vector 125
+Key:        7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D
+Plaintext:  7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D
+Ciphertext: 74578268B9D9AD5D9819E51CA288F81D
+Test: Encrypt
+Comment:    Set 3, vector 126
+Key:        7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E
+Plaintext:  7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E
+Ciphertext: A77A67CC08111CE41B817176859675B5
+Test: Encrypt
+Comment:    Set 3, vector 127
+Key:        7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F
+Plaintext:  7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F
+Ciphertext: 9BE99EFDAF9CCCB4D879173EA2197FEF
+Test: Encrypt
+Comment:    Set 3, vector 128
+Key:        80808080808080808080808080808080
+Plaintext:  80808080808080808080808080808080
+Ciphertext: AA7627F70F6B54C217C3EF232D362459
+Test: Encrypt
+Comment:    Set 3, vector 129
+Key:        81818181818181818181818181818181
+Plaintext:  81818181818181818181818181818181
+Ciphertext: EE41F8DC661C2A8B95667CB1F908367A
+Test: Encrypt
+Comment:    Set 3, vector 130
+Key:        82828282828282828282828282828282
+Plaintext:  82828282828282828282828282828282
+Ciphertext: AF2D71AC4D7E482E8134A65F2841101A
+Test: Encrypt
+Comment:    Set 3, vector 131
+Key:        83838383838383838383838383838383
+Plaintext:  83838383838383838383838383838383
+Ciphertext: 98CFCAA37D3B1825C55FA94825BBC91A
+Test: Encrypt
+Comment:    Set 3, vector 132
+Key:        84848484848484848484848484848484
+Plaintext:  84848484848484848484848484848484
+Ciphertext: 2ACFCBC772417EBD445F8B272857578C
+Test: Encrypt
+Comment:    Set 3, vector 133
+Key:        85858585858585858585858585858585
+Plaintext:  85858585858585858585858585858585
+Ciphertext: 424DE49A69767A539E26581A19CD4F17
+Test: Encrypt
+Comment:    Set 3, vector 134
+Key:        86868686868686868686868686868686
+Plaintext:  86868686868686868686868686868686
+Ciphertext: F25ED7239B234E58AE40F7612E3CE6BA
+Test: Encrypt
+Comment:    Set 3, vector 135
+Key:        87878787878787878787878787878787
+Plaintext:  87878787878787878787878787878787
+Ciphertext: 4BF44DBA1E6E80DE3554F7EEF0621EBF
+Test: Encrypt
+Comment:    Set 3, vector 136
+Key:        88888888888888888888888888888888
+Plaintext:  88888888888888888888888888888888
+Ciphertext: 6B87409975816BC8480985D079B08594
+Test: Encrypt
+Comment:    Set 3, vector 137
+Key:        89898989898989898989898989898989
+Plaintext:  89898989898989898989898989898989
+Ciphertext: D026A866DD55C02EE77DF1E93405A751
+Test: Encrypt
+Comment:    Set 3, vector 138
+Key:        8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+Plaintext:  8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+Ciphertext: A45F7212DD04352DEF319D58922C44CE
+Test: Encrypt
+Comment:    Set 3, vector 139
+Key:        8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B
+Plaintext:  8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B
+Ciphertext: 4600AD219EE97A7BFF629D8F6E337C79
+Test: Encrypt
+Comment:    Set 3, vector 140
+Key:        8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C
+Plaintext:  8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C
+Ciphertext: A26CEFEC7612A89E8543503A678D921F
+Test: Encrypt
+Comment:    Set 3, vector 141
+Key:        8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D
+Plaintext:  8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D
+Ciphertext: 5CA126B9342723816C82AC1D41F97EFB
+Test: Encrypt
+Comment:    Set 3, vector 142
+Key:        8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E
+Plaintext:  8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E
+Ciphertext: 76DC82C091F5691C35E8735EB901B788
+Test: Encrypt
+Comment:    Set 3, vector 143
+Key:        8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
+Plaintext:  8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
+Ciphertext: 2F8AA5E8D7D90B3E7FCC20128F462AAD
+Test: Encrypt
+Comment:    Set 3, vector 144
+Key:        90909090909090909090909090909090
+Plaintext:  90909090909090909090909090909090
+Ciphertext: 67B8B189FCD886FD2160005C93D9F3B2
+Test: Encrypt
+Comment:    Set 3, vector 145
+Key:        91919191919191919191919191919191
+Plaintext:  91919191919191919191919191919191
+Ciphertext: 8DFBD0B7D8B614E15B56571A6A5B443D
+Test: Encrypt
+Comment:    Set 3, vector 146
+Key:        92929292929292929292929292929292
+Plaintext:  92929292929292929292929292929292
+Ciphertext: F10DA9ABD28359461A3BB271C2037D1A
+Test: Encrypt
+Comment:    Set 3, vector 147
+Key:        93939393939393939393939393939393
+Plaintext:  93939393939393939393939393939393
+Ciphertext: 5A53C6ADF38E807BC03CC53193133CDE
+Test: Encrypt
+Comment:    Set 3, vector 148
+Key:        94949494949494949494949494949494
+Plaintext:  94949494949494949494949494949494
+Ciphertext: 298AF9909A89241F34DB6BF6ACC6A909
+Test: Encrypt
+Comment:    Set 3, vector 149
+Key:        95959595959595959595959595959595
+Plaintext:  95959595959595959595959595959595
+Ciphertext: DAA5C134BDD34A775DEC219F6DE219BE
+Test: Encrypt
+Comment:    Set 3, vector 150
+Key:        96969696969696969696969696969696
+Plaintext:  96969696969696969696969696969696
+Ciphertext: 2514903F8ABA0F65CA22C8AD82FF2574
+Test: Encrypt
+Comment:    Set 3, vector 151
+Key:        97979797979797979797979797979797
+Plaintext:  97979797979797979797979797979797
+Ciphertext: 11696CB06D2F97B1A2CB380E2887AB7E
+Test: Encrypt
+Comment:    Set 3, vector 152
+Key:        98989898989898989898989898989898
+Plaintext:  98989898989898989898989898989898
+Ciphertext: E70BAE913D953A66AC35DE9CAA6D205D
+Test: Encrypt
+Comment:    Set 3, vector 153
+Key:        99999999999999999999999999999999
+Plaintext:  99999999999999999999999999999999
+Ciphertext: 20BC3C8F4E81EEA320189E6063017706
+Test: Encrypt
+Comment:    Set 3, vector 154
+Key:        9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+Plaintext:  9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+Ciphertext: 53A956A32B4B532F5E9BE8C94278EC57
+Test: Encrypt
+Comment:    Set 3, vector 155
+Key:        9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+Plaintext:  9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+Ciphertext: 2562236E541426B29A4232E592237CAD
+Test: Encrypt
+Comment:    Set 3, vector 156
+Key:        9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
+Plaintext:  9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
+Ciphertext: 0F8A9DEDA85B0A1CF7487C6ED823B869
+Test: Encrypt
+Comment:    Set 3, vector 157
+Key:        9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+Plaintext:  9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+Ciphertext: 8917CF4F1A25A500440CF0665BB517A0
+Test: Encrypt
+Comment:    Set 3, vector 158
+Key:        9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+Plaintext:  9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+Ciphertext: F5C065F3821FA664724BF6AFF1039430
+Test: Encrypt
+Comment:    Set 3, vector 159
+Key:        9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+Plaintext:  9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+Ciphertext: F5D5131F0D2F4859EC38F8999A93E74D
+Test: Encrypt
+Comment:    Set 3, vector 160
+Key:        A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+Plaintext:  A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+Ciphertext: 9A02DF44F2194E94B7E34F1DCC234685
+Test: Encrypt
+Comment:    Set 3, vector 161
+Key:        A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+Plaintext:  A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+Ciphertext: 59491E467432E6147EAFE37BCD93DA01
+Test: Encrypt
+Comment:    Set 3, vector 162
+Key:        A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+Plaintext:  A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+Ciphertext: 4D0B317CE4AE577CF87B225C53DDF352
+Test: Encrypt
+Comment:    Set 3, vector 163
+Key:        A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+Plaintext:  A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+Ciphertext: 73E082DC996995BDDD1F5544326D56D6
+Test: Encrypt
+Comment:    Set 3, vector 164
+Key:        A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+Plaintext:  A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+Ciphertext: 46C5C6E23A72C9DF410EF979F93CF266
+Test: Encrypt
+Comment:    Set 3, vector 165
+Key:        A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+Plaintext:  A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+Ciphertext: 1F55093C234648C5C9C781E8C9FD42C4
+Test: Encrypt
+Comment:    Set 3, vector 166
+Key:        A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
+Plaintext:  A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
+Ciphertext: BFA2702CF3DAE25705D1DE1CCDBDC49E
+Test: Encrypt
+Comment:    Set 3, vector 167
+Key:        A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7
+Plaintext:  A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7
+Ciphertext: 3223365425C1ADE87FF766AB048D9ADB
+Test: Encrypt
+Comment:    Set 3, vector 168
+Key:        A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
+Plaintext:  A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
+Ciphertext: 5449889254C565DF3ADDFB7A86A93DA9
+Test: Encrypt
+Comment:    Set 3, vector 169
+Key:        A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
+Plaintext:  A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
+Ciphertext: 7D21880CCA919B0CE3917A8C598025FA
+Test: Encrypt
+Comment:    Set 3, vector 170
+Key:        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+Plaintext:  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+Ciphertext: 5EE203A6739E822A54D9678B604EFD4F
+Test: Encrypt
+Comment:    Set 3, vector 171
+Key:        ABABABABABABABABABABABABABABABAB
+Plaintext:  ABABABABABABABABABABABABABABABAB
+Ciphertext: 07038EFBEFDE2228F79A6B526306483A
+Test: Encrypt
+Comment:    Set 3, vector 172
+Key:        ACACACACACACACACACACACACACACACAC
+Plaintext:  ACACACACACACACACACACACACACACACAC
+Ciphertext: 78447EBF959FFBD120283CE319FF6005
+Test: Encrypt
+Comment:    Set 3, vector 173
+Key:        ADADADADADADADADADADADADADADADAD
+Plaintext:  ADADADADADADADADADADADADADADADAD
+Ciphertext: 76769D40A286F0FD1C1C6F8895000DE8
+Test: Encrypt
+Comment:    Set 3, vector 174
+Key:        AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE
+Plaintext:  AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE
+Ciphertext: 7E163343CA44FADFAFDE5386CC111437
+Test: Encrypt
+Comment:    Set 3, vector 175
+Key:        AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF
+Plaintext:  AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF
+Ciphertext: 4B1E7FE684222BF783142B5DC396F61D
+Test: Encrypt
+Comment:    Set 3, vector 176
+Key:        B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0
+Plaintext:  B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0
+Ciphertext: 4ECF97472658AC941EC99B255CF95535
+Test: Encrypt
+Comment:    Set 3, vector 177
+Key:        B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1
+Plaintext:  B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1
+Ciphertext: 23EE9DF24C8DC126A04586EFF27DBEAC
+Test: Encrypt
+Comment:    Set 3, vector 178
+Key:        B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2
+Plaintext:  B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2
+Ciphertext: 4B06EE28B7769C4318D509F91D691F39
+Test: Encrypt
+Comment:    Set 3, vector 179
+Key:        B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
+Plaintext:  B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
+Ciphertext: 51994EF8283D1D29711F602A7ACDA3CA
+Test: Encrypt
+Comment:    Set 3, vector 180
+Key:        B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+Plaintext:  B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+Ciphertext: DCBFBE6BE3234BBB61EA68218C89D098
+Test: Encrypt
+Comment:    Set 3, vector 181
+Key:        B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5
+Plaintext:  B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5
+Ciphertext: B84BFA0883546D912BD14807253F8892
+Test: Encrypt
+Comment:    Set 3, vector 182
+Key:        B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6
+Plaintext:  B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6
+Ciphertext: 90C1745C0DB97E70BA362CF2C1D376DF
+Test: Encrypt
+Comment:    Set 3, vector 183
+Key:        B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7
+Plaintext:  B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7
+Ciphertext: 064743C2E8293C1B7619F6E6DEC13B04
+Test: Encrypt
+Comment:    Set 3, vector 184
+Key:        B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
+Plaintext:  B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
+Ciphertext: 38D913C68ABEE287368CBA38D8FE9F0D
+Test: Encrypt
+Comment:    Set 3, vector 185
+Key:        B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9
+Plaintext:  B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9
+Ciphertext: B2279D520B33258B7DB221ECDD3C4EBB
+Test: Encrypt
+Comment:    Set 3, vector 186
+Key:        BABABABABABABABABABABABABABABABA
+Plaintext:  BABABABABABABABABABABABABABABABA
+Ciphertext: 8AD710DDAE51BE6D4BE7ABC5443B7F9B
+Test: Encrypt
+Comment:    Set 3, vector 187
+Key:        BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+Plaintext:  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+Ciphertext: 246BA7624BBF83702764CC1B214A0691
+Test: Encrypt
+Comment:    Set 3, vector 188
+Key:        BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
+Plaintext:  BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
+Ciphertext: 80E0360B03FA048A892CD47BD7FE948A
+Test: Encrypt
+Comment:    Set 3, vector 189
+Key:        BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+Plaintext:  BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+Ciphertext: 09D5D35BB6DBAE0CC9982D6955EAA01C
+Test: Encrypt
+Comment:    Set 3, vector 190
+Key:        BEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
+Plaintext:  BEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
+Ciphertext: EEBDCE2BDE1F25A40184B9C57DD4E49D
+Test: Encrypt
+Comment:    Set 3, vector 191
+Key:        BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF
+Plaintext:  BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF
+Ciphertext: 22706CFCCD2B0BB15ED30E373FA4E945
+Test: Encrypt
+Comment:    Set 3, vector 192
+Key:        C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
+Plaintext:  C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
+Ciphertext: D2A4EEACB5F41D12908DD1E069EC14DC
+Test: Encrypt
+Comment:    Set 3, vector 193
+Key:        C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
+Plaintext:  C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
+Ciphertext: E78F614BC7F53C9298098DFEE8ADFB09
+Test: Encrypt
+Comment:    Set 3, vector 194
+Key:        C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2
+Plaintext:  C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2
+Ciphertext: B53E3865A8B28A36EF3A505102A6329D
+Test: Encrypt
+Comment:    Set 3, vector 195
+Key:        C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3
+Plaintext:  C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3
+Ciphertext: 9B32AA8673DFFC47CF8C9B35DDE08DD3
+Test: Encrypt
+Comment:    Set 3, vector 196
+Key:        C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4
+Plaintext:  C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4
+Ciphertext: CE70E7257E6C8686C7407E22ACB3E94B
+Test: Encrypt
+Comment:    Set 3, vector 197
+Key:        C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5
+Plaintext:  C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5
+Ciphertext: 677DB939CA272D717DB4B03EFB70F988
+Test: Encrypt
+Comment:    Set 3, vector 198
+Key:        C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+Plaintext:  C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+Ciphertext: 6582B069058FA86898A3B12B617C27FD
+Test: Encrypt
+Comment:    Set 3, vector 199
+Key:        C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7
+Plaintext:  C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7
+Ciphertext: 4DFB68486ECF9833FCE74BD663E20768
+Test: Encrypt
+Comment:    Set 3, vector 200
+Key:        C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8
+Plaintext:  C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8
+Ciphertext: 6A3840D2780BABD68A73FAC89C4E8D91
+Test: Encrypt
+Comment:    Set 3, vector 201
+Key:        C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9
+Plaintext:  C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9
+Ciphertext: 44C79926D7EAB9DE5A2B95472A79A7BC
+Test: Encrypt
+Comment:    Set 3, vector 202
+Key:        CACACACACACACACACACACACACACACACA
+Plaintext:  CACACACACACACACACACACACACACACACA
+Ciphertext: 3813E774EE9EFA8FDB2646E607B2A434
+Test: Encrypt
+Comment:    Set 3, vector 203
+Key:        CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB
+Plaintext:  CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB
+Ciphertext: FCA748E6AE5678A047E806F8FF103A65
+Test: Encrypt
+Comment:    Set 3, vector 204
+Key:        CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+Plaintext:  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+Ciphertext: 3E3CC9CBE6952AB968FBBEE0C08BF667
+Test: Encrypt
+Comment:    Set 3, vector 205
+Key:        CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD
+Plaintext:  CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD
+Ciphertext: 4FFF3EDC7BCB70E7846DCC4688F9CB3A
+Test: Encrypt
+Comment:    Set 3, vector 206
+Key:        CECECECECECECECECECECECECECECECE
+Plaintext:  CECECECECECECECECECECECECECECECE
+Ciphertext: 5728481E82E0DC1631EC611F63B9DD3C
+Test: Encrypt
+Comment:    Set 3, vector 207
+Key:        CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+Plaintext:  CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+Ciphertext: 182BB0D3C52E56248FDA1D343844891D
+Test: Encrypt
+Comment:    Set 3, vector 208
+Key:        D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0
+Plaintext:  D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0
+Ciphertext: 6B984FC45D0352F3336E7895ECB6DE0E
+Test: Encrypt
+Comment:    Set 3, vector 209
+Key:        D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1
+Plaintext:  D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1
+Ciphertext: 8DD24A1B23D845E7A6C6D416C7C5B595
+Test: Encrypt
+Comment:    Set 3, vector 210
+Key:        D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2
+Plaintext:  D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2
+Ciphertext: 4F4D69B4563373962007945C3197806C
+Test: Encrypt
+Comment:    Set 3, vector 211
+Key:        D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3
+Plaintext:  D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3
+Ciphertext: DD333390213EB632A51EAE0334A5AEA2
+Test: Encrypt
+Comment:    Set 3, vector 212
+Key:        D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4
+Plaintext:  D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4
+Ciphertext: D352ACE83BF6A3BC39EA10D751853009
+Test: Encrypt
+Comment:    Set 3, vector 213
+Key:        D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5
+Plaintext:  D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5
+Ciphertext: F2E118276BFCCF6DCDD47E1EAB919BDC
+Test: Encrypt
+Comment:    Set 3, vector 214
+Key:        D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6
+Plaintext:  D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6
+Ciphertext: 688E877D8B69050F2736D0768571E9A0
+Test: Encrypt
+Comment:    Set 3, vector 215
+Key:        D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
+Plaintext:  D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
+Ciphertext: DE6F098E56985B7DCFEC52C897F2E735
+Test: Encrypt
+Comment:    Set 3, vector 216
+Key:        D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8
+Plaintext:  D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8
+Ciphertext: 398FA1FE47E3971DA3F9DFD479C9B1AA
+Test: Encrypt
+Comment:    Set 3, vector 217
+Key:        D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9
+Plaintext:  D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9
+Ciphertext: 6F17B7D7C899B48DAEAD1E90F22AB180
+Test: Encrypt
+Comment:    Set 3, vector 218
+Key:        DADADADADADADADADADADADADADADADA
+Plaintext:  DADADADADADADADADADADADADADADADA
+Ciphertext: D39EBBA5B742F15FCB75D6E656BBF2DA
+Test: Encrypt
+Comment:    Set 3, vector 219
+Key:        DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB
+Plaintext:  DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB
+Ciphertext: 1C6D82247D0BAB18B52CA5293A2C1050
+Test: Encrypt
+Comment:    Set 3, vector 220
+Key:        DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+Plaintext:  DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+Ciphertext: B54F248DF57060E40A6A2FA4688C7082
+Test: Encrypt
+Comment:    Set 3, vector 221
+Key:        DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+Plaintext:  DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+Ciphertext: 1BB5EB8732CBAB2E3FC334FAAB8BBFBC
+Test: Encrypt
+Comment:    Set 3, vector 222
+Key:        DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
+Plaintext:  DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
+Ciphertext: 3734B4B21B50C4740B90FD863EF8627B
+Test: Encrypt
+Comment:    Set 3, vector 223
+Key:        DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF
+Plaintext:  DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF
+Ciphertext: E22E22E60F981D64B7CB341F12F2B362
+Test: Encrypt
+Comment:    Set 3, vector 224
+Key:        E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0
+Plaintext:  E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0
+Ciphertext: A2A40EB448D87E39B20460E8CB07515A
+Test: Encrypt
+Comment:    Set 3, vector 225
+Key:        E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
+Plaintext:  E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
+Ciphertext: 88E6AC929D4D7858015B35D509882C5C
+Test: Encrypt
+Comment:    Set 3, vector 226
+Key:        E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2
+Plaintext:  E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2
+Ciphertext: FFE4B3B5D0E8229F5428FA2945DBD5EE
+Test: Encrypt
+Comment:    Set 3, vector 227
+Key:        E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3
+Plaintext:  E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3
+Ciphertext: FCD5F897398A7796A0DAA1809CA7D870
+Test: Encrypt
+Comment:    Set 3, vector 228
+Key:        E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4
+Plaintext:  E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4
+Ciphertext: 7F3556B18EC8F04D953DCD27549AF1FC
+Test: Encrypt
+Comment:    Set 3, vector 229
+Key:        E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+Plaintext:  E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+Ciphertext: 4433546A8E63AE841CD78B074ED0B91F
+Test: Encrypt
+Comment:    Set 3, vector 230
+Key:        E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6
+Plaintext:  E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6
+Ciphertext: 2E04671C718BD6C3D115DB2D827A6669
+Test: Encrypt
+Comment:    Set 3, vector 231
+Key:        E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7
+Plaintext:  E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7
+Ciphertext: AAE7DA4B977F5EED28F9AF01F8FD47B4
+Test: Encrypt
+Comment:    Set 3, vector 232
+Key:        E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8
+Plaintext:  E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8
+Ciphertext: 84AD8F52D51BD3D8E4D8318AF6DB9786
+Test: Encrypt
+Comment:    Set 3, vector 233
+Key:        E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
+Plaintext:  E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
+Ciphertext: 95EFA65090BD603A1F65A21A43104F79
+Test: Encrypt
+Comment:    Set 3, vector 234
+Key:        EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+Plaintext:  EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+Ciphertext: 1B83F51E157BBA004CC5BD05986017C8
+Test: Encrypt
+Comment:    Set 3, vector 235
+Key:        EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB
+Plaintext:  EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB
+Ciphertext: A0C37A641126D5801C4259DFD38E8E8A
+Test: Encrypt
+Comment:    Set 3, vector 236
+Key:        ECECECECECECECECECECECECECECECEC
+Plaintext:  ECECECECECECECECECECECECECECECEC
+Ciphertext: 3153A212C2E4727C1032223134342B31
+Test: Encrypt
+Comment:    Set 3, vector 237
+Key:        EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
+Plaintext:  EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
+Ciphertext: C680D98CAF4409CF31BABCF67352E1D5
+Test: Encrypt
+Comment:    Set 3, vector 238
+Key:        EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+Plaintext:  EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+Ciphertext: A7FC85C8459274B836B6F0CBED80AF49
+Test: Encrypt
+Comment:    Set 3, vector 239
+Key:        EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
+Plaintext:  EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
+Ciphertext: 5CA8B8A4B8AF15A6184259831B18BBB5
+Test: Encrypt
+Comment:    Set 3, vector 240
+Key:        F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
+Plaintext:  F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
+Ciphertext: F118089963B9AB37776B10B0D4CCEBA4
+Test: Encrypt
+Comment:    Set 3, vector 241
+Key:        F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
+Plaintext:  F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
+Ciphertext: C233B864E78E9EC272112A34FF7AADBA
+Test: Encrypt
+Comment:    Set 3, vector 242
+Key:        F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
+Plaintext:  F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
+Ciphertext: 2B1C503E7F755A47CC4C57BEB4135B46
+Test: Encrypt
+Comment:    Set 3, vector 243
+Key:        F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
+Plaintext:  F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
+Ciphertext: 60D8177BE1044FC5F46DA2B3CAA33102
+Test: Encrypt
+Comment:    Set 3, vector 244
+Key:        F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4
+Plaintext:  F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4
+Ciphertext: BA1CBC06977ECE57C5CBC12D99324E00
+Test: Encrypt
+Comment:    Set 3, vector 245
+Key:        F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5
+Plaintext:  F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5
+Ciphertext: 01C8561E24A32F53FBAF8864AEE803E3
+Test: Encrypt
+Comment:    Set 3, vector 246
+Key:        F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6
+Plaintext:  F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6
+Ciphertext: 797ECFA429014F26B9E62D58B4C1B84E
+Test: Encrypt
+Comment:    Set 3, vector 247
+Key:        F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7
+Plaintext:  F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7
+Ciphertext: 6AD7FA698A7F3EA8AE13B1DF537BF6EA
+Test: Encrypt
+Comment:    Set 3, vector 248
+Key:        F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
+Plaintext:  F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
+Ciphertext: 49157343BE8B8ED4E59C1AEC3CAB1B94
+Test: Encrypt
+Comment:    Set 3, vector 249
+Key:        F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
+Plaintext:  F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
+Ciphertext: D33C742DEA4A2C64983766E3068EC200
+Test: Encrypt
+Comment:    Set 3, vector 250
+Key:        FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA
+Plaintext:  FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA
+Ciphertext: 66AE1EAFB45091982E40000BADE002C9
+Test: Encrypt
+Comment:    Set 3, vector 251
+Key:        FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB
+Plaintext:  FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB
+Ciphertext: B6614B0FF5924D0C1EB2C461560BFC01
+Test: Encrypt
+Comment:    Set 3, vector 252
+Key:        FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+Plaintext:  FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+Ciphertext: 5B4DFBE2BB7666425A858C4769D8DAD0
+Test: Encrypt
+Comment:    Set 3, vector 253
+Key:        FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+Plaintext:  FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+Ciphertext: 2F142B9044DEC39915ED9347E7B0ED1E
+Test: Encrypt
+Comment:    Set 3, vector 254
+Key:        FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+Plaintext:  FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+Ciphertext: 17E02528D6655CEA7BE6B8548FC2DA65
+Test: Encrypt
+Comment:    Set 3, vector 255
+Key:        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+Plaintext:  FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+Ciphertext: 25DD9EB9DD67FBC6E8431F56F4FBE651
+Test: Encrypt
+Comment: Tests with 192-bit keys
+Comment:    Set 1, vector 0
+Key:        800000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 1B6220D365C2176C1D41A5826520FCA1
+Test: Encrypt
+Comment:    Set 1, vector 1
+Key:        400000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 0F6DAEEA95CFC8925F23AFA932DF489B
+Test: Encrypt
+Comment:    Set 1, vector 2
+Key:        200000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 7330199225AD384F8DD39582D61389BB
+Test: Encrypt
+Comment:    Set 1, vector 3
+Key:        100000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 2CC5A47D5C62F70634E27BA332D37D53
+Test: Encrypt
+Comment:    Set 1, vector 4
+Key:        080000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: CDF1D23AB15E20AE8E9A2FE380920897
+Test: Encrypt
+Comment:    Set 1, vector 5
+Key:        040000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: CE995A8AF1FD7E0F5FA07ED654841EEE
+Test: Encrypt
+Comment:    Set 1, vector 6
+Key:        020000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 0678BA4335E44354363005F278AF83A4
+Test: Encrypt
+Comment:    Set 1, vector 7
+Key:        010000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6162ED593434D738B44D642254066FB4
+Test: Encrypt
+Comment:    Set 1, vector 8
+Key:        008000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: F7F146E61396EC9AB9F7D04BFA6D37F5
+Test: Encrypt
+Comment:    Set 1, vector 9
+Key:        004000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 8BF96FE41906AF2CC702726B963E56A6
+Test: Encrypt
+Comment:    Set 1, vector 10
+Key:        002000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: B164168F7D6BADBCCBE19B2BCF4EAA91
+Test: Encrypt
+Comment:    Set 1, vector 11
+Key:        001000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5A81508260797F7BCFD4E0DB62F5E3A7
+Test: Encrypt
+Comment:    Set 1, vector 12
+Key:        000800000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 36641169D53E61CB32B97B98C37DF262
+Test: Encrypt
+Comment:    Set 1, vector 13
+Key:        000400000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: EFFEC137ECEE5D439F8B21ACE1D863F8
+Test: Encrypt
+Comment:    Set 1, vector 14
+Key:        000200000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 7462DEB8C153EECB6C78CE690E764B53
+Test: Encrypt
+Comment:    Set 1, vector 15
+Key:        000100000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 34F873BD3D6FF62B18C3778B123B15C5
+Test: Encrypt
+Comment:    Set 1, vector 16
+Key:        000080000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 9850C8E08F952EE1D173B1A4A78686F5
+Test: Encrypt
+Comment:    Set 1, vector 17
+Key:        000040000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 3285534795E8547B68580343DC5BF330
+Test: Encrypt
+Comment:    Set 1, vector 18
+Key:        000020000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: E0495AA72CB3C27233850F3192254232
+Test: Encrypt
+Comment:    Set 1, vector 19
+Key:        000010000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 33ED350E83B7FE34E74C22A883EC6728
+Test: Encrypt
+Comment:    Set 1, vector 20
+Key:        000008000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 912D73428CBA7F631AE577854C111C91
+Test: Encrypt
+Comment:    Set 1, vector 21
+Key:        000004000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 76E747DC49B25D8E6EBE5DE83980AB57
+Test: Encrypt
+Comment:    Set 1, vector 22
+Key:        000002000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 82A2ED3BE0371C98C176AA7E7DF9FF8D
+Test: Encrypt
+Comment:    Set 1, vector 23
+Key:        000001000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 96282A04DD3405294F9714B396D5219A
+Test: Encrypt
+Comment:    Set 1, vector 24
+Key:        000000800000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 86ECD349003006A6DE29D4AAC1ACE296
+Test: Encrypt
+Comment:    Set 1, vector 25
+Key:        000000400000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 7A9A9F2BBEA203ECE7C9F531B6D41B6A
+Test: Encrypt
+Comment:    Set 1, vector 26
+Key:        000000200000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: BA5FE8CD976DEA118728C2950D325042
+Test: Encrypt
+Comment:    Set 1, vector 27
+Key:        000000100000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 46F29ADE35C839AE69454CB0C9EEBF71
+Test: Encrypt
+Comment:    Set 1, vector 28
+Key:        000000080000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: E5B83E23535FC32DD8153C46EC894FAD
+Test: Encrypt
+Comment:    Set 1, vector 29
+Key:        000000040000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 877CC6280A8E7740F710AEA535DADFD4
+Test: Encrypt
+Comment:    Set 1, vector 30
+Key:        000000020000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 284D6EEC89721D40BDCFD260AF4FF052
+Test: Encrypt
+Comment:    Set 1, vector 31
+Key:        000000010000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6482ED6C71B60F1ED92B9913B5EAF6B3
+Test: Encrypt
+Comment:    Set 1, vector 32
+Key:        000000008000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 30135C97C9C23C8C64612D6BB813AD61
+Test: Encrypt
+Comment:    Set 1, vector 33
+Key:        000000004000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 336F70CF867920BBC00699CA8DBDF6DA
+Test: Encrypt
+Comment:    Set 1, vector 34
+Key:        000000002000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 3F4003C9600469670DE0B1B20ED5F33D
+Test: Encrypt
+Comment:    Set 1, vector 35
+Key:        000000001000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 9D5FFEDF7166F74DCAF2D643E2934ABE
+Test: Encrypt
+Comment:    Set 1, vector 36
+Key:        000000000800000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 9BFAC0EEB78A21F006DB6847CC7D7929
+Test: Encrypt
+Comment:    Set 1, vector 37
+Key:        000000000400000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: B64332DC813BE982897C1E14DA808F5D
+Test: Encrypt
+Comment:    Set 1, vector 38
+Key:        000000000200000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: AB8FCEB76C37E5FE5737DA4382F14347
+Test: Encrypt
+Comment:    Set 1, vector 39
+Key:        000000000100000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: C9C121859975147145AF6CAE313BA00D
+Test: Encrypt
+Comment:    Set 1, vector 40
+Key:        000000000080000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 9B1307BF36B6FF5BA4AD9C6574B63955
+Test: Encrypt
+Comment:    Set 1, vector 41
+Key:        000000000040000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 8842C3EBB26C1863440D52DC3B26414B
+Test: Encrypt
+Comment:    Set 1, vector 42
+Key:        000000000020000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: ADEADD3E035D591B2197D5B9C9B06ADA
+Test: Encrypt
+Comment:    Set 1, vector 43
+Key:        000000000010000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 4F36AD57F9BA5FB6624E504D0FC2DC93
+Test: Encrypt
+Comment:    Set 1, vector 44
+Key:        000000000008000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 92A364EEB2D964949210C7FF14BAE7B5
+Test: Encrypt
+Comment:    Set 1, vector 45
+Key:        000000000004000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: EA027B9653456B8A41910FE19A90FD50
+Test: Encrypt
+Comment:    Set 1, vector 46
+Key:        000000000002000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 254A41CA04427C9E87F65BB52A0ACF74
+Test: Encrypt
+Comment:    Set 1, vector 47
+Key:        000000000001000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: F935FD318C08AC6CD57A028384FA447B
+Test: Encrypt
+Comment:    Set 1, vector 48
+Key:        000000000000800000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: E5BA10850CBCFF8F42FEC0E658685096
+Test: Encrypt
+Comment:    Set 1, vector 49
+Key:        000000000000400000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6F145C7015923CE515D78CEF0157CCC6
+Test: Encrypt
+Comment:    Set 1, vector 50
+Key:        000000000000200000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 3A6FCA03EA6DBF6996FD2CE99EC17C31
+Test: Encrypt
+Comment:    Set 1, vector 51
+Key:        000000000000100000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 21E2ED82498B110EAEAD90F1BBEA03A6
+Test: Encrypt
+Comment:    Set 1, vector 52
+Key:        000000000000080000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6B16ED3CBADC3151323891C373C43DFB
+Test: Encrypt
+Comment:    Set 1, vector 53
+Key:        000000000000040000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: B621A20E0CA41620C2A483154DB6102C
+Test: Encrypt
+Comment:    Set 1, vector 54
+Key:        000000000000020000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 8C754011BD3B87AA1EB3607B98E6CE86
+Test: Encrypt
+Comment:    Set 1, vector 55
+Key:        000000000000010000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: FEEE2DFBA1DD3DBF4017B13833117816
+Test: Encrypt
+Comment:    Set 1, vector 56
+Key:        000000000000008000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 62A9C6CC76519FCF8FAD9EED0552CEB3
+Test: Encrypt
+Comment:    Set 1, vector 57
+Key:        000000000000004000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: FF822FAFB79035AB813246BA5234D675
+Test: Encrypt
+Comment:    Set 1, vector 58
+Key:        000000000000002000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: F3E17F2406DF31E7074DF97B062396B9
+Test: Encrypt
+Comment:    Set 1, vector 59
+Key:        000000000000001000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 3F4F81B3573B6756ADD3005087EDE501
+Test: Encrypt
+Comment:    Set 1, vector 60
+Key:        000000000000000800000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 65A03A1A1C44191B73D576B7C75B5C32
+Test: Encrypt
+Comment:    Set 1, vector 61
+Key:        000000000000000400000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: B08EBB2097DA76C34E2D8A869DCD3D7D
+Test: Encrypt
+Comment:    Set 1, vector 62
+Key:        000000000000000200000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: BA7B88E1B1FCFA03C3DBB2EDE047F5DC
+Test: Encrypt
+Comment:    Set 1, vector 63
+Key:        000000000000000100000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 1B3CB3884C12691CC66202EDB0838106
+Test: Encrypt
+Comment:    Set 1, vector 64
+Key:        000000000000000080000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 4A85BE25546958B1E91801A35C7386E2
+Test: Encrypt
+Comment:    Set 1, vector 65
+Key:        000000000000000040000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: F14CAACDD919872396DBCDCBEF9A384C
+Test: Encrypt
+Comment:    Set 1, vector 66
+Key:        000000000000000020000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 23B0D4FC870309DFEF7AFC04C46AF26A
+Test: Encrypt
+Comment:    Set 1, vector 67
+Key:        000000000000000010000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: C93604723C3DBBC66AFF87AB1864C76C
+Test: Encrypt
+Comment:    Set 1, vector 68
+Key:        000000000000000008000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6C14E822857BA0983AAC42995D973092
+Test: Encrypt
+Comment:    Set 1, vector 69
+Key:        000000000000000004000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 700AFEA175DBEAE688F90B8D32990560
+Test: Encrypt
+Comment:    Set 1, vector 70
+Key:        000000000000000002000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 54AE9EFA09FC70A852212752B83AF1F2
+Test: Encrypt
+Comment:    Set 1, vector 71
+Key:        000000000000000001000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 2474EF8E660333FC9763E137DDB1AA1F
+Test: Encrypt
+Comment:    Set 1, vector 72
+Key:        000000000000000000800000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: E52ECE1281186644B6A2228A89BD2304
+Test: Encrypt
+Comment:    Set 1, vector 73
+Key:        000000000000000000400000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 610A02ECEC1B5BA0C6EC7CE8D6197722
+Test: Encrypt
+Comment:    Set 1, vector 74
+Key:        000000000000000000200000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 8A8AB3DA5CE37E1D68B496F110E4F941
+Test: Encrypt
+Comment:    Set 1, vector 75
+Key:        000000000000000000100000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6961F3A7E6550753C55E4C03FA7869E9
+Test: Encrypt
+Comment:    Set 1, vector 76
+Key:        000000000000000000080000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: D8F149C207FAD4480BA2FC609BEB4471
+Test: Encrypt
+Comment:    Set 1, vector 77
+Key:        000000000000000000040000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: DE9DC95336F2088935881DD57C0A4B98
+Test: Encrypt
+Comment:    Set 1, vector 78
+Key:        000000000000000000020000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: DC4EA3B0F76439DB8847FE61C1A64F7A
+Test: Encrypt
+Comment:    Set 1, vector 79
+Key:        000000000000000000010000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 21D4802EB72232AD2B0B46C50C98445B
+Test: Encrypt
+Comment:    Set 1, vector 80
+Key:        000000000000000000008000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: D6C32522B546BAC316E5F3A07F83FFE6
+Test: Encrypt
+Comment:    Set 1, vector 81
+Key:        000000000000000000004000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 4B07B02C86B579A0C68D916DF8A1EB76
+Test: Encrypt
+Comment:    Set 1, vector 82
+Key:        000000000000000000002000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 060B15735C978DF9F4F3ED503B95D6C3
+Test: Encrypt
+Comment:    Set 1, vector 83
+Key:        000000000000000000001000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 3040B3C9C560C968FE14664E3496D5D1
+Test: Encrypt
+Comment:    Set 1, vector 84
+Key:        000000000000000000000800000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 8971CFB236598BBD46E47E172B0690F7
+Test: Encrypt
+Comment:    Set 1, vector 85
+Key:        000000000000000000000400000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 8D7FAB4985A0BAC4CAEE341972D49CF4
+Test: Encrypt
+Comment:    Set 1, vector 86
+Key:        000000000000000000000200000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: ED29003D83CB7D7747C17A8691323021
+Test: Encrypt
+Comment:    Set 1, vector 87
+Key:        000000000000000000000100000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 98EBFDA32C99438F0A549B7BFAAC0635
+Test: Encrypt
+Comment:    Set 1, vector 88
+Key:        000000000000000000000080000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: A59AB8EAF03BCDFD7CB0A9650E59F27B
+Test: Encrypt
+Comment:    Set 1, vector 89
+Key:        000000000000000000000040000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 71422297CE93952D46FFC27530D6255D
+Test: Encrypt
+Comment:    Set 1, vector 90
+Key:        000000000000000000000020000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 519E2607543C3AFE49190EBCA12ADBBC
+Test: Encrypt
+Comment:    Set 1, vector 91
+Key:        000000000000000000000010000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 8989C908C50E008E70EA5B897DC3544C
+Test: Encrypt
+Comment:    Set 1, vector 92
+Key:        000000000000000000000008000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 981C174277F29F8DD06E1D4C97D9816F
+Test: Encrypt
+Comment:    Set 1, vector 93
+Key:        000000000000000000000004000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 0279DEC16A532E160AA5B4FF7682F696
+Test: Encrypt
+Comment:    Set 1, vector 94
+Key:        000000000000000000000002000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: C3BFFB31FCB0A61188DE9AA606CB286C
+Test: Encrypt
+Comment:    Set 1, vector 95
+Key:        000000000000000000000001000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5C1C4966B387A41D52F83BBF322D25DF
+Test: Encrypt
+Comment:    Set 1, vector 96
+Key:        000000000000000000000000800000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6602ECC6AF62EF1EB4D17E2487A64F7A
+Test: Encrypt
+Comment:    Set 1, vector 97
+Key:        000000000000000000000000400000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 2DA725366BD7774BA235183CC9B273B4
+Test: Encrypt
+Comment:    Set 1, vector 98
+Key:        000000000000000000000000200000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 71B29CF87C313F0B89B75251EFC4FF7F
+Test: Encrypt
+Comment:    Set 1, vector 99
+Key:        000000000000000000000000100000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 4D9BDBCBA04C54AEAA7F48470428ECA2
+Test: Encrypt
+Comment:    Set 1, vector 100
+Key:        000000000000000000000000080000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: C6BC53A3C6D6C8A6F12B97B151BFBB3F
+Test: Encrypt
+Comment:    Set 1, vector 101
+Key:        000000000000000000000000040000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: FD3E8D6732BBC2AA13F03F9AB0BCEC14
+Test: Encrypt
+Comment:    Set 1, vector 102
+Key:        000000000000000000000000020000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 7D5ED8FEF289FF7F8953278E0A0297A1
+Test: Encrypt
+Comment:    Set 1, vector 103
+Key:        000000000000000000000000010000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 84A20023EF5E31771802E8A2FFBA485B
+Test: Encrypt
+Comment:    Set 1, vector 104
+Key:        000000000000000000000000008000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 7BD6E573AE79F0FA9FE38ECF6011D756
+Test: Encrypt
+Comment:    Set 1, vector 105
+Key:        000000000000000000000000004000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: EB58EA6B6DE1282A7BB9EA1A2254A542
+Test: Encrypt
+Comment:    Set 1, vector 106
+Key:        000000000000000000000000002000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 30A697E325C4D3BEC8E69A2DAD2AE5BB
+Test: Encrypt
+Comment:    Set 1, vector 107
+Key:        000000000000000000000000001000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 3205F6FEAA38500AC74BE66FEDF3231E
+Test: Encrypt
+Comment:    Set 1, vector 108
+Key:        000000000000000000000000000800000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 83C007676041E81B836886ABED807A71
+Test: Encrypt
+Comment:    Set 1, vector 109
+Key:        000000000000000000000000000400000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 24B33B3138855437CC11D3792A1FD00F
+Test: Encrypt
+Comment:    Set 1, vector 110
+Key:        000000000000000000000000000200000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 26324D7E2C055366910464699D73608A
+Test: Encrypt
+Comment:    Set 1, vector 111
+Key:        000000000000000000000000000100000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: F9A94A959AE7CD2A9D5FB7274703906B
+Test: Encrypt
+Comment:    Set 1, vector 112
+Key:        000000000000000000000000000080000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: AD13D85E47EFC76B67ED25791E119A5C
+Test: Encrypt
+Comment:    Set 1, vector 113
+Key:        000000000000000000000000000040000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5FB689176B296F2E579FC69A18FA07EB
+Test: Encrypt
+Comment:    Set 1, vector 114
+Key:        000000000000000000000000000020000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 936DFBA0A052A299C195F34A66C0CEDF
+Test: Encrypt
+Comment:    Set 1, vector 115
+Key:        000000000000000000000000000010000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 486C03278BB30F26D25AE0D6348C9491
+Test: Encrypt
+Comment:    Set 1, vector 116
+Key:        000000000000000000000000000008000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: FCE14E6CE2073B5E8D1572A1EC1BD502
+Test: Encrypt
+Comment:    Set 1, vector 117
+Key:        000000000000000000000000000004000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5F15B8A64EDBF0E55C3B8BB67BC9B2E1
+Test: Encrypt
+Comment:    Set 1, vector 118
+Key:        000000000000000000000000000002000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 7BDC738A342891C7BE06E87E12F71418
+Test: Encrypt
+Comment:    Set 1, vector 119
+Key:        000000000000000000000000000001000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 31C6FEDABBC8C8AD64C27505F02BC7CC
+Test: Encrypt
+Comment:    Set 1, vector 120
+Key:        000000000000000000000000000000800000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 33CCD97EB8C3C06B7BCD16659E1F9837
+Test: Encrypt
+Comment:    Set 1, vector 121
+Key:        000000000000000000000000000000400000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 12C3089895D4A1C1D03DB0071F88AB1B
+Test: Encrypt
+Comment:    Set 1, vector 122
+Key:        000000000000000000000000000000200000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 8EB4796C7F7C3B0858750EBE3BAA335C
+Test: Encrypt
+Comment:    Set 1, vector 123
+Key:        000000000000000000000000000000100000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 67169AF324151E92C6B7C31687B83783
+Test: Encrypt
+Comment:    Set 1, vector 124
+Key:        000000000000000000000000000000080000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: AB0E10564D41594B55CE3D5B088D93B4
+Test: Encrypt
+Comment:    Set 1, vector 125
+Key:        000000000000000000000000000000040000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 45228986B08E63728239ADC9C249E475
+Test: Encrypt
+Comment:    Set 1, vector 126
+Key:        000000000000000000000000000000020000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: CA7E48D5A4CD15984CA9EF99EC789EFD
+Test: Encrypt
+Comment:    Set 1, vector 127
+Key:        000000000000000000000000000000010000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: B4DD56FF85F7ABBEB9E0F5AE6B0E491D
+Test: Encrypt
+Comment:    Set 1, vector 128
+Key:        000000000000000000000000000000008000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 044BE36D2F5A3D0FEA74443538F55393
+Test: Encrypt
+Comment:    Set 1, vector 129
+Key:        000000000000000000000000000000004000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 531EC401FB7C3BFADF64BB08E0DD9992
+Test: Encrypt
+Comment:    Set 1, vector 130
+Key:        000000000000000000000000000000002000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: EA8D6B6963EC2267050F8CF5D1D1D939
+Test: Encrypt
+Comment:    Set 1, vector 131
+Key:        000000000000000000000000000000001000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: CF5D7F27462FF7415D4E5ECBAEE0797C
+Test: Encrypt
+Comment:    Set 1, vector 132
+Key:        000000000000000000000000000000000800000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: DF28B8322D4B8606FF3EFF09D39697B0
+Test: Encrypt
+Comment:    Set 1, vector 133
+Key:        000000000000000000000000000000000400000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 956EF889AAB218E21FAF8E9CC2AE41F9
+Test: Encrypt
+Comment:    Set 1, vector 134
+Key:        000000000000000000000000000000000200000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: AD0CF3C46F420E96B876DD55515B4B80
+Test: Encrypt
+Comment:    Set 1, vector 135
+Key:        000000000000000000000000000000000100000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: EC8620D3B9B456633AD174573CF82ABD
+Test: Encrypt
+Comment:    Set 1, vector 136
+Key:        000000000000000000000000000000000080000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: A7CC6C810C1433B8D130594A48A36F69
+Test: Encrypt
+Comment:    Set 1, vector 137
+Key:        000000000000000000000000000000000040000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: B02C5AF13D523A2A62E9F3829F9E3364
+Test: Encrypt
+Comment:    Set 1, vector 138
+Key:        000000000000000000000000000000000020000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5AC8368EC6150F08CC2C44DBA8A9D84F
+Test: Encrypt
+Comment:    Set 1, vector 139
+Key:        000000000000000000000000000000000010000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 3BD51735D6087217EEF17B40750D701F
+Test: Encrypt
+Comment:    Set 1, vector 140
+Key:        000000000000000000000000000000000008000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 330CC76A5529364B08F722C6206214E7
+Test: Encrypt
+Comment:    Set 1, vector 141
+Key:        000000000000000000000000000000000004000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 13CA2152CB81267D8429670A8D983592
+Test: Encrypt
+Comment:    Set 1, vector 142
+Key:        000000000000000000000000000000000002000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 3943D67CE79CB8519EB9A5D1021988ED
+Test: Encrypt
+Comment:    Set 1, vector 143
+Key:        000000000000000000000000000000000001000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 642858D825E8640718ABE6174BD04A32
+Test: Encrypt
+Comment:    Set 1, vector 144
+Key:        000000000000000000000000000000000000800000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: F22616DE88A4CCBF97CF2DB709237EC7
+Test: Encrypt
+Comment:    Set 1, vector 145
+Key:        000000000000000000000000000000000000400000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: B90D7F6BF0D9FC11A01F2B33194806DB
+Test: Encrypt
+Comment:    Set 1, vector 146
+Key:        000000000000000000000000000000000000200000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: C161D350DC897B210D0D0CE8CE78F4B4
+Test: Encrypt
+Comment:    Set 1, vector 147
+Key:        000000000000000000000000000000000000100000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 66E46482150E7CF9BCBE60AF7BCA6892
+Test: Encrypt
+Comment:    Set 1, vector 148
+Key:        000000000000000000000000000000000000080000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: B17C912E085D8854F220555EB0FA89BD
+Test: Encrypt
+Comment:    Set 1, vector 149
+Key:        000000000000000000000000000000000000040000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6FD6A99633FBD3A6D238CADF37824AD2
+Test: Encrypt
+Comment:    Set 1, vector 150
+Key:        000000000000000000000000000000000000020000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 9DE6D76D9A7E4AAB7A58EECE0E153D73
+Test: Encrypt
+Comment:    Set 1, vector 151
+Key:        000000000000000000000000000000000000010000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: B4716A7DB10E3B8D1475C7EFB929F93A
+Test: Encrypt
+Comment:    Set 1, vector 152
+Key:        000000000000000000000000000000000000008000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 3D0F65F16AD143FB2FABDF4DFE621398
+Test: Encrypt
+Comment:    Set 1, vector 153
+Key:        000000000000000000000000000000000000004000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 249F1415D963DE146F4141C200B81D1D
+Test: Encrypt
+Comment:    Set 1, vector 154
+Key:        000000000000000000000000000000000000002000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 454CD7040ED3851C3894F6259CE0D3FE
+Test: Encrypt
+Comment:    Set 1, vector 155
+Key:        000000000000000000000000000000000000001000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 4D613EE6FA78A573ECBE989A64193E0C
+Test: Encrypt
+Comment:    Set 1, vector 156
+Key:        000000000000000000000000000000000000000800000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: B39384E429291B9C22005BC9B3FF2DEF
+Test: Encrypt
+Comment:    Set 1, vector 157
+Key:        000000000000000000000000000000000000000400000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 957D0B27740C952E45DB97C8814F49C0
+Test: Encrypt
+Comment:    Set 1, vector 158
+Key:        000000000000000000000000000000000000000200000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 2879F58F238865D877D8C276CA9E9102
+Test: Encrypt
+Comment:    Set 1, vector 159
+Key:        000000000000000000000000000000000000000100000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: EA5B920037608FC9D51F39488D4666F7
+Test: Encrypt
+Comment:    Set 1, vector 160
+Key:        000000000000000000000000000000000000000080000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 7659A705ABCA25205078541E713088BC
+Test: Encrypt
+Comment:    Set 1, vector 161
+Key:        000000000000000000000000000000000000000040000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 47E340BB8BF2E8E1015BEFB68C7B1100
+Test: Encrypt
+Comment:    Set 1, vector 162
+Key:        000000000000000000000000000000000000000020000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 777E3E572CA33076B2CB34226CC70158
+Test: Encrypt
+Comment:    Set 1, vector 163
+Key:        000000000000000000000000000000000000000010000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 1FEC7C6719C7CA2E9A981851C5CEE204
+Test: Encrypt
+Comment:    Set 1, vector 164
+Key:        000000000000000000000000000000000000000008000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 9AF07DABE083EFDA75708A36AEB74CAF
+Test: Encrypt
+Comment:    Set 1, vector 165
+Key:        000000000000000000000000000000000000000004000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5D1482F8EF9CB18911BB7F78BC3B89FC
+Test: Encrypt
+Comment:    Set 1, vector 166
+Key:        000000000000000000000000000000000000000002000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5242753E01D470DD8C2B73A986BA009F
+Test: Encrypt
+Comment:    Set 1, vector 167
+Key:        000000000000000000000000000000000000000001000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 83AE5BC112B73AB7978D13DD534B770B
+Test: Encrypt
+Comment:    Set 1, vector 168
+Key:        000000000000000000000000000000000000000000800000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 848EB7330A82B91D36FBEFF6E6CE1347
+Test: Encrypt
+Comment:    Set 1, vector 169
+Key:        000000000000000000000000000000000000000000400000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: F1B14465EFFD3E14DD1BAC6E0FA4E5BD
+Test: Encrypt
+Comment:    Set 1, vector 170
+Key:        000000000000000000000000000000000000000000200000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5ACD25AA05AFD21F43F6A51709FD0B6A
+Test: Encrypt
+Comment:    Set 1, vector 171
+Key:        000000000000000000000000000000000000000000100000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 12321AEFA53F1503E3A473F729388CBD
+Test: Encrypt
+Comment:    Set 1, vector 172
+Key:        000000000000000000000000000000000000000000080000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 1602DBA20E2ACFDDCC78390B473B322B
+Test: Encrypt
+Comment:    Set 1, vector 173
+Key:        000000000000000000000000000000000000000000040000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 14C1853C3CF3CDFCE3799D5C130138EC
+Test: Encrypt
+Comment:    Set 1, vector 174
+Key:        000000000000000000000000000000000000000000020000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: DC17F9E8236350BDC285F9B2F88F670F
+Test: Encrypt
+Comment:    Set 1, vector 175
+Key:        000000000000000000000000000000000000000000010000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: ABA03FEE8133DD4ED9B8194B643E20CE
+Test: Encrypt
+Comment:    Set 1, vector 176
+Key:        000000000000000000000000000000000000000000008000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5822E80530C7CECCE4F56CF1691B386F
+Test: Encrypt
+Comment:    Set 1, vector 177
+Key:        000000000000000000000000000000000000000000004000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 25CFA6F1B9BE5E14DFAF87A44B3B2E3D
+Test: Encrypt
+Comment:    Set 1, vector 178
+Key:        000000000000000000000000000000000000000000002000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 5ED866CBC298B4DEE46C1A02F958F1F5
+Test: Encrypt
+Comment:    Set 1, vector 179
+Key:        000000000000000000000000000000000000000000001000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: BD2B63C026EB0E58D26ED16D2ED64A3E
+Test: Encrypt
+Comment:    Set 1, vector 180
+Key:        000000000000000000000000000000000000000000000800
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 9FFCFF9CF9E1483BC7971888246AF9FE
+Test: Encrypt
+Comment:    Set 1, vector 181
+Key:        000000000000000000000000000000000000000000000400
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 367C409AEE218E02DEAC8751698BA1B8
+Test: Encrypt
+Comment:    Set 1, vector 182
+Key:        000000000000000000000000000000000000000000000200
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 248E3A3C0360B44C512A9AC3CAAEC21B
+Test: Encrypt
+Comment:    Set 1, vector 183
+Key:        000000000000000000000000000000000000000000000100
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 49B47C542CA396260B53A34372985612
+Test: Encrypt
+Comment:    Set 1, vector 184
+Key:        000000000000000000000000000000000000000000000080
+Plaintext:  00000000000000000000000000000000
+Ciphertext: CE35FDBDBE086EA8A501A4571925A95F
+Test: Encrypt
+Comment:    Set 1, vector 185
+Key:        000000000000000000000000000000000000000000000040
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 873442FAE891B0767220742B84A32A4E
+Test: Encrypt
+Comment:    Set 1, vector 186
+Key:        000000000000000000000000000000000000000000000020
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 2C90E17AD13E4E84686BC5B369F0FA8F
+Test: Encrypt
+Comment:    Set 1, vector 187
+Key:        000000000000000000000000000000000000000000000010
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 0E7AAAA67D8593A9DFC55083B48B381A
+Test: Encrypt
+Comment:    Set 1, vector 188
+Key:        000000000000000000000000000000000000000000000008
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 1D8B58EE529AB17B10AC15D0E6E7ECB2
+Test: Encrypt
+Comment:    Set 1, vector 189
+Key:        000000000000000000000000000000000000000000000004
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 1C10FAC725B905AD93B6F4B2430A8D18
+Test: Encrypt
+Comment:    Set 1, vector 190
+Key:        000000000000000000000000000000000000000000000002
+Plaintext:  00000000000000000000000000000000
+Ciphertext: D36CF625EE94AB029CD23253C77C0E15
+Test: Encrypt
+Comment:    Set 1, vector 191
+Key:        000000000000000000000000000000000000000000000001
+Plaintext:  00000000000000000000000000000000
+Ciphertext: E37577F71E0E643C4D3F55219ABA1394
+Test: Encrypt
+Comment:    Set 2, vector 0
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  80000000000000000000000000000000
+Ciphertext: 3EB6CC5618EFC98455B5992050D474E7
+Test: Encrypt
+Comment:    Set 2, vector 1
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  40000000000000000000000000000000
+Ciphertext: A2C645044CBC74DE5A4A161C6B2E98B9
+Test: Encrypt
+Comment:    Set 2, vector 2
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  20000000000000000000000000000000
+Ciphertext: 36A9A8C164BD90D4972AB1BE56C96A0B
+Test: Encrypt
+Comment:    Set 2, vector 3
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  10000000000000000000000000000000
+Ciphertext: 38965592D728F9B765140C0A36A1BCCD
+Test: Encrypt
+Comment:    Set 2, vector 4
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  08000000000000000000000000000000
+Ciphertext: 94CDECA78E10827914A49B5AE7F15643
+Test: Encrypt
+Comment:    Set 2, vector 5
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  04000000000000000000000000000000
+Ciphertext: 11C0DF672B45CDCD311EB86A7560EDA1
+Test: Encrypt
+Comment:    Set 2, vector 6
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  02000000000000000000000000000000
+Ciphertext: 030CAA9B8DE6F8AB88882F9596D9B1B4
+Test: Encrypt
+Comment:    Set 2, vector 7
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  01000000000000000000000000000000
+Ciphertext: FA02C8D1CDDD08B1FE3650DBD8E43C4F
+Test: Encrypt
+Comment:    Set 2, vector 8
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00800000000000000000000000000000
+Ciphertext: 10ACEC25736340600D712338357C7FD4
+Test: Encrypt
+Comment:    Set 2, vector 9
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00400000000000000000000000000000
+Ciphertext: BBEF172E9E18679C6546EA2D9357BDD1
+Test: Encrypt
+Comment:    Set 2, vector 10
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00200000000000000000000000000000
+Ciphertext: 707CF6F582F5921765DBC6E1C79C45B6
+Test: Encrypt
+Comment:    Set 2, vector 11
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00100000000000000000000000000000
+Ciphertext: 3E9206A85F9FE99CD5538FA196E58147
+Test: Encrypt
+Comment:    Set 2, vector 12
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00080000000000000000000000000000
+Ciphertext: 6758B118659E9BB40BB7DC8C3D15ECEC
+Test: Encrypt
+Comment:    Set 2, vector 13
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00040000000000000000000000000000
+Ciphertext: 9BCA6C88B928C1B0F57F99866583A9BC
+Test: Encrypt
+Comment:    Set 2, vector 14
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00020000000000000000000000000000
+Ciphertext: 53D60CF8CA0B41B3991EF892917FA26F
+Test: Encrypt
+Comment:    Set 2, vector 15
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00010000000000000000000000000000
+Ciphertext: 49E438685E189FB95791C655FBF40B3B
+Test: Encrypt
+Comment:    Set 2, vector 16
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00008000000000000000000000000000
+Ciphertext: 6BFE6661C074077EF95DC499CA30A6B9
+Test: Encrypt
+Comment:    Set 2, vector 17
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00004000000000000000000000000000
+Ciphertext: FE82A6754DD56ACBD1895F8257597B74
+Test: Encrypt
+Comment:    Set 2, vector 18
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00002000000000000000000000000000
+Ciphertext: AF4551CFCEAEF2AEE1933C4AB5F036F5
+Test: Encrypt
+Comment:    Set 2, vector 19
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00001000000000000000000000000000
+Ciphertext: 5175E53EA4CA77E085363B2948B77B17
+Test: Encrypt
+Comment:    Set 2, vector 20
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000800000000000000000000000000
+Ciphertext: 19F544B2B2AAE4AF00DE2853F83349A5
+Test: Encrypt
+Comment:    Set 2, vector 21
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000400000000000000000000000000
+Ciphertext: 45A4379AC855738F6FEE3AFFBB2D839F
+Test: Encrypt
+Comment:    Set 2, vector 22
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000200000000000000000000000000
+Ciphertext: 73A390407DD07D4ABEB299A5051A8DD1
+Test: Encrypt
+Comment:    Set 2, vector 23
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000100000000000000000000000000
+Ciphertext: 923B1E3525217E5C7A41CE3BCAE7C083
+Test: Encrypt
+Comment:    Set 2, vector 24
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000080000000000000000000000000
+Ciphertext: F58098D6E68E975C922B05354C0E2094
+Test: Encrypt
+Comment:    Set 2, vector 25
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000040000000000000000000000000
+Ciphertext: 371631601CE2BED9B7706FA4254BBAE5
+Test: Encrypt
+Comment:    Set 2, vector 26
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000020000000000000000000000000
+Ciphertext: 794F34CD64B44095BAB5C470B36E60BE
+Test: Encrypt
+Comment:    Set 2, vector 27
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000010000000000000000000000000
+Ciphertext: 1A4CE8CBFEDB4F64B1A64D926B9BE3A1
+Test: Encrypt
+Comment:    Set 2, vector 28
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000008000000000000000000000000
+Ciphertext: 11C391C85F8FCF72EB03E1C4CC40B529
+Test: Encrypt
+Comment:    Set 2, vector 29
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000004000000000000000000000000
+Ciphertext: 9D8ADDC48EC36BB449234C7C06BEDC0F
+Test: Encrypt
+Comment:    Set 2, vector 30
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000002000000000000000000000000
+Ciphertext: 952A1FAD7FAEA148FA31B50C244CF5C4
+Test: Encrypt
+Comment:    Set 2, vector 31
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000001000000000000000000000000
+Ciphertext: 613E5E9BBBF1B9943B3B5CBD3E69C98F
+Test: Encrypt
+Comment:    Set 2, vector 32
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000800000000000000000000000
+Ciphertext: 5ABF9CB600BB50DB64211DE2DEAEEDBA
+Test: Encrypt
+Comment:    Set 2, vector 33
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000400000000000000000000000
+Ciphertext: 14697658FDA5B1F14C3303F5951CAE70
+Test: Encrypt
+Comment:    Set 2, vector 34
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000200000000000000000000000
+Ciphertext: 2A29179C05F2F5F5909A34130B92BB25
+Test: Encrypt
+Comment:    Set 2, vector 35
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000100000000000000000000000
+Ciphertext: 60A9DAB8068CC085F3B9853D0C1FCF07
+Test: Encrypt
+Comment:    Set 2, vector 36
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000080000000000000000000000
+Ciphertext: D625356ACCE7B9F874754AE52FD1C7BF
+Test: Encrypt
+Comment:    Set 2, vector 37
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000040000000000000000000000
+Ciphertext: 31196A29DAA0A41E982819C26AF0567A
+Test: Encrypt
+Comment:    Set 2, vector 38
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000020000000000000000000000
+Ciphertext: D1763FC019D77CC930BFF2A56F7C9364
+Test: Encrypt
+Comment:    Set 2, vector 39
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000010000000000000000000000
+Ciphertext: BBC9D3C96666B01D0C33CC067ADDA228
+Test: Encrypt
+Comment:    Set 2, vector 40
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000008000000000000000000000
+Ciphertext: 4FC9284574F433DD6C5ADEAB6DC64A06
+Test: Encrypt
+Comment:    Set 2, vector 41
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000004000000000000000000000
+Ciphertext: 7176B9E3628380ADDCF02493DB254B01
+Test: Encrypt
+Comment:    Set 2, vector 42
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000002000000000000000000000
+Ciphertext: C6B124A17B3AB55A983DC2B6E8253FF1
+Test: Encrypt
+Comment:    Set 2, vector 43
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000001000000000000000000000
+Ciphertext: 5853A6B6AB0FC47DEBA33526B628DF6E
+Test: Encrypt
+Comment:    Set 2, vector 44
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000800000000000000000000
+Ciphertext: 416945C1D1902238C42955CFF166D705
+Test: Encrypt
+Comment:    Set 2, vector 45
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000400000000000000000000
+Ciphertext: 2478F40DC7B7FA98E59DA21F1D2140F9
+Test: Encrypt
+Comment:    Set 2, vector 46
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000200000000000000000000
+Ciphertext: 6A912316499FBECA17D1683EAF79FDC9
+Test: Encrypt
+Comment:    Set 2, vector 47
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000100000000000000000000
+Ciphertext: 8A41DB2271FD345BC1DDE61A427E4E3E
+Test: Encrypt
+Comment:    Set 2, vector 48
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000080000000000000000000
+Ciphertext: B6C62C6A14D2276C8FE8D1062C1E8080
+Test: Encrypt
+Comment:    Set 2, vector 49
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000040000000000000000000
+Ciphertext: D23F90169810210A45BD9B8681B24C34
+Test: Encrypt
+Comment:    Set 2, vector 50
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000020000000000000000000
+Ciphertext: EDB2A77815A074B50D88C6C2B15AF814
+Test: Encrypt
+Comment:    Set 2, vector 51
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000010000000000000000000
+Ciphertext: 2D6D81C8FDD2C7D5B98317488846969D
+Test: Encrypt
+Comment:    Set 2, vector 52
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000008000000000000000000
+Ciphertext: 92F2805613A82EE25568B32ED7550DCC
+Test: Encrypt
+Comment:    Set 2, vector 53
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000004000000000000000000
+Ciphertext: E321480A1DE5F36040F1FD170F24802B
+Test: Encrypt
+Comment:    Set 2, vector 54
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000002000000000000000000
+Ciphertext: 3188FFADE35652067E6E2228130762D6
+Test: Encrypt
+Comment:    Set 2, vector 55
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000001000000000000000000
+Ciphertext: B3A3A43D68A82EC54B5D437346375584
+Test: Encrypt
+Comment:    Set 2, vector 56
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000800000000000000000
+Ciphertext: 023ECF3BD9FEB4891366ABE45EC1728B
+Test: Encrypt
+Comment:    Set 2, vector 57
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000400000000000000000
+Ciphertext: 50D8160676748E1718A030F4F512C1C2
+Test: Encrypt
+Comment:    Set 2, vector 58
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000200000000000000000
+Ciphertext: 30DF20541978D9C96D43D609DEF39C00
+Test: Encrypt
+Comment:    Set 2, vector 59
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000100000000000000000
+Ciphertext: BA1AA1682750C0CEB2A87E1A46A7CE0E
+Test: Encrypt
+Comment:    Set 2, vector 60
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000080000000000000000
+Ciphertext: 03AC8261D8F98C90B9CE9C9E47A39AA5
+Test: Encrypt
+Comment:    Set 2, vector 61
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000040000000000000000
+Ciphertext: 4C6C2FDC2693F2A43EAEB180AD8190F8
+Test: Encrypt
+Comment:    Set 2, vector 62
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000020000000000000000
+Ciphertext: B65D2C8CEE12BB4FA127356632CB0ECA
+Test: Encrypt
+Comment:    Set 2, vector 63
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000010000000000000000
+Ciphertext: 6D785867F379BCE03580ED9DE83C0EFD
+Test: Encrypt
+Comment:    Set 2, vector 64
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000008000000000000000
+Ciphertext: D2B25B3EECB454DCE070D11C408D73B2
+Test: Encrypt
+Comment:    Set 2, vector 65
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000004000000000000000
+Ciphertext: 8035FF5E625955D6328F570D53188C0C
+Test: Encrypt
+Comment:    Set 2, vector 66
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000002000000000000000
+Ciphertext: A8BECF868B0D964E04012BE5F8121A9C
+Test: Encrypt
+Comment:    Set 2, vector 67
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000001000000000000000
+Ciphertext: AA76DF2E83C0D31ECFE66A62E16A91D3
+Test: Encrypt
+Comment:    Set 2, vector 68
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000800000000000000
+Ciphertext: BAA324177EA5AF61ADBD27F594297278
+Test: Encrypt
+Comment:    Set 2, vector 69
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000400000000000000
+Ciphertext: 40BBEB33938AFA9BD566991B53B0FDA7
+Test: Encrypt
+Comment:    Set 2, vector 70
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000200000000000000
+Ciphertext: 6F58204780BEA9102506C477CBB3C8FE
+Test: Encrypt
+Comment:    Set 2, vector 71
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000100000000000000
+Ciphertext: D296BCA9261A3410E47FA289BD70B955
+Test: Encrypt
+Comment:    Set 2, vector 72
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000080000000000000
+Ciphertext: 4C57FB4234A64462C6D441A782723777
+Test: Encrypt
+Comment:    Set 2, vector 73
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000040000000000000
+Ciphertext: 33478DE51DBDA949E17CB82373DAF866
+Test: Encrypt
+Comment:    Set 2, vector 74
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000020000000000000
+Ciphertext: 7CC11B9A6A9E2CE13D3596686C624AF0
+Test: Encrypt
+Comment:    Set 2, vector 75
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000010000000000000
+Ciphertext: 0C55ACA2BDA80E8F84A3879FF077802A
+Test: Encrypt
+Comment:    Set 2, vector 76
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000008000000000000
+Ciphertext: 885B84843BADC6501CBDCBEA4386AB7F
+Test: Encrypt
+Comment:    Set 2, vector 77
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000004000000000000
+Ciphertext: DCF23815FEF1697B0618E205B637648A
+Test: Encrypt
+Comment:    Set 2, vector 78
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000002000000000000
+Ciphertext: BF5EBE09157E65743AAD033473B0DFED
+Test: Encrypt
+Comment:    Set 2, vector 79
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000001000000000000
+Ciphertext: 1E9E5E1032307B75915E9BD48205FEB8
+Test: Encrypt
+Comment:    Set 2, vector 80
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000800000000000
+Ciphertext: 0EB8AC09A10303A7CE9762C1B029F0E0
+Test: Encrypt
+Comment:    Set 2, vector 81
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000400000000000
+Ciphertext: 2A42627713BFC603A88AD1D66292B80C
+Test: Encrypt
+Comment:    Set 2, vector 82
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000200000000000
+Ciphertext: D7E9512485B9E5E409FB51E26D269795
+Test: Encrypt
+Comment:    Set 2, vector 83
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000100000000000
+Ciphertext: 57CC59F8B92D73E1B38EEE405A8EC12F
+Test: Encrypt
+Comment:    Set 2, vector 84
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000080000000000
+Ciphertext: 161783F5FFC9A383E36B80A2032A71F1
+Test: Encrypt
+Comment:    Set 2, vector 85
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000040000000000
+Ciphertext: F5B24CE20FFD8702AC63F9C844BC5730
+Test: Encrypt
+Comment:    Set 2, vector 86
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000020000000000
+Ciphertext: 440930601D4013076587D882A1958280
+Test: Encrypt
+Comment:    Set 2, vector 87
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000010000000000
+Ciphertext: AEA4C3F9E520651C5FE38B915423843F
+Test: Encrypt
+Comment:    Set 2, vector 88
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000008000000000
+Ciphertext: E300D7417C4F547DBCD5FC84E3833A7B
+Test: Encrypt
+Comment:    Set 2, vector 89
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000004000000000
+Ciphertext: 5543860CE9247B38E8D0E7B216C0B5A5
+Test: Encrypt
+Comment:    Set 2, vector 90
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000002000000000
+Ciphertext: C20449053BF90C899899EE02794DB3C5
+Test: Encrypt
+Comment:    Set 2, vector 91
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000001000000000
+Ciphertext: AC0CB3B34AC32244CF196AE49E94D380
+Test: Encrypt
+Comment:    Set 2, vector 92
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000800000000
+Ciphertext: 0CDF3F25852287E3BAFAF490DE18D125
+Test: Encrypt
+Comment:    Set 2, vector 93
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000400000000
+Ciphertext: 583BB44512CE75268F72E6BC6682901B
+Test: Encrypt
+Comment:    Set 2, vector 94
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000200000000
+Ciphertext: 217140522F0C505FDAC4BFDE6E9D9A81
+Test: Encrypt
+Comment:    Set 2, vector 95
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000100000000
+Ciphertext: CFA59EB13DDD780A2EAEF89E83737C9A
+Test: Encrypt
+Comment:    Set 2, vector 96
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000080000000
+Ciphertext: 75E473CCD4D116426753B44900D919A6
+Test: Encrypt
+Comment:    Set 2, vector 97
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000040000000
+Ciphertext: E15E4627F7F8A3F09424D3D5CAC1C777
+Test: Encrypt
+Comment:    Set 2, vector 98
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000020000000
+Ciphertext: B83E20A23802D8755A2E850242B64EEF
+Test: Encrypt
+Comment:    Set 2, vector 99
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000010000000
+Ciphertext: E6790AF3911360F28FD17886DD311F88
+Test: Encrypt
+Comment:    Set 2, vector 100
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000008000000
+Ciphertext: 0A6304DF33E409C8A21E1C19187183FF
+Test: Encrypt
+Comment:    Set 2, vector 101
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000004000000
+Ciphertext: 51966561DA7ED5F30130B55CD108B5BE
+Test: Encrypt
+Comment:    Set 2, vector 102
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000002000000
+Ciphertext: 0ECA40693BF4CB41FDD15BCFD8C9D9B9
+Test: Encrypt
+Comment:    Set 2, vector 103
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000001000000
+Ciphertext: 8731B42742ADBA2D89C9BA90EBD4E42A
+Test: Encrypt
+Comment:    Set 2, vector 104
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000800000
+Ciphertext: BE4C6C18AA231E9BB13909242CC92EE3
+Test: Encrypt
+Comment:    Set 2, vector 105
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000400000
+Ciphertext: 39AC45537E9AFDC6C8BDD4204039A218
+Test: Encrypt
+Comment:    Set 2, vector 106
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000200000
+Ciphertext: AEA354F16E1E8EECEB5A98D88418B1A0
+Test: Encrypt
+Comment:    Set 2, vector 107
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000100000
+Ciphertext: 4F5D37D7D0DC7714E62BE4A0331DB07B
+Test: Encrypt
+Comment:    Set 2, vector 108
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000080000
+Ciphertext: 9603F03C3CAA8C2F0ECFBA1374891007
+Test: Encrypt
+Comment:    Set 2, vector 109
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000040000
+Ciphertext: C58768944996884B46A8FFDDB9AB87EF
+Test: Encrypt
+Comment:    Set 2, vector 110
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000020000
+Ciphertext: 3BCCF2396A97FC1C0CFFFB6ED41716DB
+Test: Encrypt
+Comment:    Set 2, vector 111
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000010000
+Ciphertext: DC299278DCA45AC1B6B08ED4B62D9BC9
+Test: Encrypt
+Comment:    Set 2, vector 112
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000008000
+Ciphertext: E195AECA31E10241BD0EC4AC5418A25D
+Test: Encrypt
+Comment:    Set 2, vector 113
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000004000
+Ciphertext: B397A4983ED647A0EB806ACDFE7BCB34
+Test: Encrypt
+Comment:    Set 2, vector 114
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000002000
+Ciphertext: BC8F7224B0447E8A1CF0F5506A060F3C
+Test: Encrypt
+Comment:    Set 2, vector 115
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000001000
+Ciphertext: FFD3ED02E7F64A5D6B37A9DC5E531646
+Test: Encrypt
+Comment:    Set 2, vector 116
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000800
+Ciphertext: BC6019EB208B7AF8EFA6AE7B4CA0556B
+Test: Encrypt
+Comment:    Set 2, vector 117
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000400
+Ciphertext: D2915AE2779F8F70E17CE953C6C1A380
+Test: Encrypt
+Comment:    Set 2, vector 118
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000200
+Ciphertext: B2AA4B1ED2285C9DA4088B6E9681C690
+Test: Encrypt
+Comment:    Set 2, vector 119
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000100
+Ciphertext: BE0D64EA88A3FF27C8DFCE13F13A4E1F
+Test: Encrypt
+Comment:    Set 2, vector 120
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000080
+Ciphertext: D7629F1DD395A985AF9497F6ACB4EDA1
+Test: Encrypt
+Comment:    Set 2, vector 121
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000040
+Ciphertext: 33FDF72DA1D8815DE2DBE81D97DDC6F8
+Test: Encrypt
+Comment:    Set 2, vector 122
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000020
+Ciphertext: D35742045F3DF8D184D6CC58EB9DE323
+Test: Encrypt
+Comment:    Set 2, vector 123
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000010
+Ciphertext: DE6469D10C044ED53CFEB523C8DF34A2
+Test: Encrypt
+Comment:    Set 2, vector 124
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000008
+Ciphertext: 2FAEAC3A41CCEABA8140BDA9C7AC7740
+Test: Encrypt
+Comment:    Set 2, vector 125
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000004
+Ciphertext: 7BA6691787BF0C526F3697E2ED659B0D
+Test: Encrypt
+Comment:    Set 2, vector 126
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000002
+Ciphertext: 8F9C0AA2549714C88BB2665E8AF86D41
+Test: Encrypt
+Comment:    Set 2, vector 127
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000001
+Ciphertext: BA9AE89FDDCE4B51131E17C4D65CE587
+Test: Encrypt
+Comment:    Set 3, vector 0
+Key:        000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 56E1E129CA5C02C7F9AC6AFDEF86ADC3
+Test: Encrypt
+Comment:    Set 3, vector 1
+Key:        010101010101010101010101010101010101010101010101
+Plaintext:  01010101010101010101010101010101
+Ciphertext: 8F764397C10BE84BA876CEEFA4225BFF
+Test: Encrypt
+Comment:    Set 3, vector 2
+Key:        020202020202020202020202020202020202020202020202
+Plaintext:  02020202020202020202020202020202
+Ciphertext: 60B00674BFD444D07B5A19851E6151CD
+Test: Encrypt
+Comment:    Set 3, vector 3
+Key:        030303030303030303030303030303030303030303030303
+Plaintext:  03030303030303030303030303030303
+Ciphertext: CF431D70E25D5450B9979C52E4ECF590
+Test: Encrypt
+Comment:    Set 3, vector 4
+Key:        040404040404040404040404040404040404040404040404
+Plaintext:  04040404040404040404040404040404
+Ciphertext: 81B26FF4F6B4377CC555873504B3A38B
+Test: Encrypt
+Comment:    Set 3, vector 5
+Key:        050505050505050505050505050505050505050505050505
+Plaintext:  05050505050505050505050505050505
+Ciphertext: 8C864C445E6B9312E6F3843C53BF7870
+Test: Encrypt
+Comment:    Set 3, vector 6
+Key:        060606060606060606060606060606060606060606060606
+Plaintext:  06060606060606060606060606060606
+Ciphertext: 28C1EABB23C2A04E7A37BB0EF42D45A2
+Test: Encrypt
+Comment:    Set 3, vector 7
+Key:        070707070707070707070707070707070707070707070707
+Plaintext:  07070707070707070707070707070707
+Ciphertext: 0068C08827CBD904A3C0AF89A35CD8E6
+Test: Encrypt
+Comment:    Set 3, vector 8
+Key:        080808080808080808080808080808080808080808080808
+Plaintext:  08080808080808080808080808080808
+Ciphertext: A2AA1C6693DC2B70D75C9B39B9B214D0
+Test: Encrypt
+Comment:    Set 3, vector 9
+Key:        090909090909090909090909090909090909090909090909
+Plaintext:  09090909090909090909090909090909
+Ciphertext: 0423A756A133734C66944536033B978C
+Test: Encrypt
+Comment:    Set 3, vector 10
+Key:        0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A
+Plaintext:  0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A
+Ciphertext: 279B7FA09352F4194B2C33089267BD2E
+Test: Encrypt
+Comment:    Set 3, vector 11
+Key:        0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B
+Plaintext:  0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B
+Ciphertext: 7788EEE46AC2927434A93D3B5D295DF3
+Test: Encrypt
+Comment:    Set 3, vector 12
+Key:        0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
+Plaintext:  0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
+Ciphertext: 3A2D0C1F30AE1E50A61102D2DF5BEAE5
+Test: Encrypt
+Comment:    Set 3, vector 13
+Key:        0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D
+Plaintext:  0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D
+Ciphertext: 320FB708B47319484538CD73F8773526
+Test: Encrypt
+Comment:    Set 3, vector 14
+Key:        0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E
+Plaintext:  0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E
+Ciphertext: 6213EB688C8CDA5152A65BFC007BCAEA
+Test: Encrypt
+Comment:    Set 3, vector 15
+Key:        0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
+Plaintext:  0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
+Ciphertext: D1904ACDB021DDCCCBE436CA7B5A4264
+Test: Encrypt
+Comment:    Set 3, vector 16
+Key:        101010101010101010101010101010101010101010101010
+Plaintext:  10101010101010101010101010101010
+Ciphertext: A907BFDAEEF8C81D05855235E8D3BE08
+Test: Encrypt
+Comment:    Set 3, vector 17
+Key:        111111111111111111111111111111111111111111111111
+Plaintext:  11111111111111111111111111111111
+Ciphertext: DB23D9326A998A4CB06AE04A8C592217
+Test: Encrypt
+Comment:    Set 3, vector 18
+Key:        121212121212121212121212121212121212121212121212
+Plaintext:  12121212121212121212121212121212
+Ciphertext: 472427C234EAE3082E84F493C9559792
+Test: Encrypt
+Comment:    Set 3, vector 19
+Key:        131313131313131313131313131313131313131313131313
+Plaintext:  13131313131313131313131313131313
+Ciphertext: EE4E318D27820F691BD3BDA9617561A0
+Test: Encrypt
+Comment:    Set 3, vector 20
+Key:        141414141414141414141414141414141414141414141414
+Plaintext:  14141414141414141414141414141414
+Ciphertext: 221E909D7B259C098480DBDE71BCF9BF
+Test: Encrypt
+Comment:    Set 3, vector 21
+Key:        151515151515151515151515151515151515151515151515
+Plaintext:  15151515151515151515151515151515
+Ciphertext: 8702C6A150F2DD2E1736F09518C1A267
+Test: Encrypt
+Comment:    Set 3, vector 22
+Key:        161616161616161616161616161616161616161616161616
+Plaintext:  16161616161616161616161616161616
+Ciphertext: 7E8DAEBBA15C7B9705B501998F61CC6E
+Test: Encrypt
+Comment:    Set 3, vector 23
+Key:        171717171717171717171717171717171717171717171717
+Plaintext:  17171717171717171717171717171717
+Ciphertext: 3DD555C7277FA156330D05CD621394D5
+Test: Encrypt
+Comment:    Set 3, vector 24
+Key:        181818181818181818181818181818181818181818181818
+Plaintext:  18181818181818181818181818181818
+Ciphertext: E5575CDC315F1C244441E6D1DE25ED20
+Test: Encrypt
+Comment:    Set 3, vector 25
+Key:        191919191919191919191919191919191919191919191919
+Plaintext:  19191919191919191919191919191919
+Ciphertext: 434859EB42087F83B9849DC23ABB7C1D
+Test: Encrypt
+Comment:    Set 3, vector 26
+Key:        1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
+Plaintext:  1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
+Ciphertext: 1EA1A5CC662DCA0B56B2BBF560A1B032
+Test: Encrypt
+Comment:    Set 3, vector 27
+Key:        1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
+Plaintext:  1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
+Ciphertext: A3AC0CD9342242A72005F8E6DBF50DE8
+Test: Encrypt
+Comment:    Set 3, vector 28
+Key:        1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C
+Plaintext:  1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C
+Ciphertext: AF6251A285EBEA9408315822F2072D86
+Test: Encrypt
+Comment:    Set 3, vector 29
+Key:        1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D
+Plaintext:  1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D
+Ciphertext: FA084220DB82A88E6D7B6E7849550183
+Test: Encrypt
+Comment:    Set 3, vector 30
+Key:        1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E
+Plaintext:  1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E
+Ciphertext: E7AABEAA3F669E0D963A19C3BDE43676
+Test: Encrypt
+Comment:    Set 3, vector 31
+Key:        1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F
+Plaintext:  1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F
+Ciphertext: ED7C11A689A72FF834A777013DBEC50A
+Test: Encrypt
+Comment:    Set 3, vector 32
+Key:        202020202020202020202020202020202020202020202020
+Plaintext:  20202020202020202020202020202020
+Ciphertext: 87F8EA30332036F17CEAC0097CE33BC1
+Test: Encrypt
+Comment:    Set 3, vector 33
+Key:        212121212121212121212121212121212121212121212121
+Plaintext:  21212121212121212121212121212121
+Ciphertext: E83CC178B21703D1BDFA0A1350A587F3
+Test: Encrypt
+Comment:    Set 3, vector 34
+Key:        222222222222222222222222222222222222222222222222
+Plaintext:  22222222222222222222222222222222
+Ciphertext: 581CF260A93B67E27BBA6D6D68C645B6
+Test: Encrypt
+Comment:    Set 3, vector 35
+Key:        232323232323232323232323232323232323232323232323
+Plaintext:  23232323232323232323232323232323
+Ciphertext: D7155FD4BABA5DAA1E0576BAF4BB3BDE
+Test: Encrypt
+Comment:    Set 3, vector 36
+Key:        242424242424242424242424242424242424242424242424
+Plaintext:  24242424242424242424242424242424
+Ciphertext: 0C2382377892DC0CA4B1C7753CDB2753
+Test: Encrypt
+Comment:    Set 3, vector 37
+Key:        252525252525252525252525252525252525252525252525
+Plaintext:  25252525252525252525252525252525
+Ciphertext: 9E568ACFE44E1926BE207D25107EBD90
+Test: Encrypt
+Comment:    Set 3, vector 38
+Key:        262626262626262626262626262626262626262626262626
+Plaintext:  26262626262626262626262626262626
+Ciphertext: 1F9C7FEF0BA7D4C38555B957FA9FDAC8
+Test: Encrypt
+Comment:    Set 3, vector 39
+Key:        272727272727272727272727272727272727272727272727
+Plaintext:  27272727272727272727272727272727
+Ciphertext: 2C00730AAB18247D4F79C8BA0107E759
+Test: Encrypt
+Comment:    Set 3, vector 40
+Key:        282828282828282828282828282828282828282828282828
+Plaintext:  28282828282828282828282828282828
+Ciphertext: 26150BB68C5529903D3624CB8F36D717
+Test: Encrypt
+Comment:    Set 3, vector 41
+Key:        292929292929292929292929292929292929292929292929
+Plaintext:  29292929292929292929292929292929
+Ciphertext: C6F9CD75F9DC3DF5C945E028038660AB
+Test: Encrypt
+Comment:    Set 3, vector 42
+Key:        2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A
+Plaintext:  2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A
+Ciphertext: 9D90F692A1149E3E7F19BE419038F42F
+Test: Encrypt
+Comment:    Set 3, vector 43
+Key:        2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B
+Plaintext:  2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B
+Ciphertext: 9981F6F8C071F4CAF3E25884B8749FD3
+Test: Encrypt
+Comment:    Set 3, vector 44
+Key:        2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C
+Plaintext:  2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C
+Ciphertext: 62957FC449C78B7EABA9C41B335F731E
+Test: Encrypt
+Comment:    Set 3, vector 45
+Key:        2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D
+Plaintext:  2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D
+Ciphertext: 265E17BD08B2E34BC879D5BC801D1217
+Test: Encrypt
+Comment:    Set 3, vector 46
+Key:        2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
+Plaintext:  2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
+Ciphertext: 55BBE8CE99907AC77D4F009EABA6B8D9
+Test: Encrypt
+Comment:    Set 3, vector 47
+Key:        2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F
+Plaintext:  2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F
+Ciphertext: EECB495C2F81243857D0A1A8919F9C7E
+Test: Encrypt
+Comment:    Set 3, vector 48
+Key:        303030303030303030303030303030303030303030303030
+Plaintext:  30303030303030303030303030303030
+Ciphertext: E3BA996DF81895C86E30500CE9F7ED01
+Test: Encrypt
+Comment:    Set 3, vector 49
+Key:        313131313131313131313131313131313131313131313131
+Plaintext:  31313131313131313131313131313131
+Ciphertext: E507914B7CDDB2A3A915EB5663CE43CE
+Test: Encrypt
+Comment:    Set 3, vector 50
+Key:        323232323232323232323232323232323232323232323232
+Plaintext:  32323232323232323232323232323232
+Ciphertext: AA2E53FC2D073DE62554691F507B23FF
+Test: Encrypt
+Comment:    Set 3, vector 51
+Key:        333333333333333333333333333333333333333333333333
+Plaintext:  33333333333333333333333333333333
+Ciphertext: 875707D7E4FA8028D878DFB8338160FF
+Test: Encrypt
+Comment:    Set 3, vector 52
+Key:        343434343434343434343434343434343434343434343434
+Plaintext:  34343434343434343434343434343434
+Ciphertext: 1158285A6787F8B6500E9FB046D88FB7
+Test: Encrypt
+Comment:    Set 3, vector 53
+Key:        353535353535353535353535353535353535353535353535
+Plaintext:  35353535353535353535353535353535
+Ciphertext: 6BFF4FB554ADD3F4321E6BA6029CD48A
+Test: Encrypt
+Comment:    Set 3, vector 54
+Key:        363636363636363636363636363636363636363636363636
+Plaintext:  36363636363636363636363636363636
+Ciphertext: 8F2077CE672419A3AE15CA8800D5ACF8
+Test: Encrypt
+Comment:    Set 3, vector 55
+Key:        373737373737373737373737373737373737373737373737
+Plaintext:  37373737373737373737373737373737
+Ciphertext: 80ECE69E3EEBD391FCAEA8B3B38578D9
+Test: Encrypt
+Comment:    Set 3, vector 56
+Key:        383838383838383838383838383838383838383838383838
+Plaintext:  38383838383838383838383838383838
+Ciphertext: A23A2ADDE21BDB44EF99072331FA8EAB
+Test: Encrypt
+Comment:    Set 3, vector 57
+Key:        393939393939393939393939393939393939393939393939
+Plaintext:  39393939393939393939393939393939
+Ciphertext: 8E41065415264354D4DC276F6ED582B9
+Test: Encrypt
+Comment:    Set 3, vector 58
+Key:        3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A
+Plaintext:  3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A
+Ciphertext: D591D51BA578836C7D3945991FD0184A
+Test: Encrypt
+Comment:    Set 3, vector 59
+Key:        3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B
+Plaintext:  3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B
+Ciphertext: B88105C11F9FFCA9037E1F90FAE1C61E
+Test: Encrypt
+Comment:    Set 3, vector 60
+Key:        3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C
+Plaintext:  3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C
+Ciphertext: F8A1A047994B4363028BC1B3B6339954
+Test: Encrypt
+Comment:    Set 3, vector 61
+Key:        3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D
+Plaintext:  3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D
+Ciphertext: EFB57CEA359E1F9F68729B156BEBDCB8
+Test: Encrypt
+Comment:    Set 3, vector 62
+Key:        3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E
+Plaintext:  3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E
+Ciphertext: 2323D15570873D4E5616CDDC466B1D34
+Test: Encrypt
+Comment:    Set 3, vector 63
+Key:        3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F
+Plaintext:  3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F
+Ciphertext: 842C7B6C67BB38B508558058531B37FE
+Test: Encrypt
+Comment:    Set 3, vector 64
+Key:        404040404040404040404040404040404040404040404040
+Plaintext:  40404040404040404040404040404040
+Ciphertext: A2C32EA499E41A248565253BACC11E3B
+Test: Encrypt
+Comment:    Set 3, vector 65
+Key:        414141414141414141414141414141414141414141414141
+Plaintext:  41414141414141414141414141414141
+Ciphertext: CF72033A0BA3E03A8B1E336F85100489
+Test: Encrypt
+Comment:    Set 3, vector 66
+Key:        424242424242424242424242424242424242424242424242
+Plaintext:  42424242424242424242424242424242
+Ciphertext: 0A194208C1B722A5719C14231EE4C532
+Test: Encrypt
+Comment:    Set 3, vector 67
+Key:        434343434343434343434343434343434343434343434343
+Plaintext:  43434343434343434343434343434343
+Ciphertext: 7365018F7A2564165EC162F948C4824A
+Test: Encrypt
+Comment:    Set 3, vector 68
+Key:        444444444444444444444444444444444444444444444444
+Plaintext:  44444444444444444444444444444444
+Ciphertext: 20AC87CE21C47D99D6D2202B0C62E52D
+Test: Encrypt
+Comment:    Set 3, vector 69
+Key:        454545454545454545454545454545454545454545454545
+Plaintext:  45454545454545454545454545454545
+Ciphertext: 72D32F7C4D03529C7DBF6865E36E7C84
+Test: Encrypt
+Comment:    Set 3, vector 70
+Key:        464646464646464646464646464646464646464646464646
+Plaintext:  46464646464646464646464646464646
+Ciphertext: 18E88EF941A7D1793B8D545323CCBD7E
+Test: Encrypt
+Comment:    Set 3, vector 71
+Key:        474747474747474747474747474747474747474747474747
+Plaintext:  47474747474747474747474747474747
+Ciphertext: C87B12CD28646842FCE0C8658EA8A6C9
+Test: Encrypt
+Comment:    Set 3, vector 72
+Key:        484848484848484848484848484848484848484848484848
+Plaintext:  48484848484848484848484848484848
+Ciphertext: 03347AC4B4D0AE9C208B1B12802E6562
+Test: Encrypt
+Comment:    Set 3, vector 73
+Key:        494949494949494949494949494949494949494949494949
+Plaintext:  49494949494949494949494949494949
+Ciphertext: A5F9E726E53A74C9CF59E7CBBCE507D1
+Test: Encrypt
+Comment:    Set 3, vector 74
+Key:        4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A
+Plaintext:  4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A
+Ciphertext: 228C852461BBB0BB12B3F9192311DFDD
+Test: Encrypt
+Comment:    Set 3, vector 75
+Key:        4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B
+Plaintext:  4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B
+Ciphertext: DFD5B30B1401FBE49EA0C725E64B91A3
+Test: Encrypt
+Comment:    Set 3, vector 76
+Key:        4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C
+Plaintext:  4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C
+Ciphertext: 38D59DD18C98488451070B28F91A15C0
+Test: Encrypt
+Comment:    Set 3, vector 77
+Key:        4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D
+Plaintext:  4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D
+Ciphertext: E6A73709A37C7B00484BD54EED3A6128
+Test: Encrypt
+Comment:    Set 3, vector 78
+Key:        4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
+Plaintext:  4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
+Ciphertext: 12A6AD3ED9A3BA4FBA285B64D4823706
+Test: Encrypt
+Comment:    Set 3, vector 79
+Key:        4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
+Plaintext:  4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
+Ciphertext: CCB3FFAD253207DFB312A8B4FE0F390D
+Test: Encrypt
+Comment:    Set 3, vector 80
+Key:        505050505050505050505050505050505050505050505050
+Plaintext:  50505050505050505050505050505050
+Ciphertext: A1C7DFA83502CE5558242F83CC12BF82
+Test: Encrypt
+Comment:    Set 3, vector 81
+Key:        515151515151515151515151515151515151515151515151
+Plaintext:  51515151515151515151515151515151
+Ciphertext: C9C8FCD1E4E482AF47555FEA823DE62A
+Test: Encrypt
+Comment:    Set 3, vector 82
+Key:        525252525252525252525252525252525252525252525252
+Plaintext:  52525252525252525252525252525252
+Ciphertext: 5F9DD3265B6B043BF4CE8E11A3DAE4E1
+Test: Encrypt
+Comment:    Set 3, vector 83
+Key:        535353535353535353535353535353535353535353535353
+Plaintext:  53535353535353535353535353535353
+Ciphertext: 79D02BFAD35C67C8586694A068662F1D
+Test: Encrypt
+Comment:    Set 3, vector 84
+Key:        545454545454545454545454545454545454545454545454
+Plaintext:  54545454545454545454545454545454
+Ciphertext: 361AC03A4827F590A5DDE28A5FFF723A
+Test: Encrypt
+Comment:    Set 3, vector 85
+Key:        555555555555555555555555555555555555555555555555
+Plaintext:  55555555555555555555555555555555
+Ciphertext: 1758AC2E8DDE2126621AEB5759FC93D0
+Test: Encrypt
+Comment:    Set 3, vector 86
+Key:        565656565656565656565656565656565656565656565656
+Plaintext:  56565656565656565656565656565656
+Ciphertext: 14422A052A86DC0033B70F77D46A7E3C
+Test: Encrypt
+Comment:    Set 3, vector 87
+Key:        575757575757575757575757575757575757575757575757
+Plaintext:  57575757575757575757575757575757
+Ciphertext: 154457A732BC11F0A4C43BEC607B9B91
+Test: Encrypt
+Comment:    Set 3, vector 88
+Key:        585858585858585858585858585858585858585858585858
+Plaintext:  58585858585858585858585858585858
+Ciphertext: 789BBC53CBE8A7D6119F61C8DC5DAEAB
+Test: Encrypt
+Comment:    Set 3, vector 89
+Key:        595959595959595959595959595959595959595959595959
+Plaintext:  59595959595959595959595959595959
+Ciphertext: 6F8CDA92BF849BE59858544689DA2ACE
+Test: Encrypt
+Comment:    Set 3, vector 90
+Key:        5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
+Plaintext:  5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
+Ciphertext: CCA696D494AF8877C0753106D5AD07A6
+Test: Encrypt
+Comment:    Set 3, vector 91
+Key:        5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B
+Plaintext:  5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B
+Ciphertext: E76884CA9F00DCF95BBB15C5FBB26D1C
+Test: Encrypt
+Comment:    Set 3, vector 92
+Key:        5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C
+Plaintext:  5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C
+Ciphertext: CD3FA7BC9EC9EC0B0CF4F5A82A98550E
+Test: Encrypt
+Comment:    Set 3, vector 93
+Key:        5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
+Plaintext:  5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
+Ciphertext: BC2FB535DC0D8C86682E32AC3761F299
+Test: Encrypt
+Comment:    Set 3, vector 94
+Key:        5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
+Plaintext:  5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
+Ciphertext: AB19152E1788D8B2878357484832BB27
+Test: Encrypt
+Comment:    Set 3, vector 95
+Key:        5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F
+Plaintext:  5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F
+Ciphertext: 87D1D7E297CED2C6606A171794FE1BB2
+Test: Encrypt
+Comment:    Set 3, vector 96
+Key:        606060606060606060606060606060606060606060606060
+Plaintext:  60606060606060606060606060606060
+Ciphertext: 6BF6F1728474F1050F712A0FF3F59319
+Test: Encrypt
+Comment:    Set 3, vector 97
+Key:        616161616161616161616161616161616161616161616161
+Plaintext:  61616161616161616161616161616161
+Ciphertext: 46646FF0ED8A8EDB395BA4B3DC97A35F
+Test: Encrypt
+Comment:    Set 3, vector 98
+Key:        626262626262626262626262626262626262626262626262
+Plaintext:  62626262626262626262626262626262
+Ciphertext: F558C5F67CDF59374F5426D5846A622E
+Test: Encrypt
+Comment:    Set 3, vector 99
+Key:        636363636363636363636363636363636363636363636363
+Plaintext:  63636363636363636363636363636363
+Ciphertext: E06CC0A3436C80F5F0271ACFC8F535D3
+Test: Encrypt
+Comment:    Set 3, vector 100
+Key:        646464646464646464646464646464646464646464646464
+Plaintext:  64646464646464646464646464646464
+Ciphertext: 903AA2EA9F99C3CCDD1EF1CD906FC800
+Test: Encrypt
+Comment:    Set 3, vector 101
+Key:        656565656565656565656565656565656565656565656565
+Plaintext:  65656565656565656565656565656565
+Ciphertext: EAE1010E86CF45476CEB180E78608841
+Test: Encrypt
+Comment:    Set 3, vector 102
+Key:        666666666666666666666666666666666666666666666666
+Plaintext:  66666666666666666666666666666666
+Ciphertext: 341F33B7FB7C5807BFB4C2C497565817
+Test: Encrypt
+Comment:    Set 3, vector 103
+Key:        676767676767676767676767676767676767676767676767
+Plaintext:  67676767676767676767676767676767
+Ciphertext: 4DA345AB1B3F7575F8D01BED5C17AF26
+Test: Encrypt
+Comment:    Set 3, vector 104
+Key:        686868686868686868686868686868686868686868686868
+Plaintext:  68686868686868686868686868686868
+Ciphertext: 1613C2DE21E7082312BF414C88310FAB
+Test: Encrypt
+Comment:    Set 3, vector 105
+Key:        696969696969696969696969696969696969696969696969
+Plaintext:  69696969696969696969696969696969
+Ciphertext: 474D73001BD4BF9A9B79CFF79198E2F3
+Test: Encrypt
+Comment:    Set 3, vector 106
+Key:        6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A
+Plaintext:  6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A
+Ciphertext: 9C487E0BFB6FE07C521C663D03F175CF
+Test: Encrypt
+Comment:    Set 3, vector 107
+Key:        6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B
+Plaintext:  6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B
+Ciphertext: 39F5672BEFCFCC072F292D47AD481DC7
+Test: Encrypt
+Comment:    Set 3, vector 108
+Key:        6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C
+Plaintext:  6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C
+Ciphertext: D9B86F02C3CB07CEF53834924A01DF14
+Test: Encrypt
+Comment:    Set 3, vector 109
+Key:        6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
+Plaintext:  6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
+Ciphertext: B42C9F4A33C5425FB20425889ECFFB9D
+Test: Encrypt
+Comment:    Set 3, vector 110
+Key:        6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E
+Plaintext:  6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E
+Ciphertext: 832D535E3B4C40113C82AE10A7E1B78A
+Test: Encrypt
+Comment:    Set 3, vector 111
+Key:        6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F
+Plaintext:  6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F
+Ciphertext: E9A8F63AAF1B1FFF05CFEB7E22E519DF
+Test: Encrypt
+Comment:    Set 3, vector 112
+Key:        707070707070707070707070707070707070707070707070
+Plaintext:  70707070707070707070707070707070
+Ciphertext: C61B4EF13F07576701B1018AC9F01863
+Test: Encrypt
+Comment:    Set 3, vector 113
+Key:        717171717171717171717171717171717171717171717171
+Plaintext:  71717171717171717171717171717171
+Ciphertext: B098DBE07C3528931F14D40AC9F99ACC
+Test: Encrypt
+Comment:    Set 3, vector 114
+Key:        727272727272727272727272727272727272727272727272
+Plaintext:  72727272727272727272727272727272
+Ciphertext: 3FCC0182E96BC01863EB161967D6482A
+Test: Encrypt
+Comment:    Set 3, vector 115
+Key:        737373737373737373737373737373737373737373737373
+Plaintext:  73737373737373737373737373737373
+Ciphertext: D8F20E80F4AC4666066B0E3F1966C8DA
+Test: Encrypt
+Comment:    Set 3, vector 116
+Key:        747474747474747474747474747474747474747474747474
+Plaintext:  74747474747474747474747474747474
+Ciphertext: 4E96D8CC1A34E3C38C37B5339CF26A5D
+Test: Encrypt
+Comment:    Set 3, vector 117
+Key:        757575757575757575757575757575757575757575757575
+Plaintext:  75757575757575757575757575757575
+Ciphertext: 266EDB14B89857636C0F8E8C7D2FACD8
+Test: Encrypt
+Comment:    Set 3, vector 118
+Key:        767676767676767676767676767676767676767676767676
+Plaintext:  76767676767676767676767676767676
+Ciphertext: 1D060BD61CFA82764CE4DF283FCB2278
+Test: Encrypt
+Comment:    Set 3, vector 119
+Key:        777777777777777777777777777777777777777777777777
+Plaintext:  77777777777777777777777777777777
+Ciphertext: 4734355A933BFC1F2918CDF1A4E2BAAE
+Test: Encrypt
+Comment:    Set 3, vector 120
+Key:        787878787878787878787878787878787878787878787878
+Plaintext:  78787878787878787878787878787878
+Ciphertext: DADBACBB42FEB35635A8DEBBFA93F5BA
+Test: Encrypt
+Comment:    Set 3, vector 121
+Key:        797979797979797979797979797979797979797979797979
+Plaintext:  79797979797979797979797979797979
+Ciphertext: 8BB5C2E0B44B986EF523870C41721B7D
+Test: Encrypt
+Comment:    Set 3, vector 122
+Key:        7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A
+Plaintext:  7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A
+Ciphertext: F66844E5DC500F43FF95E05965BAFD63
+Test: Encrypt
+Comment:    Set 3, vector 123
+Key:        7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B
+Plaintext:  7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B
+Ciphertext: ECC75A2BE7E27481907621A1796DC821
+Test: Encrypt
+Comment:    Set 3, vector 124
+Key:        7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C
+Plaintext:  7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C
+Ciphertext: D195666137F49B67F80EBC8C3ED824BF
+Test: Encrypt
+Comment:    Set 3, vector 125
+Key:        7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D
+Plaintext:  7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D
+Ciphertext: 2F1ACC482BE5DEFD3EC1AD1F3A064A60
+Test: Encrypt
+Comment:    Set 3, vector 126
+Key:        7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E
+Plaintext:  7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E
+Ciphertext: 5FDDFA05A7F72D294DC386260DC59009
+Test: Encrypt
+Comment:    Set 3, vector 127
+Key:        7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F
+Plaintext:  7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F
+Ciphertext: FE94D733BABEB5A5382C2816311E515E
+Test: Encrypt
+Comment:    Set 3, vector 128
+Key:        808080808080808080808080808080808080808080808080
+Plaintext:  80808080808080808080808080808080
+Ciphertext: F602BA7F515B082983B8F7A27F92408F
+Test: Encrypt
+Comment:    Set 3, vector 129
+Key:        818181818181818181818181818181818181818181818181
+Plaintext:  81818181818181818181818181818181
+Ciphertext: 48E95062B889D83CC72767E303329710
+Test: Encrypt
+Comment:    Set 3, vector 130
+Key:        828282828282828282828282828282828282828282828282
+Plaintext:  82828282828282828282828282828282
+Ciphertext: 0D98319B8ED1E612F063591AAFA95962
+Test: Encrypt
+Comment:    Set 3, vector 131
+Key:        838383838383838383838383838383838383838383838383
+Plaintext:  83838383838383838383838383838383
+Ciphertext: 6D987B21F8072C09514C711819BDF42D
+Test: Encrypt
+Comment:    Set 3, vector 132
+Key:        848484848484848484848484848484848484848484848484
+Plaintext:  84848484848484848484848484848484
+Ciphertext: 56C6CA23BC6A52C9967D70C6471A0788
+Test: Encrypt
+Comment:    Set 3, vector 133
+Key:        858585858585858585858585858585858585858585858585
+Plaintext:  85858585858585858585858585858585
+Ciphertext: 03C1004551B9B74D96CC3F9F7D11B04A
+Test: Encrypt
+Comment:    Set 3, vector 134
+Key:        868686868686868686868686868686868686868686868686
+Plaintext:  86868686868686868686868686868686
+Ciphertext: 6356481250E8D52A0D922985BB2BED27
+Test: Encrypt
+Comment:    Set 3, vector 135
+Key:        878787878787878787878787878787878787878787878787
+Plaintext:  87878787878787878787878787878787
+Ciphertext: BC51A66892A956F44BF75168E935720E
+Test: Encrypt
+Comment:    Set 3, vector 136
+Key:        888888888888888888888888888888888888888888888888
+Plaintext:  88888888888888888888888888888888
+Ciphertext: 73FAAAFB0517BD4D459A250E2CA4F017
+Test: Encrypt
+Comment:    Set 3, vector 137
+Key:        898989898989898989898989898989898989898989898989
+Plaintext:  89898989898989898989898989898989
+Ciphertext: 160C7D6510CCEB35318629FFFE1E8BA7
+Test: Encrypt
+Comment:    Set 3, vector 138
+Key:        8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+Plaintext:  8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
+Ciphertext: 785ECC6F1A9415EBB05A4990786865A5
+Test: Encrypt
+Comment:    Set 3, vector 139
+Key:        8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B
+Plaintext:  8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B
+Ciphertext: 210498B4AC4D909CC7D6DAD6B8851C1A
+Test: Encrypt
+Comment:    Set 3, vector 140
+Key:        8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C
+Plaintext:  8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C
+Ciphertext: 7094C31A06ED2AA0B3B63C210DEB96E2
+Test: Encrypt
+Comment:    Set 3, vector 141
+Key:        8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D
+Plaintext:  8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D
+Ciphertext: F8426DAE3B7C3FF568456EB4D4EB623B
+Test: Encrypt
+Comment:    Set 3, vector 142
+Key:        8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E
+Plaintext:  8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E
+Ciphertext: 090487421369DED8EAC9812B544A29BE
+Test: Encrypt
+Comment:    Set 3, vector 143
+Key:        8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
+Plaintext:  8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
+Ciphertext: 1AFA1FC5ECA8EAD74F9FE9B67993CB6F
+Test: Encrypt
+Comment:    Set 3, vector 144
+Key:        909090909090909090909090909090909090909090909090
+Plaintext:  90909090909090909090909090909090
+Ciphertext: 38124FCE77189341DE7B225951CDE6E9
+Test: Encrypt
+Comment:    Set 3, vector 145
+Key:        919191919191919191919191919191919191919191919191
+Plaintext:  91919191919191919191919191919191
+Ciphertext: 059A775350A44BB880A750B32B19E179
+Test: Encrypt
+Comment:    Set 3, vector 146
+Key:        929292929292929292929292929292929292929292929292
+Plaintext:  92929292929292929292929292929292
+Ciphertext: 7CFA631E8BABF7DEE00DAB0754C385DD
+Test: Encrypt
+Comment:    Set 3, vector 147
+Key:        939393939393939393939393939393939393939393939393
+Plaintext:  93939393939393939393939393939393
+Ciphertext: 0632ED71BA440232DECE4F1B38F94323
+Test: Encrypt
+Comment:    Set 3, vector 148
+Key:        949494949494949494949494949494949494949494949494
+Plaintext:  94949494949494949494949494949494
+Ciphertext: D049FF03ACF47C866A4209E7588E0CFA
+Test: Encrypt
+Comment:    Set 3, vector 149
+Key:        959595959595959595959595959595959595959595959595
+Plaintext:  95959595959595959595959595959595
+Ciphertext: 910408E331C64A71D50A149DFD50C242
+Test: Encrypt
+Comment:    Set 3, vector 150
+Key:        969696969696969696969696969696969696969696969696
+Plaintext:  96969696969696969696969696969696
+Ciphertext: 0829C2DD4AF8F06C30978A0199A43C3C
+Test: Encrypt
+Comment:    Set 3, vector 151
+Key:        979797979797979797979797979797979797979797979797
+Plaintext:  97979797979797979797979797979797
+Ciphertext: C70D286C18D2A0EA5D16FEB97F35DE6F
+Test: Encrypt
+Comment:    Set 3, vector 152
+Key:        989898989898989898989898989898989898989898989898
+Plaintext:  98989898989898989898989898989898
+Ciphertext: A220CD3CD177BDD73D44B6D4A7A9ED0E
+Test: Encrypt
+Comment:    Set 3, vector 153
+Key:        999999999999999999999999999999999999999999999999
+Plaintext:  99999999999999999999999999999999
+Ciphertext: 74EC1A68010A0D5FA9688F1552E70EF5
+Test: Encrypt
+Comment:    Set 3, vector 154
+Key:        9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+Plaintext:  9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A
+Ciphertext: C1C0EE9EEA079CCE8544BA9940963720
+Test: Encrypt
+Comment:    Set 3, vector 155
+Key:        9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+Plaintext:  9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B
+Ciphertext: 500418F7142C273CCADBDAD8831619D2
+Test: Encrypt
+Comment:    Set 3, vector 156
+Key:        9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
+Plaintext:  9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
+Ciphertext: 703A0223D3ABA658C531F9BE03F6E842
+Test: Encrypt
+Comment:    Set 3, vector 157
+Key:        9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+Plaintext:  9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D
+Ciphertext: EBC65558CD43197D87CFF645FDBA1661
+Test: Encrypt
+Comment:    Set 3, vector 158
+Key:        9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+Plaintext:  9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
+Ciphertext: 6F6E140E44934DA754F008EB5597BDA3
+Test: Encrypt
+Comment:    Set 3, vector 159
+Key:        9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+Plaintext:  9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
+Ciphertext: 3D533A98B85CDD624541956E348ACBD3
+Test: Encrypt
+Comment:    Set 3, vector 160
+Key:        A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+Plaintext:  A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0
+Ciphertext: 13833D60F1D247019258C457E9F2292A
+Test: Encrypt
+Comment:    Set 3, vector 161
+Key:        A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+Plaintext:  A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1
+Ciphertext: FC13CECE4F5E2467427582595EDB6B87
+Test: Encrypt
+Comment:    Set 3, vector 162
+Key:        A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+Plaintext:  A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+Ciphertext: 2772A4E636F01514949D47B037825AF9
+Test: Encrypt
+Comment:    Set 3, vector 163
+Key:        A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+Plaintext:  A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3
+Ciphertext: F13DC1CCF105212AF8BC4F73F0AEF272
+Test: Encrypt
+Comment:    Set 3, vector 164
+Key:        A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+Plaintext:  A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4
+Ciphertext: A6EB0CABBBA03DB1B2425E6FC559B06A
+Test: Encrypt
+Comment:    Set 3, vector 165
+Key:        A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+Plaintext:  A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5
+Ciphertext: 32222D875D9E73DE72848EA88AC9B259
+Test: Encrypt
+Comment:    Set 3, vector 166
+Key:        A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
+Plaintext:  A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
+Ciphertext: 7DA6BC64D1E71FFE2D24C1A2FF7405BF
+Test: Encrypt
+Comment:    Set 3, vector 167
+Key:        A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7
+Plaintext:  A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7
+Ciphertext: AD5129092054880300AFCF09A2921DAF
+Test: Encrypt
+Comment:    Set 3, vector 168
+Key:        A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
+Plaintext:  A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8
+Ciphertext: FCF2E0AA207754597C8C00A4615B5B5B
+Test: Encrypt
+Comment:    Set 3, vector 169
+Key:        A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
+Plaintext:  A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9
+Ciphertext: 83D1475128C93C79BFE2AC9DA7E5D7BC
+Test: Encrypt
+Comment:    Set 3, vector 170
+Key:        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+Plaintext:  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+Ciphertext: 9BA09846E13568B746B7D6A43364915F
+Test: Encrypt
+Comment:    Set 3, vector 171
+Key:        ABABABABABABABABABABABABABABABABABABABABABABABAB
+Plaintext:  ABABABABABABABABABABABABABABABAB
+Ciphertext: 387BDB77D285F9E59CB88CD830CB31E2
+Test: Encrypt
+Comment:    Set 3, vector 172
+Key:        ACACACACACACACACACACACACACACACACACACACACACACACAC
+Plaintext:  ACACACACACACACACACACACACACACACAC
+Ciphertext: 82BFCC439310DD5DC411CCD4451E789B
+Test: Encrypt
+Comment:    Set 3, vector 173
+Key:        ADADADADADADADADADADADADADADADADADADADADADADADAD
+Plaintext:  ADADADADADADADADADADADADADADADAD
+Ciphertext: 34C4240853DA191DF1D63E83401CE0E2
+Test: Encrypt
+Comment:    Set 3, vector 174
+Key:        AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE
+Plaintext:  AEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE
+Ciphertext: B3CE3C38C10A667F5FD67BC8B7037283
+Test: Encrypt
+Comment:    Set 3, vector 175
+Key:        AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF
+Plaintext:  AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF
+Ciphertext: BEF04E726DC1D5D1D4AB0A025CFDFD7D
+Test: Encrypt
+Comment:    Set 3, vector 176
+Key:        B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0
+Plaintext:  B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0
+Ciphertext: 725D70D564E78095739EA7980B481056
+Test: Encrypt
+Comment:    Set 3, vector 177
+Key:        B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1
+Plaintext:  B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1
+Ciphertext: CAB9293C9E3A82D40E85558F9DA488C1
+Test: Encrypt
+Comment:    Set 3, vector 178
+Key:        B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2
+Plaintext:  B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2
+Ciphertext: B433CACA5FF9F5AADB6BAFB7D4BE81FC
+Test: Encrypt
+Comment:    Set 3, vector 179
+Key:        B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
+Plaintext:  B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3
+Ciphertext: 3910F153098B638696101E04022A7849
+Test: Encrypt
+Comment:    Set 3, vector 180
+Key:        B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+Plaintext:  B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+Ciphertext: 1D7FF785CFC6AF98C5C81CDA2ABC9816
+Test: Encrypt
+Comment:    Set 3, vector 181
+Key:        B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5
+Plaintext:  B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5
+Ciphertext: 4A30C5521BAC28E5942808CB536376C7
+Test: Encrypt
+Comment:    Set 3, vector 182
+Key:        B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6
+Plaintext:  B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6
+Ciphertext: 17B908EF18EB7703DDB667C7A8DBA777
+Test: Encrypt
+Comment:    Set 3, vector 183
+Key:        B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7
+Plaintext:  B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7
+Ciphertext: 3222E0228F29C9F27467CB7047838E39
+Test: Encrypt
+Comment:    Set 3, vector 184
+Key:        B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
+Plaintext:  B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
+Ciphertext: E422497D1FD54DF8F9CEE11548D77303
+Test: Encrypt
+Comment:    Set 3, vector 185
+Key:        B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9
+Plaintext:  B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9
+Ciphertext: B26A00606A375B1A64B7F0C333D81A50
+Test: Encrypt
+Comment:    Set 3, vector 186
+Key:        BABABABABABABABABABABABABABABABABABABABABABABABA
+Plaintext:  BABABABABABABABABABABABABABABABA
+Ciphertext: D5032B06E290F6B76327E47E519F8F6D
+Test: Encrypt
+Comment:    Set 3, vector 187
+Key:        BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+Plaintext:  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+Ciphertext: 2CED7355B82DF3B88C4417149FFA1783
+Test: Encrypt
+Comment:    Set 3, vector 188
+Key:        BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
+Plaintext:  BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
+Ciphertext: FC7B4D95C62CA6D33862D56768EA9A1A
+Test: Encrypt
+Comment:    Set 3, vector 189
+Key:        BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+Plaintext:  BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+Ciphertext: 375A9C1E1FCFA6F2369306D966F82156
+Test: Encrypt
+Comment:    Set 3, vector 190
+Key:        BEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
+Plaintext:  BEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE
+Ciphertext: BA4C218D8691D5D9CE15ECCC75C75D8B
+Test: Encrypt
+Comment:    Set 3, vector 191
+Key:        BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF
+Plaintext:  BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF
+Ciphertext: 4D5C53279B76A6F74195C65F09DF85D9
+Test: Encrypt
+Comment:    Set 3, vector 192
+Key:        C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
+Plaintext:  C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
+Ciphertext: 75CF5E6B3B0BFFF2290A5E58A85CF994
+Test: Encrypt
+Comment:    Set 3, vector 193
+Key:        C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
+Plaintext:  C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
+Ciphertext: 3482A5C83234E75CB443E09BA17EE3A0
+Test: Encrypt
+Comment:    Set 3, vector 194
+Key:        C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2
+Plaintext:  C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2
+Ciphertext: DA592D849C1BFBBEF5C3D0D8DA0F4B9A
+Test: Encrypt
+Comment:    Set 3, vector 195
+Key:        C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3
+Plaintext:  C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3
+Ciphertext: 6656047376A76ED53FFF8C5DE1B6F886
+Test: Encrypt
+Comment:    Set 3, vector 196
+Key:        C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4
+Plaintext:  C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4
+Ciphertext: F86FD06864804515B17B453F8A42A44D
+Test: Encrypt
+Comment:    Set 3, vector 197
+Key:        C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5
+Plaintext:  C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5
+Ciphertext: E57CD8E81BBF5B42446A7880B32A9A2F
+Test: Encrypt
+Comment:    Set 3, vector 198
+Key:        C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+Plaintext:  C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+Ciphertext: A17219F7DEFF2985BDFADD62A6854947
+Test: Encrypt
+Comment:    Set 3, vector 199
+Key:        C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7
+Plaintext:  C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7
+Ciphertext: FF288A92FB408DA875531D163CE0105A
+Test: Encrypt
+Comment:    Set 3, vector 200
+Key:        C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8
+Plaintext:  C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8
+Ciphertext: 11828CD066FD12620DFA16358CF1A705
+Test: Encrypt
+Comment:    Set 3, vector 201
+Key:        C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9
+Plaintext:  C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9
+Ciphertext: 6FA5DCBD14D2520E7F8147EDBEBBEAEE
+Test: Encrypt
+Comment:    Set 3, vector 202
+Key:        CACACACACACACACACACACACACACACACACACACACACACACACA
+Plaintext:  CACACACACACACACACACACACACACACACA
+Ciphertext: F365CE3849AFB23AF3B62D7CFF80B19B
+Test: Encrypt
+Comment:    Set 3, vector 203
+Key:        CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB
+Plaintext:  CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB
+Ciphertext: 74BE047CAAE10D095B3BDA14016EA262
+Test: Encrypt
+Comment:    Set 3, vector 204
+Key:        CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+Plaintext:  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+Ciphertext: DC7A7D66AD1ABF1C7AA28891BE685AB5
+Test: Encrypt
+Comment:    Set 3, vector 205
+Key:        CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD
+Plaintext:  CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD
+Ciphertext: 8BED9C5BAD5C4A4AFB41CDFD7E88BB97
+Test: Encrypt
+Comment:    Set 3, vector 206
+Key:        CECECECECECECECECECECECECECECECECECECECECECECECE
+Plaintext:  CECECECECECECECECECECECECECECECE
+Ciphertext: 915FF93DC6A3984F11AB60BD2AA3DC61
+Test: Encrypt
+Comment:    Set 3, vector 207
+Key:        CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+Plaintext:  CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+Ciphertext: 43DFEEBBFB3692763752E6EA8931A9B8
+Test: Encrypt
+Comment:    Set 3, vector 208
+Key:        D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0
+Plaintext:  D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0
+Ciphertext: 2BB966115263DF2296C5D23E02D9C335
+Test: Encrypt
+Comment:    Set 3, vector 209
+Key:        D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1
+Plaintext:  D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1
+Ciphertext: FCCA1E3616236F0D5A1A9D035A35049D
+Test: Encrypt
+Comment:    Set 3, vector 210
+Key:        D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2
+Plaintext:  D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2
+Ciphertext: 2E7246518C923B2AE23C61C99D7E6CE7
+Test: Encrypt
+Comment:    Set 3, vector 211
+Key:        D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3
+Plaintext:  D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3
+Ciphertext: 8D19232494905BAF83F4230395C8E09B
+Test: Encrypt
+Comment:    Set 3, vector 212
+Key:        D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4
+Plaintext:  D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4
+Ciphertext: 6BC0BBCC76A7F8DF2A03BAB1CDE47FB6
+Test: Encrypt
+Comment:    Set 3, vector 213
+Key:        D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5
+Plaintext:  D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5
+Ciphertext: BD3D30B62DC0B0FEED0CC760879DB806
+Test: Encrypt
+Comment:    Set 3, vector 214
+Key:        D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6
+Plaintext:  D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6
+Ciphertext: 647388D8E6A9C8D09828041F4E338D47
+Test: Encrypt
+Comment:    Set 3, vector 215
+Key:        D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
+Plaintext:  D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
+Ciphertext: 4861CFC3FDDC434F2742E45B97FBB270
+Test: Encrypt
+Comment:    Set 3, vector 216
+Key:        D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8
+Plaintext:  D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8
+Ciphertext: 4426BC1C3990A5DE10760D0C10A3BB9A
+Test: Encrypt
+Comment:    Set 3, vector 217
+Key:        D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9
+Plaintext:  D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9
+Ciphertext: 805211D0BD914F07AB1579EF9E3827EE
+Test: Encrypt
+Comment:    Set 3, vector 218
+Key:        DADADADADADADADADADADADADADADADADADADADADADADADA
+Plaintext:  DADADADADADADADADADADADADADADADA
+Ciphertext: 519DB5AA8DA219224EDA77F77B96C135
+Test: Encrypt
+Comment:    Set 3, vector 219
+Key:        DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB
+Plaintext:  DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB
+Ciphertext: 7A96F769BF260E6D91A070BA7766D3E3
+Test: Encrypt
+Comment:    Set 3, vector 220
+Key:        DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+Plaintext:  DCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC
+Ciphertext: 902222F1779476A44CEEDACEDA72B3EC
+Test: Encrypt
+Comment:    Set 3, vector 221
+Key:        DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+Plaintext:  DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+Ciphertext: 99859E56FE0DAB67CDE755E4790ED51D
+Test: Encrypt
+Comment:    Set 3, vector 222
+Key:        DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
+Plaintext:  DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE
+Ciphertext: C2F4EE121941873763F302ECE6D8DF9E
+Test: Encrypt
+Comment:    Set 3, vector 223
+Key:        DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF
+Plaintext:  DFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF
+Ciphertext: FE1E93DBF071E2280130E169C9E5254A
+Test: Encrypt
+Comment:    Set 3, vector 224
+Key:        E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0
+Plaintext:  E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0
+Ciphertext: 58F45B5E30D9DE7038EC405B601521AB
+Test: Encrypt
+Comment:    Set 3, vector 225
+Key:        E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
+Plaintext:  E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
+Ciphertext: 8783BD662F65899EF61E113B7CC6505D
+Test: Encrypt
+Comment:    Set 3, vector 226
+Key:        E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2
+Plaintext:  E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2
+Ciphertext: A3F6BBB2C3403F433203E0E18DB3E4C0
+Test: Encrypt
+Comment:    Set 3, vector 227
+Key:        E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3
+Plaintext:  E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3
+Ciphertext: D3EE663795362A0D2E7A8DB784F95A33
+Test: Encrypt
+Comment:    Set 3, vector 228
+Key:        E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4
+Plaintext:  E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4
+Ciphertext: 1B75895E7FCEEEA5ECA62E14F77ECF6A
+Test: Encrypt
+Comment:    Set 3, vector 229
+Key:        E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+Plaintext:  E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5
+Ciphertext: 5040525E4F3B78D2036539C1C463A48B
+Test: Encrypt
+Comment:    Set 3, vector 230
+Key:        E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6
+Plaintext:  E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6
+Ciphertext: A48E63494241AEACB0EF7B18A431E50D
+Test: Encrypt
+Comment:    Set 3, vector 231
+Key:        E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7
+Plaintext:  E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7
+Ciphertext: 9DAF4DBBBC81465BC4270129C522ABCB
+Test: Encrypt
+Comment:    Set 3, vector 232
+Key:        E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8
+Plaintext:  E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8
+Ciphertext: 20B118C870AF1A85C683C60A31ED24E4
+Test: Encrypt
+Comment:    Set 3, vector 233
+Key:        E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
+Plaintext:  E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9
+Ciphertext: 52FF30830000A72FA2CB030539550F06
+Test: Encrypt
+Comment:    Set 3, vector 234
+Key:        EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+Plaintext:  EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+Ciphertext: 797ED3DB1B9A4BF4122EA0FF667BC36D
+Test: Encrypt
+Comment:    Set 3, vector 235
+Key:        EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB
+Plaintext:  EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB
+Ciphertext: 708CE40FC810F5E84B6EE8FC2E0A46FA
+Test: Encrypt
+Comment:    Set 3, vector 236
+Key:        ECECECECECECECECECECECECECECECECECECECECECECECEC
+Plaintext:  ECECECECECECECECECECECECECECECEC
+Ciphertext: 0BA7446B1D3D803BB80CDE94E096E79C
+Test: Encrypt
+Comment:    Set 3, vector 237
+Key:        EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
+Plaintext:  EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
+Ciphertext: 6B0E95AED4DC9E923EDF3DDD5BAEEA0C
+Test: Encrypt
+Comment:    Set 3, vector 238
+Key:        EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+Plaintext:  EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+Ciphertext: DE45D435FD6F8A240AD8DCE5A4BD8CC3
+Test: Encrypt
+Comment:    Set 3, vector 239
+Key:        EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
+Plaintext:  EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF
+Ciphertext: 8823002161D635ADA686D85B087F3022
+Test: Encrypt
+Comment:    Set 3, vector 240
+Key:        F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
+Plaintext:  F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
+Ciphertext: C00F367B98CC819F5F6ADADEA8513DD8
+Test: Encrypt
+Comment:    Set 3, vector 241
+Key:        F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
+Plaintext:  F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1
+Ciphertext: 9C25269FB7FA889FBD9E55AAD4C92DE0
+Test: Encrypt
+Comment:    Set 3, vector 242
+Key:        F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
+Plaintext:  F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2
+Ciphertext: 5DD1D60A62B551FFA18CFF8263C5FCE4
+Test: Encrypt
+Comment:    Set 3, vector 243
+Key:        F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
+Plaintext:  F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
+Ciphertext: D183A9113393C1EEC7170331C65D2547
+Test: Encrypt
+Comment:    Set 3, vector 244
+Key:        F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4
+Plaintext:  F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4
+Ciphertext: FADF9E4AF6C1D7A6965D5DBA03194F18
+Test: Encrypt
+Comment:    Set 3, vector 245
+Key:        F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5
+Plaintext:  F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5
+Ciphertext: F2E9E5BE04D7B47B93D2B81DBCDA8BF3
+Test: Encrypt
+Comment:    Set 3, vector 246
+Key:        F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6
+Plaintext:  F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6
+Ciphertext: 7A04D513A59636ECA8A8608F10F21910
+Test: Encrypt
+Comment:    Set 3, vector 247
+Key:        F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7
+Plaintext:  F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7
+Ciphertext: 659552FCEF0E90F77050CF3902A22475
+Test: Encrypt
+Comment:    Set 3, vector 248
+Key:        F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
+Plaintext:  F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
+Ciphertext: F81709C989061D4439BDD47E71DBB457
+Test: Encrypt
+Comment:    Set 3, vector 249
+Key:        F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
+Plaintext:  F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
+Ciphertext: E05425C950E298F31FC6751375B48B66
+Test: Encrypt
+Comment:    Set 3, vector 250
+Key:        FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA
+Plaintext:  FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA
+Ciphertext: 6E90B365BEBAFA5C49DC4D6AB1593F94
+Test: Encrypt
+Comment:    Set 3, vector 251
+Key:        FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB
+Plaintext:  FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB
+Ciphertext: B2469C08D0F878579E162E8ACC5EF802
+Test: Encrypt
+Comment:    Set 3, vector 252
+Key:        FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+Plaintext:  FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+Ciphertext: C1DCAB694C7FDBEC88C6FC2597EAC180
+Test: Encrypt
+Comment:    Set 3, vector 253
+Key:        FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+Plaintext:  FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
+Ciphertext: 6651FFBD3C30A496D072493A519D44D9
+Test: Encrypt
+Comment:    Set 3, vector 254
+Key:        FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+Plaintext:  FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
+Ciphertext: A2F5A98929658AF4A9700B9923DAF014
+Test: Encrypt
+Comment:    Set 3, vector 255
+Key:        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+Plaintext:  FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+Ciphertext: 3F8D5676F51CE23DC3BDB627F8B3883E
+Test: Encrypt
+Comment: Tests with 256-bit keys
+Comment:    Set 1, vector 0
+Key:        8000000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 2136FABDA091DFB5171B94B8EFBB5D08
+Test: Encrypt
+Comment:    Set 1, vector 1
+Key:        4000000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6EBC4F33B3EADA5DBF25130F3D02CD34
+Test: Encrypt
+Comment:    Set 1, vector 2
+Key:        2000000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 3A7BCDC53A1F02EF20C79CFCE107D38B
+Test: Encrypt
+Comment:    Set 1, vector 3
+Key:        1000000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 88A96052B61C5A621EE9A6316A42ED4A
+Test: Encrypt
+Comment:    Set 1, vector 4
+Key:        0800000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: CBD7A2D8354B2DA972A0950BDFFF2CBD
+Test: Encrypt
+Comment:    Set 1, vector 5
+Key:        0400000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 690BEB5FBEA12A4861E826F568E9F8F3
+Test: Encrypt
+Comment:    Set 1, vector 6
+Key:        0200000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 799A6FA3B78846E424F41370654ABD6F
+Test: Encrypt
+Comment:    Set 1, vector 7
+Key:        0100000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: DD7E24E12F391C5FEDE40136F8DE3731
+Test: Encrypt
+Comment:    Set 1, vector 8
+Key:        0080000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: F7412D526E9244574F9933F602595385
+Test: Encrypt
+Comment:    Set 1, vector 9
+Key:        0040000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: FD9D0174A83BEC3E7E1C3372CB5E7C9B
+Test: Encrypt
+Comment:    Set 1, vector 10
+Key:        0020000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: FCA62D360A7DFE54DB8D53819A407E71
+Test: Encrypt
+Comment:    Set 1, vector 11
+Key:        0010000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: AC821C68913DCE3E74A20DB8E902CC4C
+Test: Encrypt
+Comment:    Set 1, vector 12
+Key:        0008000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 80633F6CB8F10863E0A7FDE4C35D50E9
+Test: Encrypt
+Comment:    Set 1, vector 13
+Key:        0004000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: D417D1D94869EE2364FCE869C0C1114E
+Test: Encrypt
+Comment:    Set 1, vector 14
+Key:        0002000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 0FA96DCEA2ACB849490CD5A1488A2FD9
+Test: Encrypt
+Comment:    Set 1, vector 15
+Key:        0001000000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 3E99BCB51CAEB9147DCF8643771D1C83
+Test: Encrypt
+Comment:    Set 1, vector 16
+Key:        0000800000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 25EA413BBC3C2579D3F7CBFD9E378091
+Test: Encrypt
+Comment:    Set 1, vector 17
+Key:        0000400000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: C0433C1AD2E468FC679988CFBFCA5CD4
+Test: Encrypt
+Comment:    Set 1, vector 18
+Key:        0000200000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 05108B7D7C2871D9DE1F22232CF6966B
+Test: Encrypt
+Comment:    Set 1, vector 19
+Key:        0000100000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 8ABE085B75333946450F2D1D162E8650
+Test: Encrypt
+Comment:    Set 1, vector 20
+Key:        0000080000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 487A9C50152B44F5B009D8682EA1FD22
+Test: Encrypt
+Comment:    Set 1, vector 21
+Key:        0000040000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 739207A812F142B545798BA85170AF25
+Test: Encrypt
+Comment:    Set 1, vector 22
+Key:        0000020000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: E40B90A5840591FEC98A24B23E73892B
+Test: Encrypt
+Comment:    Set 1, vector 23
+Key:        0000010000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 0258BFB0DC942F6A9139D3C00EBBEB35
+Test: Encrypt
+Comment:    Set 1, vector 24
+Key:        0000008000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 650CD6035752320B8252F44AEEBEC9E4
+Test: Encrypt
+Comment:    Set 1, vector 25
+Key:        0000004000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: FABFFBB7028B53E0BB88E3E4462ACF0D
+Test: Encrypt
+Comment:    Set 1, vector 26
+Key:        0000002000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: C48D3416904896E2F2307EA26FB8CF1C
+Test: Encrypt
+Comment:    Set 1, vector 27
+Key:        0000001000000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 2237452352F488F1DA3F1619FC6A7F85
+Test: Encrypt
+Comment:    Set 1, vector 28
+Key:        0000000800000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: D3E6ECF4A3F70E672AABEE0C2ECA3960
+Test: Encrypt
+Comment:    Set 1, vector 29
+Key:        0000000400000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 7A3EFC8AC6A82E8AEF377D8D96D8E830
+Test: Encrypt
+Comment:    Set 1, vector 30
+Key:        0000000200000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 7278F0441F5AA34C0B7CDB076B453225
+Test: Encrypt
+Comment:    Set 1, vector 31
+Key:        0000000100000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 382E61EAC044E2151906F936CC9D33AE
+Test: Encrypt
+Comment:    Set 1, vector 32
+Key:        0000000080000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: C51147F4AD33C35647DF7E856C2965D4
+Test: Encrypt
+Comment:    Set 1, vector 33
+Key:        0000000040000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: DAFE261154ADF63EA3F75B1253A9F77C
+Test: Encrypt
+Comment:    Set 1, vector 34
+Key:        0000000020000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: B1A0B0E765C1D0379CA538ED0EFB9649
+Test: Encrypt
+Comment:    Set 1, vector 35
+Key:        0000000010000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 78F7D01D7795ACA0846CCE835E71FBC2
+Test: Encrypt
+Comment:    Set 1, vector 36
+Key:        0000000008000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: E001A545AC71F53D3AD99C84D7F5B062
+Test: Encrypt
+Comment:    Set 1, vector 37
+Key:        0000000004000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 58E3907C56BF5ADFDBAE61C172B8F488
+Test: Encrypt
+Comment:    Set 1, vector 38
+Key:        0000000002000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 16F77C9515B473167BD7ABA7C97B1CCA
+Test: Encrypt
+Comment:    Set 1, vector 39
+Key:        0000000001000000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 4BC9F687C7757CDF5A5E94D69E5EA173
+Test: Encrypt
+Comment:    Set 1, vector 40
+Key:        0000000000800000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 804261A34F26A87694F70C35F338989D
+Test: Encrypt
+Comment:    Set 1, vector 41
+Key:        0000000000400000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: E8D8BF002738D7067CD06437C4459365
+Test: Encrypt
+Comment:    Set 1, vector 42
+Key:        0000000000200000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: E131137F7EA2AEAB37F72AF3644FFCCE
+Test: Encrypt
+Comment:    Set 1, vector 43
+Key:        0000000000100000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 542A1FD5CB4BE8485FA83AA14FAAD4A8
+Test: Encrypt
+Comment:    Set 1, vector 44
+Key:        0000000000080000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: BEC6C8C1A9E5E7982A990B8F9BA0ADE3
+Test: Encrypt
+Comment:    Set 1, vector 45
+Key:        0000000000040000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: DE55BE1AA823A9F7474C65BD50D55095
+Test: Encrypt
+Comment:    Set 1, vector 46
+Key:        0000000000020000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: D67CC199AF361A07A0DBD8F6700A4744
+Test: Encrypt
+Comment:    Set 1, vector 47
+Key:        0000000000010000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: DBAD180017184EF80D398D8D22AAC4A1
+Test: Encrypt
+Comment:    Set 1, vector 48
+Key:        0000000000008000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 27E68691F10EEFD1B594682DC3EF65A5
+Test: Encrypt
+Comment:    Set 1, vector 49
+Key:        0000000000004000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: 6D4EF0587B948AD62B703D3D7CCEA229
+Test: Encrypt
+Comment:    Set 1, vector 50
+Key:        0000000000002000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: C0F443758F239E3A3E31E6F93AD4766B
+Test: Encrypt
+Comment:    Set 1, vector 51
+Key:        0000000000001000000000000000000000000000000000000000000000000000
+Plaintext:  00000000000000000000000000000000
+Ciphertext: BEB5CB1D8EB3A9EA795A4B43CA1567A9
+Test: Encrypt
+Comment:    Set 1, vector 52
+Key:        000000000000080000000